dungeon_utils
Module0xe07a…c5fa
- Move path
- 0x625d…9849::dungeon_utils
- Functions
- 1210 public, 0 entry
- Structs
- 0
- Friend modules
- None
dungeon_utils
Bytecode963 lines
The on-chain disassembly. Offsets are instruction numbers within each function.
// Move bytecode v6
module 625d518a3cc78899742d76cf785609cd707e15228d4284aa4fee5ca53caa9849.dungeon_utils {
use 625d518a3cc78899742d76cf785609cd707e15228d4284aa4fee5ca53caa9849::drand_lib;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::hex;
use 0000000000000000000000000000000000000000000000000000000000000002::hmac;
use 0000000000000000000000000000000000000000000000000000000000000002::math;
public u64_to_ascii(Arg0: u64): vector<u8> {
L1: loc0: vector<u8>
L2: loc1: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdU64(0)
2Eq
3BrFalse(6)
B1:
4LdConst[3](vector<u8>: "0" ..)
5Ret
B2:
6VecPack(13, 0)
7StLoc[1](loc0: vector<u8>)
B3:
8CopyLoc[0](Arg0: u64)
9LdU64(0)
10Gt
11BrFalse(28)
B4:
12Branch(13)
B5:
13CopyLoc[0](Arg0: u64)
14LdU64(10)
15Mod
16StLoc[2](loc1: u64)
17MoveLoc[0](Arg0: u64)
18LdU64(10)
19Div
20StLoc[0](Arg0: u64)
21MutBorrowLoc[1](loc0: vector<u8>)
22MoveLoc[2](loc1: u64)
23CastU8
24LdU8(48)
25Add
26VecPushBack(13)
27Branch(8)
B6:
28MutBorrowLoc[1](loc0: vector<u8>)
29Call vector::reverse<u8>(&mut vector<u8>)
30MoveLoc[1](loc0: vector<u8>)
31Ret
}
public calcRarity(Arg0: vector<u8>): String * u64 * u64 * String {
L1: loc0: vector<u64>
L2: loc1: vector<u64>
L3: loc2: vector<u64>
L4: loc3: vector<u64>
L5: loc4: u64
L6: loc5: u64
L7: loc6: u64
L8: loc7: u64
L9: loc8: u64
B0:
0LdU64(10000)
1ImmBorrowLoc[0](Arg0: vector<u8>)
2Call drand_lib::safe_selection(u64, &vector<u8>): u64
3StLoc[9](loc8: u64)
4LdConst[1](vector<u64>: 0470..)
5StLoc[1](loc0: vector<u64>)
6ImmBorrowLoc[1](loc0: vector<u64>)
7LdU64(0)
8VecImmBorrow(0)
9ReadRef
10StLoc[5](loc4: u64)
11LdConst[1](vector<u64>: 0470..)
12StLoc[2](loc1: vector<u64>)
13ImmBorrowLoc[2](loc1: vector<u64>)
14LdU64(1)
15VecImmBorrow(0)
16ReadRef
17StLoc[6](loc5: u64)
18LdConst[1](vector<u64>: 0470..)
19StLoc[3](loc2: vector<u64>)
20ImmBorrowLoc[3](loc2: vector<u64>)
21LdU64(2)
22VecImmBorrow(0)
23ReadRef
24StLoc[7](loc6: u64)
25LdConst[1](vector<u64>: 0470..)
26StLoc[4](loc3: vector<u64>)
27ImmBorrowLoc[4](loc3: vector<u64>)
28LdU64(3)
29VecImmBorrow(0)
30ReadRef
31StLoc[8](loc7: u64)
32CopyLoc[9](loc8: u64)
33MoveLoc[5](loc4: u64)
34Lt
35BrFalse(43)
B1:
36LdConst[4](vector<u8>: "N" ..)
37Call string::utf8(vector<u8>): String
38MoveLoc[9](loc8: u64)
39LdU64(0)
40LdConst[5](vector<u8>: "FFF..)
41Call string::utf8(vector<u8>): String
42Ret
B2:
43CopyLoc[9](loc8: u64)
44MoveLoc[6](loc5: u64)
45Lt
46BrFalse(54)
B3:
47LdConst[6](vector<u8>: "R" ..)
48Call string::utf8(vector<u8>): String
49MoveLoc[9](loc8: u64)
50LdU64(1)
51LdConst[7](vector<u8>: "1A7..)
52Call string::utf8(vector<u8>): String
53Ret
B4:
54CopyLoc[9](loc8: u64)
55MoveLoc[7](loc6: u64)
56Lt
57BrFalse(65)
B5:
58LdConst[8](vector<u8>: "SR"..)
59Call string::utf8(vector<u8>): String
60MoveLoc[9](loc8: u64)
61LdU64(2)
62LdConst[9](vector<u8>: "F28..)
63Call string::utf8(vector<u8>): String
64Ret
B6:
65CopyLoc[9](loc8: u64)
66MoveLoc[8](loc7: u64)
67Lt
68BrFalse(76)
B7:
69LdConst[10](vector<u8>: "SSR..)
70Call string::utf8(vector<u8>): String
71MoveLoc[9](loc8: u64)
72LdU64(3)
73LdConst[11](vector<u8>: "6CD..)
74Call string::utf8(vector<u8>): String
75Ret
B8:
76LdConst[12](vector<u8>: "UR"..)
77Call string::utf8(vector<u8>): String
78MoveLoc[9](loc8: u64)
79LdU64(4)
80LdConst[13](vector<u8>: "E50..)
81Call string::utf8(vector<u8>): String
82Ret
}
public pow(Arg0: u64, Arg1: u64): u256 {
L2: loc0: u256
L3: loc1: u256
L4: loc2: u64
B0:
0LdU256(1)
1StLoc[2](loc0: u256)
2MoveLoc[1](Arg1: u64)
3StLoc[4](loc2: u64)
4MoveLoc[0](Arg0: u64)
5CastU256
6StLoc[3](loc1: u256)
B1:
7CopyLoc[4](loc2: u64)
8LdU64(0)
9Gt
10BrFalse(33)
B2:
11Branch(12)
B3:
12CopyLoc[4](loc2: u64)
13LdU64(2)
14Mod
15LdU64(1)
16Eq
17BrFalse(23)
B4:
18CopyLoc[3](loc1: u256)
19MoveLoc[2](loc0: u256)
20Mul
21CastU256
22StLoc[2](loc0: u256)
B5:
23CopyLoc[3](loc1: u256)
24MoveLoc[3](loc1: u256)
25Mul
26CastU256
27StLoc[3](loc1: u256)
28MoveLoc[4](loc2: u64)
29LdU64(2)
30Div
31StLoc[4](loc2: u64)
32Branch(7)
B6:
33MoveLoc[2](loc0: u256)
34Ret
}
public getLevelUpFee(Arg0: u64): u64 {
L1: loc0: vector<u64>
B0:
0LdConst[2](vector<u64>: 1ed0..)
1StLoc[1](loc0: vector<u64>)
2ImmBorrowLoc[1](loc0: vector<u64>)
3MoveLoc[0](Arg0: u64)
4VecImmBorrow(0)
5ReadRef
6LdU64(10000)
7Mul
8Ret
}
public getCavesProfitInSec(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2Mul
3LdU64(100)
4Mul
5LdU64(36)
6Div
7Ret
}
public calcRating(Arg0: u64, Arg1: vector<u8>): u64 {
L2: loc0: vector<u8>
L3: loc1: &vector<u8>
L4: loc2: vector<u64>
L5: loc3: vector<u64>
L6: loc4: vector<u64>
L7: loc5: vector<u64>
L8: loc6: u64
L9: loc7: u64
L10: loc8: u64
L11: loc9: u64
L12: loc10: vector<u8>
B0:
0ImmBorrowLoc[1](Arg1: vector<u8>)
1StLoc[3](loc1: &vector<u8>)
2CopyLoc[0](Arg0: u64)
3Call u64_to_ascii(u64): vector<u8>
4StLoc[2](loc0: vector<u8>)
5MoveLoc[3](loc1: &vector<u8>)
6ImmBorrowLoc[2](loc0: vector<u8>)
7Call hmac::hmac_sha3_256(&vector<u8>, &vector<u8>): vector<u8>
8StLoc[12](loc10: vector<u8>)
9LdConst[1](vector<u64>: 0470..)
10StLoc[4](loc2: vector<u64>)
11ImmBorrowLoc[4](loc2: vector<u64>)
12LdU64(0)
13VecImmBorrow(0)
14ReadRef
15StLoc[8](loc6: u64)
16LdConst[1](vector<u64>: 0470..)
17StLoc[5](loc3: vector<u64>)
18ImmBorrowLoc[5](loc3: vector<u64>)
19LdU64(1)
20VecImmBorrow(0)
21ReadRef
22StLoc[9](loc7: u64)
23LdConst[1](vector<u64>: 0470..)
24StLoc[6](loc4: vector<u64>)
25ImmBorrowLoc[6](loc4: vector<u64>)
26LdU64(2)
27VecImmBorrow(0)
28ReadRef
29StLoc[10](loc8: u64)
30LdConst[1](vector<u64>: 0470..)
31StLoc[7](loc5: vector<u64>)
32ImmBorrowLoc[7](loc5: vector<u64>)
33LdU64(3)
34VecImmBorrow(0)
35ReadRef
36StLoc[11](loc9: u64)
37CopyLoc[0](Arg0: u64)
38MoveLoc[8](loc6: u64)
39Lt
40BrFalse(47)
B1:
41LdU64(1800)
42ImmBorrowLoc[12](loc10: vector<u8>)
43Call drand_lib::safe_selection(u64, &vector<u8>): u64
44LdU64(1000)
45Add
46Ret
B2:
47CopyLoc[0](Arg0: u64)
48MoveLoc[9](loc7: u64)
49Lt
50BrFalse(57)
B3:
51LdU64(1000)
52ImmBorrowLoc[12](loc10: vector<u8>)
53Call drand_lib::safe_selection(u64, &vector<u8>): u64
54LdU64(4000)
55Add
56Ret
B4:
57CopyLoc[0](Arg0: u64)
58MoveLoc[10](loc8: u64)
59Lt
60BrFalse(67)
B5:
61LdU64(1000)
62ImmBorrowLoc[12](loc10: vector<u8>)
63Call drand_lib::safe_selection(u64, &vector<u8>): u64
64LdU64(6000)
65Add
66Ret
B6:
67MoveLoc[0](Arg0: u64)
68MoveLoc[11](loc9: u64)
69Lt
70BrFalse(77)
B7:
71LdU64(500)
72ImmBorrowLoc[12](loc10: vector<u8>)
73Call drand_lib::safe_selection(u64, &vector<u8>): u64
74LdU64(8000)
75Add
76Ret
B8:
77LdU64(500)
78ImmBorrowLoc[12](loc10: vector<u8>)
79Call drand_lib::safe_selection(u64, &vector<u8>): u64
80LdU64(9500)
81Add
82Ret
}
public randomColor(Arg0: vector<u8>, Arg1: &vector<u8>): u64 {
L2: loc0: vector<u8>
B0:
0ImmBorrowLoc[0](Arg0: vector<u8>)
1MoveLoc[1](Arg1: &vector<u8>)
2Call hmac::hmac_sha3_256(&vector<u8>, &vector<u8>): vector<u8>
3StLoc[2](loc0: vector<u8>)
4LdU64(255)
5ImmBorrowLoc[2](loc0: vector<u8>)
6Call drand_lib::safe_selection(u64, &vector<u8>): u64
7Ret
}
public rgbToHex(Arg0: u64, Arg1: u64, Arg2: u64): String {
L3: loc0: vector<u8>
L4: loc1: vector<u8>
B0:
0VecPack(13, 0)
1StLoc[4](loc1: vector<u8>)
2VecPack(13, 0)
3StLoc[3](loc0: vector<u8>)
4MutBorrowLoc[3](loc0: vector<u8>)
5MoveLoc[0](Arg0: u64)
6CastU8
7VecPushBack(13)
8MutBorrowLoc[3](loc0: vector<u8>)
9MoveLoc[1](Arg1: u64)
10CastU8
11VecPushBack(13)
12MutBorrowLoc[3](loc0: vector<u8>)
13MoveLoc[2](Arg2: u64)
14CastU8
15VecPushBack(13)
16MutBorrowLoc[4](loc1: vector<u8>)
17MoveLoc[3](loc0: vector<u8>)
18Call vector::append<u8>(&mut vector<u8>, vector<u8>)
19MoveLoc[4](loc1: vector<u8>)
20Call hex::encode(vector<u8>): vector<u8>
21Call string::utf8(vector<u8>): String
22Ret
}
public makeRandomRGB(Arg0: vector<u8>, Arg1: vector<u8>, Arg2: vector<u8>): u64 {
L3: loc0: vector<u8>
B0:
0VecPack(13, 0)
1StLoc[3](loc0: vector<u8>)
2MutBorrowLoc[3](loc0: vector<u8>)
3MoveLoc[1](Arg1: vector<u8>)
4Call vector::append<u8>(&mut vector<u8>, vector<u8>)
5MutBorrowLoc[3](loc0: vector<u8>)
6MoveLoc[2](Arg2: vector<u8>)
7Call vector::append<u8>(&mut vector<u8>, vector<u8>)
8MoveLoc[0](Arg0: vector<u8>)
9ImmBorrowLoc[3](loc0: vector<u8>)
10Call randomColor(vector<u8>, &vector<u8>): u64
11Ret
}
normalizeRGBValueP(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Call math::max(u64, u64): u64
3MoveLoc[1](Arg1: u64)
4Sub
5LdU64(255)
6Call math::min(u64, u64): u64
7Ret
}
normalizeRGBValueN(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2Add
3LdU64(255)
4Call math::min(u64, u64): u64
5Ret
}
public genreataColor(Arg0: u64, Arg1: vector<u8>, Arg2: vector<u8>): String * String * String {
L3: loc0: u64
L4: loc1: u64
L5: loc2: u64
L6: loc3: u64
L7: loc4: u64
L8: loc5: String
L9: loc6: u64
L10: loc7: u64
L11: loc8: u64
L12: loc9: u64
L13: loc10: u64
L14: loc11: u64
L15: loc12: u64
L16: loc13: u64
L17: loc14: u64
L18: loc15: u64
B0:
0CopyLoc[1](Arg1: vector<u8>)
1CopyLoc[2](Arg2: vector<u8>)
2LdConst[14](vector<u8>: "r_m..)
3Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
4StLoc[14](loc11: u64)
5CopyLoc[1](Arg1: vector<u8>)
6CopyLoc[2](Arg2: vector<u8>)
7LdConst[15](vector<u8>: "g_m..)
8Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
9StLoc[9](loc6: u64)
10CopyLoc[1](Arg1: vector<u8>)
11CopyLoc[2](Arg2: vector<u8>)
12LdConst[16](vector<u8>: "b_m..)
13Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
14StLoc[3](loc0: u64)
15LdU64(255)
16CopyLoc[14](loc11: u64)
17Sub
18LdU64(255)
19CopyLoc[9](loc6: u64)
20Sub
21LdU64(255)
22CopyLoc[3](loc0: u64)
23Sub
24Call rgbToHex(u64, u64, u64): String
25StLoc[8](loc5: String)
26CopyLoc[0](Arg0: u64)
27LdU64(0)
28Eq
29BrFalse(46)
B1:
30CopyLoc[14](loc11: u64)
31CopyLoc[9](loc6: u64)
32CopyLoc[3](loc0: u64)
33Call rgbToHex(u64, u64, u64): String
34MoveLoc[14](loc11: u64)
35LdU64(47)
36Call normalizeRGBValueP(u64, u64): u64
37MoveLoc[9](loc6: u64)
38LdU64(33)
39Call normalizeRGBValueP(u64, u64): u64
40MoveLoc[3](loc0: u64)
41LdU64(27)
42Call normalizeRGBValueP(u64, u64): u64
43Call rgbToHex(u64, u64, u64): String
44MoveLoc[8](loc5: String)
45Ret
B2:
46CopyLoc[0](Arg0: u64)
47LdU64(1)
48Eq
49BrFalse(75)
B3:
50CopyLoc[1](Arg1: vector<u8>)
51CopyLoc[2](Arg2: vector<u8>)
52LdConst[17](vector<u8>: "r_s..)
53Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
54StLoc[15](loc12: u64)
55CopyLoc[1](Arg1: vector<u8>)
56CopyLoc[2](Arg2: vector<u8>)
57LdConst[18](vector<u8>: "g_s..)
58Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
59StLoc[10](loc7: u64)
60MoveLoc[1](Arg1: vector<u8>)
61MoveLoc[2](Arg2: vector<u8>)
62LdConst[19](vector<u8>: "b_s..)
63Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
64StLoc[4](loc1: u64)
65MoveLoc[14](loc11: u64)
66MoveLoc[9](loc6: u64)
67MoveLoc[3](loc0: u64)
68Call rgbToHex(u64, u64, u64): String
69MoveLoc[15](loc12: u64)
70MoveLoc[10](loc7: u64)
71MoveLoc[4](loc1: u64)
72Call rgbToHex(u64, u64, u64): String
73MoveLoc[8](loc5: String)
74Ret
B4:
75CopyLoc[0](Arg0: u64)
76LdU64(2)
77Eq
78BrFalse(104)
B5:
79CopyLoc[1](Arg1: vector<u8>)
80CopyLoc[2](Arg2: vector<u8>)
81LdConst[17](vector<u8>: "r_s..)
82Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
83StLoc[16](loc13: u64)
84CopyLoc[1](Arg1: vector<u8>)
85CopyLoc[2](Arg2: vector<u8>)
86LdConst[18](vector<u8>: "g_s..)
87Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
88StLoc[11](loc8: u64)
89MoveLoc[1](Arg1: vector<u8>)
90MoveLoc[2](Arg2: vector<u8>)
91LdConst[19](vector<u8>: "b_s..)
92Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
93StLoc[5](loc2: u64)
94MoveLoc[14](loc11: u64)
95MoveLoc[9](loc6: u64)
96MoveLoc[3](loc0: u64)
97Call rgbToHex(u64, u64, u64): String
98MoveLoc[16](loc13: u64)
99MoveLoc[11](loc8: u64)
100MoveLoc[5](loc2: u64)
101Call rgbToHex(u64, u64, u64): String
102MoveLoc[8](loc5: String)
103Ret
B6:
104CopyLoc[0](Arg0: u64)
105LdU64(3)
106Eq
107BrFalse(124)
B7:
108CopyLoc[14](loc11: u64)
109CopyLoc[9](loc6: u64)
110CopyLoc[3](loc0: u64)
111Call rgbToHex(u64, u64, u64): String
112MoveLoc[14](loc11: u64)
113LdU64(26)
114Call normalizeRGBValueP(u64, u64): u64
115MoveLoc[9](loc6: u64)
116LdU64(14)
117Call normalizeRGBValueP(u64, u64): u64
118MoveLoc[3](loc0: u64)
119LdU64(10)
120Call normalizeRGBValueP(u64, u64): u64
121Call rgbToHex(u64, u64, u64): String
122MoveLoc[8](loc5: String)
123Ret
B8:
124CopyLoc[0](Arg0: u64)
125LdU64(4)
126Eq
127BrFalse(144)
B9:
128CopyLoc[14](loc11: u64)
129CopyLoc[9](loc6: u64)
130CopyLoc[3](loc0: u64)
131Call rgbToHex(u64, u64, u64): String
132MoveLoc[14](loc11: u64)
133LdU64(28)
134Call normalizeRGBValueN(u64, u64): u64
135MoveLoc[9](loc6: u64)
136LdU64(38)
137Call normalizeRGBValueN(u64, u64): u64
138MoveLoc[3](loc0: u64)
139LdU64(75)
140Call normalizeRGBValueN(u64, u64): u64
141Call rgbToHex(u64, u64, u64): String
142MoveLoc[8](loc5: String)
143Ret
B10:
144CopyLoc[0](Arg0: u64)
145LdU64(5)
146Eq
147BrFalse(164)
B11:
148CopyLoc[14](loc11: u64)
149CopyLoc[9](loc6: u64)
150CopyLoc[3](loc0: u64)
151Call rgbToHex(u64, u64, u64): String
152MoveLoc[14](loc11: u64)
153LdU64(10)
154Call normalizeRGBValueN(u64, u64): u64
155MoveLoc[9](loc6: u64)
156LdU64(24)
157Call normalizeRGBValueP(u64, u64): u64
158MoveLoc[3](loc0: u64)
159LdU64(49)
160Call normalizeRGBValueP(u64, u64): u64
161Call rgbToHex(u64, u64, u64): String
162MoveLoc[8](loc5: String)
163Ret
B12:
164CopyLoc[0](Arg0: u64)
165LdU64(6)
166Eq
167BrFalse(184)
B13:
168CopyLoc[14](loc11: u64)
169CopyLoc[9](loc6: u64)
170CopyLoc[3](loc0: u64)
171Call rgbToHex(u64, u64, u64): String
172MoveLoc[14](loc11: u64)
173LdU64(47)
174Call normalizeRGBValueP(u64, u64): u64
175MoveLoc[9](loc6: u64)
176LdU64(33)
177Call normalizeRGBValueP(u64, u64): u64
178MoveLoc[3](loc0: u64)
179LdU64(27)
180Call normalizeRGBValueP(u64, u64): u64
181Call rgbToHex(u64, u64, u64): String
182MoveLoc[8](loc5: String)
183Ret
B14:
184CopyLoc[0](Arg0: u64)
185LdU64(7)
186Eq
187BrFalse(204)
B15:
188CopyLoc[14](loc11: u64)
189CopyLoc[9](loc6: u64)
190CopyLoc[3](loc0: u64)
191Call rgbToHex(u64, u64, u64): String
192MoveLoc[14](loc11: u64)
193LdU64(25)
194Call normalizeRGBValueN(u64, u64): u64
195MoveLoc[9](loc6: u64)
196LdU64(45)
197Call normalizeRGBValueN(u64, u64): u64
198MoveLoc[3](loc0: u64)
199LdU64(45)
200Call normalizeRGBValueN(u64, u64): u64
201Call rgbToHex(u64, u64, u64): String
202MoveLoc[8](loc5: String)
203Ret
B16:
204CopyLoc[0](Arg0: u64)
205LdU64(8)
206Eq
207BrFalse(224)
B17:
208CopyLoc[14](loc11: u64)
209CopyLoc[9](loc6: u64)
210CopyLoc[3](loc0: u64)
211Call rgbToHex(u64, u64, u64): String
212MoveLoc[14](loc11: u64)
213LdU64(28)
214Call normalizeRGBValueN(u64, u64): u64
215MoveLoc[9](loc6: u64)
216LdU64(125)
217Call normalizeRGBValueN(u64, u64): u64
218MoveLoc[3](loc0: u64)
219LdU64(84)
220Call normalizeRGBValueN(u64, u64): u64
221Call rgbToHex(u64, u64, u64): String
222MoveLoc[8](loc5: String)
223Ret
B18:
224CopyLoc[0](Arg0: u64)
225LdU64(9)
226Eq
227BrFalse(244)
B19:
228CopyLoc[14](loc11: u64)
229CopyLoc[9](loc6: u64)
230CopyLoc[3](loc0: u64)
231Call rgbToHex(u64, u64, u64): String
232MoveLoc[14](loc11: u64)
233LdU64(41)
234Call normalizeRGBValueP(u64, u64): u64
235MoveLoc[9](loc6: u64)
236LdU64(42)
237Call normalizeRGBValueP(u64, u64): u64
238MoveLoc[3](loc0: u64)
239LdU64(9)
240Call normalizeRGBValueP(u64, u64): u64
241Call rgbToHex(u64, u64, u64): String
242MoveLoc[8](loc5: String)
243Ret
B20:
244CopyLoc[0](Arg0: u64)
245LdU64(10)
246Eq
247BrFalse(264)
B21:
248CopyLoc[14](loc11: u64)
249CopyLoc[9](loc6: u64)
250CopyLoc[3](loc0: u64)
251Call rgbToHex(u64, u64, u64): String
252MoveLoc[14](loc11: u64)
253LdU64(42)
254Call normalizeRGBValueP(u64, u64): u64
255MoveLoc[9](loc6: u64)
256LdU64(56)
257Call normalizeRGBValueP(u64, u64): u64
258MoveLoc[3](loc0: u64)
259LdU64(68)
260Call normalizeRGBValueP(u64, u64): u64
261Call rgbToHex(u64, u64, u64): String
262MoveLoc[8](loc5: String)
263Ret
B22:
264CopyLoc[0](Arg0: u64)
265LdU64(11)
266Eq
267BrFalse(293)
B23:
268CopyLoc[1](Arg1: vector<u8>)
269CopyLoc[2](Arg2: vector<u8>)
270LdConst[17](vector<u8>: "r_s..)
271Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
272StLoc[17](loc14: u64)
273CopyLoc[1](Arg1: vector<u8>)
274CopyLoc[2](Arg2: vector<u8>)
275LdConst[18](vector<u8>: "g_s..)
276Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
277StLoc[12](loc9: u64)
278MoveLoc[1](Arg1: vector<u8>)
279MoveLoc[2](Arg2: vector<u8>)
280LdConst[19](vector<u8>: "b_s..)
281Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
282StLoc[6](loc3: u64)
283MoveLoc[14](loc11: u64)
284MoveLoc[9](loc6: u64)
285MoveLoc[3](loc0: u64)
286Call rgbToHex(u64, u64, u64): String
287MoveLoc[17](loc14: u64)
288MoveLoc[12](loc9: u64)
289MoveLoc[6](loc3: u64)
290Call rgbToHex(u64, u64, u64): String
291MoveLoc[8](loc5: String)
292Ret
B24:
293CopyLoc[0](Arg0: u64)
294LdU64(12)
295Eq
296BrFalse(313)
B25:
297CopyLoc[14](loc11: u64)
298CopyLoc[9](loc6: u64)
299CopyLoc[3](loc0: u64)
300Call rgbToHex(u64, u64, u64): String
301MoveLoc[14](loc11: u64)
302LdU64(12)
303Call normalizeRGBValueP(u64, u64): u64
304MoveLoc[9](loc6: u64)
305LdU64(50)
306Call normalizeRGBValueP(u64, u64): u64
307MoveLoc[3](loc0: u64)
308LdU64(3)
309Call normalizeRGBValueN(u64, u64): u64
310Call rgbToHex(u64, u64, u64): String
311MoveLoc[8](loc5: String)
312Ret
B26:
313CopyLoc[0](Arg0: u64)
314LdU64(13)
315Eq
316BrFalse(333)
B27:
317CopyLoc[14](loc11: u64)
318CopyLoc[9](loc6: u64)
319CopyLoc[3](loc0: u64)
320Call rgbToHex(u64, u64, u64): String
321MoveLoc[14](loc11: u64)
322LdU64(42)
323Call normalizeRGBValueP(u64, u64): u64
324MoveLoc[9](loc6: u64)
325LdU64(56)
326Call normalizeRGBValueP(u64, u64): u64
327MoveLoc[3](loc0: u64)
328LdU64(68)
329Call normalizeRGBValueP(u64, u64): u64
330Call rgbToHex(u64, u64, u64): String
331MoveLoc[8](loc5: String)
332Ret
B28:
333MoveLoc[0](Arg0: u64)
334LdU64(14)
335Eq
336BrFalse(353)
B29:
337CopyLoc[14](loc11: u64)
338CopyLoc[9](loc6: u64)
339CopyLoc[3](loc0: u64)
340Call rgbToHex(u64, u64, u64): String
341MoveLoc[14](loc11: u64)
342LdU64(136)
343Call normalizeRGBValueN(u64, u64): u64
344MoveLoc[9](loc6: u64)
345LdU64(24)
346Call normalizeRGBValueN(u64, u64): u64
347MoveLoc[3](loc0: u64)
348LdU64(98)
349Call normalizeRGBValueN(u64, u64): u64
350Call rgbToHex(u64, u64, u64): String
351MoveLoc[8](loc5: String)
352Ret
B30:
353CopyLoc[1](Arg1: vector<u8>)
354CopyLoc[2](Arg2: vector<u8>)
355LdConst[17](vector<u8>: "r_s..)
356Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
357StLoc[18](loc15: u64)
358CopyLoc[1](Arg1: vector<u8>)
359CopyLoc[2](Arg2: vector<u8>)
360LdConst[18](vector<u8>: "g_s..)
361Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
362StLoc[13](loc10: u64)
363MoveLoc[1](Arg1: vector<u8>)
364MoveLoc[2](Arg2: vector<u8>)
365LdConst[19](vector<u8>: "b_s..)
366Call makeRandomRGB(vector<u8>, vector<u8>, vector<u8>): u64
367StLoc[7](loc4: u64)
368MoveLoc[14](loc11: u64)
369MoveLoc[9](loc6: u64)
370MoveLoc[3](loc0: u64)
371Call rgbToHex(u64, u64, u64): String
372MoveLoc[18](loc15: u64)
373MoveLoc[13](loc10: u64)
374MoveLoc[7](loc4: u64)
375Call rgbToHex(u64, u64, u64): String
376MoveLoc[8](loc5: String)
377Ret
}
calc_power(Arg0: u64, Arg1: u64, Arg2: u64): u64 {
L3: loc0: u64
L4: loc1: u64
L5: loc2: u64
B0:
0CopyLoc[1](Arg1: u64)
1LdU64(0)
2Eq
3BrFalse(6)
B1:
4MoveLoc[2](Arg2: u64)
5Ret
B2:
6CopyLoc[0](Arg0: u64)
7LdU64(0)
8Eq
9BrFalse(12)
B3:
10LdU64(0)
11Ret
B4:
12CopyLoc[2](Arg2: u64)
13StLoc[5](loc2: u64)
14MoveLoc[0](Arg0: u64)
15StLoc[3](loc0: u64)
16MoveLoc[1](Arg1: u64)
17StLoc[4](loc1: u64)
B5:
18CopyLoc[4](loc1: u64)
19LdU64(0)
20Gt
21BrFalse(55)
B6:
22Branch(23)
B7:
23CopyLoc[4](loc1: u64)
24LdU64(2)
25Mod
26LdU64(1)
27Eq
28BrFalse(44)
B8:
29CopyLoc[5](loc2: u64)
30LdU64(18446744073709551615)
31CopyLoc[3](loc0: u64)
32Div
33Le
34BrFalse(36)
B9:
35Branch(38)
B10:
36LdU64(0)
37Abort
B11:
38MoveLoc[5](loc2: u64)
39CopyLoc[3](loc0: u64)
40Mul
41CopyLoc[2](Arg2: u64)
42Div
43StLoc[5](loc2: u64)
B12:
44CopyLoc[3](loc0: u64)
45MoveLoc[3](loc0: u64)
46Mul
47CopyLoc[2](Arg2: u64)
48Div
49StLoc[3](loc0: u64)
50MoveLoc[4](loc1: u64)
51LdU64(2)
52Div
53StLoc[4](loc1: u64)
54Branch(18)
B13:
55MoveLoc[5](loc2: u64)
56Ret
}
public calc_gem_upgrade_rating(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
B0:
0LdU64(2)
1MoveLoc[1](Arg1: u64)
2LdU64(1)
3Add
4Mul
5StLoc[2](loc0: u64)
6MoveLoc[0](Arg0: u64)
7MoveLoc[2](loc0: u64)
8LdConst[0](u64: 1000..)
9Call calc_power(u64, u64, u64): u64
10Ret
}
Constants [
0 => u64: 1000000
1 => vector<u64>: 04701700000000000028230000000000002a26000000000000f226000000000000
2 => vector<u64>: 1ed0dd060000000000706a070000000000500208000000000056a60800000000007c57090000000000ce160a00000000006de50a000000000095c40b000000000097b50c0000000000e0b90d0000000000fcd20e00000000009602100000000000794a11000000000097ac120000000000092b14000000000014c81500000000002a86170000000000f06719000000000041701b000000000031a21d0000000000170120000000000089902200000000006b54250000000000ef502800000000009b8a2b000000000056062f000000000067c932000000000084d9360000000000d63c3b000000000006fa3f0000000000
3 => vector<u8>: "0" // interpreted as UTF8 string
4 => vector<u8>: "N" // interpreted as UTF8 string
5 => vector<u8>: "FFFFFF" // interpreted as UTF8 string
6 => vector<u8>: "R" // interpreted as UTF8 string
7 => vector<u8>: "1A73E8" // interpreted as UTF8 string
8 => vector<u8>: "SR" // interpreted as UTF8 string
9 => vector<u8>: "F28800" // interpreted as UTF8 string
10 => vector<u8>: "SSR" // interpreted as UTF8 string
11 => vector<u8>: "6CD206" // interpreted as UTF8 string
12 => vector<u8>: "UR" // interpreted as UTF8 string
13 => vector<u8>: "E50C0C" // interpreted as UTF8 string
14 => vector<u8>: "r_m" // interpreted as UTF8 string
15 => vector<u8>: "g_m" // interpreted as UTF8 string
16 => vector<u8>: "b_m" // interpreted as UTF8 string
17 => vector<u8>: "r_s" // interpreted as UTF8 string
18 => vector<u8>: "g_s" // interpreted as UTF8 string
19 => vector<u8>: "b_s" // interpreted as UTF8 string
]
}