Function at 0x465d10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, byte [esp + 0x10]
sub esp, 0x4c
test al, al
push ebx
mov ebx, dword [esp + 0x54]
push ebp
mov ebp, dword [esp + 0x5c]
push esi
push edi
jne 0x465e8f
xor edi, edi
lea ecx, [ecx]
movsx eax, word [edi*8 + 0x727620]
cmp dword [ebx], eax
jne 0x465e85
movsx ecx, word [edi*8 + 0x727622]
cmp dword [ebp], ecx
jne 0x465e85
push edi
push str._MAPLEGEND
mov esi, 0x8ebf58
call fcn.004f7660
mov ecx, dword [0x816308]
mov esi, dword [ebp]
mov eax, 0x10624dd3
imul esi, esi, 0x3e8
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x816304]
mov ecx, eax
mov eax, 0x10624dd3
imul edx
sub ecx, esi
mov esi, dword [ebx]
imul esi, esi, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 8
sub eax, esi
jns 0x465dad
neg eax
test ecx, ecx
jge 0x465db3
neg ecx
cmp eax, ecx
jle 0x465dbc
lea eax, [ecx + eax*2]
jmp 0x465dbf
lea eax, [eax + ecx*2]
cdq
sub eax, edx
sar eax, 1
cmp eax, 0x2710
jg 0x465e85
add eax, 0xffffdcd8
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fmul dword [0x715610]
fld dword [0x715554]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x465df9
fstp st(0)
fld dword [0x715554]
fmul dword [0x7158c8]
mov ecx, dword [0x8cbdd8]
push 0
mov dword [ecx + 0x10], 0x40200000
fsubr dword [0x7158c8]
push 0xc
call fcn.005f275c
movsx edx, word [edi*8 + 0x727626]
mov esi, eax
movsx eax, word [edi*8 + 0x727624]
mov dword [esp + 0x6c], eax
push edx
shl esi, 0x18
fild dword [esp + 0x70]
push 0
or esi, 0xffffff
push 0
fmul qword [0x715680]
call fcn.005f275c
mov ecx, dword [ebp]
mov edx, dword [ebx]
imul ecx, ecx, 0x3e8
imul edx, edx, 0x3e8
push eax
sub ecx, 0x29a
push 0xfffffffffffffff6
push ecx
push edx
mov eax, esi
mov ecx, 0x86bb48
call fcn.004af0b0
mov eax, dword [0x8cbdd8]
add esp, 0x24
mov dword [eax + 0x10], 0x3f800000
inc edi
cmp edi, 0xb
jb 0x465d30
mov eax, dword [ebx]
mov esi, dword [ebp]
mov ecx, eax
imul ecx, ecx, 0x125
mov dl, byte [ecx + esi + 0x770f10]
add ecx, esi
cmp dl, 0x11
jne 0x466109
mov dl, byte [0x85c164]
test dl, dl
jns 0x466109
cmp word [ecx*2 + 0x7d4168], 0xffff
je 0x465ed5
mov edx, dword [0x85c154]
lea ecx, [eax + edx]
test cl, 0x1f
jne 0x465f24
mov edi, dword [0x72ed78]
imul esi, esi, 0x3e8
imul eax, eax, 0x3e8
mov dword [esp + 0x64], esi
push 1
sub esp, 8
fild dword [esp + 0x70]
mov dword [esp + 0x2c], eax
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov edx, dword [ebx]
mov ecx, dword [ebp]
imul edx, edx, 0x125
add edx, ecx
mov word [edx*2 + 0x7d4168], ax
xor esi, esi
mov eax, dword [ebx]
mov edi, esi
imul edi, edi, 0x148
cmp dword [edi + 0x85c270], eax
mov dword [esp + 0x64], edi
jne 0x4660ff
mov ecx, dword [ebp]
cmp dword [edi + 0x85c2b0], ecx
jne 0x4660ff
mov edx, eax
imul eax, eax, 0x3e8
imul edx, edx, 0x125
push 0
push 0xffffffffffffffff
add edx, ecx
imul ecx, ecx, 0x3e8
cmp esi, 3
movsx edx, word [edx*2 + 0x7d4168]
push 0
push 0
push 0
push edx
push ecx
jne 0x465f99
sub eax, 0xfa
push eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
push 0x8deec0
call fcn.004bc2e0
jmp 0x465ff8
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx]
push eax
lea eax, [esi + esi*2]
shl eax, 6
add eax, 0x8dec80
push eax
call fcn.004bc2e0
test esi, esi
mov edi, eax
jne 0x465ff4
mov edx, dword [ebx]
cmp edx, dword [0x878cfc]
jne 0x465fdc
mov eax, dword [ebp]
cmp eax, dword [0x878cf8]
jne 0x465fdc
mov eax, dword [0x85c380]
test eax, eax
js 0x465fdc
mov al, 1
jmp 0x465fde
xor al, al
mov ecx, dword [0x8ca494]
xor edx, edx
test al, al
setne dl
push ecx
mov ecx, edi
push edx
call fcn.004bc4e0
mov edi, dword [esp + 0x64]
mov eax, dword [ebx]
cmp eax, dword [0x878cfc]
jne 0x46601a
mov ecx, dword [ebp]
cmp ecx, dword [0x878cf8]
jne 0x46601a
mov eax, dword [0x8bb97c]
test eax, eax
jne 0x4660a4
cmp esi, 3
jne 0x4660dc
mov eax, dword [0x85c688]
mov ecx, dword [0x85c7d0]
imul eax, eax, 0x3e8
mov dword [esp + 0x64], eax
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [esp + 0x64]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x85c7b0]
mov dword [esp + 0x64], eax
mov eax, dword [0x85c648]
imul eax, eax, 0x3e8
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov eax, 0x10624dd3
imul ecx
mov eax, dword [esp + 0x64]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esp, 0x10
sub ecx, eax
mov dword [esp + 0x74], ecx
fstp qword [esp + 8]
fild dword [esp + 0x74]
fstp qword [esp]
call fcn.00449360
add esp, 0x10
cmp eax, 0x1f4
jge 0x4660dc
mov eax, dword [edi + 0x85c380]
test eax, eax
js 0x4660dc
mov ecx, dword [0x85c164]
or ecx, 0x1000
test esi, esi
mov dword [0x85c164], ecx
je 0x4660ff
cmp dword [0x8bb978], 0x1f4
jge 0x4660ff
mov dword [0x8bb978], 0x1f3
jmp 0x4660ff
mov edx, dword [0x878cfc]
cmp dword [ebx], edx
jne 0x4660f0
mov eax, dword [0x878cf8]
cmp dword [ebp], eax
je 0x4660ff
mov eax, dword [0x8bb978]
test eax, eax
jle 0x4660ff
dec eax
mov dword [0x8bb978], eax
inc esi
cmp esi, 4
jl 0x465f26
mov ecx, dword [ebx]
mov esi, dword [ebp]
mov edx, ecx
imul edx, edx, 0x21
mov eax, esi
imul eax, eax, 0x2f
add eax, edx
cdq
mov edi, 0x3e8
idiv edi
mov eax, ecx
imul ecx, ecx, 0x125
imul eax, eax, 0x3e8
mov dword [esp + 0x64], eax
add ecx, esi
movsx eax, word [ecx*2 + 0x7d4168]
fild dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov edx, esi
fstp dword [esp + 0x2c]
imul edx, edx, 0x3e8
mov dword [esp + 0x64], edx
add eax, 0xfa
lea ecx, [esp + 0x18]
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
push ecx
mov ecx, dword [0x8ebfd8]
fstp dword [esp + 0x34]
lea edx, [esp + 0x2c]
fild dword [esp + 0x68]
push edx
lea eax, [esp + 0x34]
push eax
fstp dword [esp + 0x40]
call fcn.00537240
mov eax, dword [ebx]
mov esi, dword [ebp]
fld dword [0x70deb0]
fsub dword [esp + 0x18]
mov ecx, dword [0x85c164]
mov dword [esp + 0x14], eax
imul eax, eax, 0x125
fstp dword [esp + 0x18]
lea edi, [eax + esi]
movsx eax, byte [edi + 0x770f10]
test eax, eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x64], eax
jne 0x466288
cmp byte [edi + 0x7b30a0], 5
jle 0x466288
test cl, cl
jns 0x466288
mov eax, dword [0x85c158]
test eax, eax
je 0x466288
mov edx, dword [0x85c270]
test edx, edx
jle 0x466228
mov eax, esi
sub eax, dword [0x85c2b0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
sub eax, edx
jns 0x466208
neg eax
mov edx, dword [esp + 0x24]
test edx, edx
jge 0x466212
neg edx
cmp eax, edx
jle 0x46621b
lea eax, [edx + eax*2]
jmp 0x46621e
lea eax, [eax + edx*2]
cdq
sub eax, edx
sar eax, 1
cmp eax, 8
jle 0x466288
mov eax, dword [esp + 0x14]
lea edx, [esi + esi*2]
lea eax, [edx + eax*2]
cdq
mov edi, 5
idiv edi
test edx, edx
jne 0x466284
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x14]
mov edx, esi
imul edx, edx, 7
add eax, edx
cdq
mov edi, 9
idiv edi
mov edi, dword [esp + 0x1c]
mov al, byte [edi + 0x7b30a0]
add edx, 0x13
cmp al, 9
mov dword [esp + 0x64], edx
jge 0x466288
mov eax, edx
cmp eax, 0x16
jne 0x466288
mov eax, esi
and al, 1
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x19
mov dword [esp + 0x64], eax
jmp 0x466288
mov edi, dword [esp + 0x1c]
and byte [edi + 0x74fe48], 0xfd
mov esi, dword [ebx]
mov eax, dword [ebp]
mov edx, esi
imul edx, edx, 0x125
cmp byte [edx + eax + 0x72ed80], 3
mov dword [esp + 0x1c], eax
jne 0x4664c0
mov edx, dword [0x85df74]
lea edx, [esi + edx*2]
lea eax, [eax + eax*2]
lea eax, [eax + edx*2]
cdq
mov edi, 0x11
idiv edi
test edx, edx
jne 0x4664c0
mov edx, dword [esp + 0x1c]
lea eax, [edx + esi*2]
add eax, esi
cdq
mov edi, 6
idiv edi
mov eax, dword [0x85c158]
inc eax
cmp edx, eax
jg 0x4664c0
mov edx, dword [0x8ca494]
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
push edx
mov dl, byte [0x8bb990]
lea edi, [esi*4]
xor ebx, ebx
not edi
and edi, 4
test dl, dl
setne bl
and ecx, 0x10000000
cdq
push 0xffffffffffffffff
push 0
push 0
add ebx, 2
idiv ebx
mov edx, 0xfffffffe
sub edx, edi
shl edx, 0x1d
neg ecx
sbb ecx, ecx
add ecx, 2
push edx
neg ecx
shl ecx, 5
push ecx
mov ecx, dword [esp + 0x34]
imul ecx, ecx, 0x3e8
push ecx
mov ecx, esi
imul ecx, ecx, 0x3e8
and esi, 2
shl esi, 2
or esi, 0x15
lea edx, [esi + esi*2]
shl edx, 6
add edx, 0x8de980
push ecx
push edx
mov edx, eax
call fcn.004bc2e0
mov eax, dword [ebp]
mov esi, dword [esp + 0x60]
mov ebx, dword [esi]
push eax
mov eax, 0x8162f8
call fcn.004a3ba0
mov eax, dword [edi*4 + 0x7272f0]
add esp, 4
test eax, eax
jne 0x466461
mov edi, dword [ebp]
mov ecx, esi
mov esi, dword [ecx]
lea edx, [edi + esi]
mov eax, edi
push 0
test dl, 1
mov ecx, 3
push 0xffffffffffffffff
cdq
je 0x4663f8
idiv ecx
xor ecx, ecx
mov ebx, edi
push 0
mov eax, edx
mov edx, dword [esp + 0x74]
add eax, 2
imul eax, dword [edx]
mov dl, byte [0x8bb990]
test dl, dl
setne cl
cdq
and bl, 1
lea ecx, [ecx + ecx + 3]
idiv ecx
neg bl
sbb ebx, ebx
and ebx, 4
add ebx, 0xfffffffe
mov ecx, eax
mov eax, 0x15555555
cdq
idiv ebx
mov edx, esi
shl edx, 0x1d
push eax
push edx
push 0xffffffffffffffe2
mov edx, ecx
jmp 0x46643f
idiv ecx
xor ecx, ecx
mov eax, edx
mov edx, dword [esp + 0x70]
add eax, 2
imul eax, dword [edx]
mov dl, byte [0x8bb990]
test dl, dl
setne cl
cdq
lea ecx, [ecx + ecx + 3]
idiv ecx
mov ecx, dword [0x85c154]
imul ecx, ecx, 0x16c16c1
mov ebx, eax
mov eax, 0x15555555
call fcn.004dcac0
push eax
mov edx, esi
push 0
shl edx, 0x1d
push edx
push 0xffffffffffffffd8
mov edx, ebx
imul esi, esi, 0x3e8
imul edi, edi, 0x3e8
push edi
sub esi, 0xc8
push esi
push 0x8e0000
call fcn.004bc2e0
mov esi, dword [esp + 0x60]
mov eax, dword [esi]
mov ecx, dword [ebp]
imul eax, eax, 0x125
lea eax, [eax + ecx + 0x74fe48]
or byte [eax], 2
mov ecx, dword [0x85c164]
test cl, 4
jne 0x4664bc
mov al, byte [0x8bb990]
test al, al
jne 0x4664a7
mov edx, dword [ebp]
mov eax, dword [esi]
push 1
push 0x7d0
push 0x3e8
push edx
push eax
call fcn.00465aa0
add esp, 0x14
jmp 0x4664b6
mov ecx, dword [ebp]
mov edx, dword [esi]
push ecx
push edx
call fcn.00478370
add esp, 8
mov ecx, dword [0x85c164]
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
test eax, eax
jle 0x4664ea
test cl, cl
jns 0x4664ea
mov edi, dword [esp + 0x68]
mov ecx, dword [edi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi], eax
mov ecx, dword [0x85c164]
jmp 0x4664ee
mov edi, dword [esp + 0x68]
mov esi, dword [ebx]
cmp esi, dword [0x85c274]
mov dword [esp + 0x60], 0
jne 0x46651e
mov edx, dword [ebp]
cmp edx, dword [0x85c2b4]
jne 0x46651e
mov edx, dword [0x85c158]
mov eax, 1
cmp edx, eax
jg 0x46651e
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
cmp eax, 0xb
ja case.0x46652e.17
jmp dword [eax*4 + 0x466e24]
mov edi, dword [ebp]
mov ecx, 0x63
xor eax, eax
nop
mov edx, dword [eax + 0x7272f0]
add edx, esi
imul edx, edx, 0x125
sub edx, dword [eax + 0x727350]
movsx edx, byte [edx + edi + 0x7b30a0]
cmp edx, ecx
jge 0x466562
mov ecx, edx
mov edx, dword [eax + 0x7272f4]
add edx, esi
imul edx, edx, 0x125
sub edx, dword [eax + 0x727354]
movsx edx, byte [edx + edi + 0x7b30a0]
cmp edx, ecx
jge 0x466584
mov ecx, edx
mov edx, dword [eax + 0x7272f8]
add edx, esi
imul edx, edx, 0x125
sub edx, dword [eax + 0x727358]
movsx edx, byte [edx + edi + 0x7b30a0]
cmp edx, ecx
jge 0x4665a6
mov ecx, edx
mov edx, dword [eax + 0x7272fc]
add edx, esi
imul edx, edx, 0x125
sub edx, dword [eax + 0x72735c]
movsx edx, byte [edx + edi + 0x7b30a0]
cmp edx, ecx
jge 0x4665c8
mov ecx, edx
add eax, 0x10
cmp eax, 0x20
jl 0x466540
push 0
push 0
push 0
lea eax, [esp + 0x44]
call fcn.004dc670
imul edi, edi, 0x3e8
imul esi, esi, 0x3e8
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
add esp, 0xc
lea eax, [eax + eax*2]
push 0
cdq
push 0xffffffffffffffff
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x44]
push ecx
push 0xa
push edi
push esi
mov ecx, 0x8df580
call fcn.004bc350
test byte [0x85c164], 4
jne 0x466656
mov al, byte [0x8bb990]
test al, al
jne 0x466647
mov edx, dword [ebp]
mov eax, dword [ebx]
push 0
push 0x3e8
push 0x1f4
push edx
push eax
call fcn.00465aa0
add esp, 0x14
jmp 0x466656
mov ecx, dword [ebp]
mov edx, dword [ebx]
push ecx
push edx
call fcn.00478370
add esp, 8
mov al, byte [esp + 0x6c]
test al, al
jne case.0x46652e.17
mov eax, dword [ebp]
mov esi, dword [0x8bb6b0]
mov ecx, dword [ebx]
mov edx, dword [0x8bb6b4]
sub eax, esi
sub ecx, edx
jns 0x46667b
neg ecx
test eax, eax
jge 0x466681
neg eax
cmp ecx, eax
jle 0x46668a
lea eax, [eax + ecx*2]
jmp 0x46668d
lea eax, [ecx + eax*2]
mov ecx, dword [0x727678]
cdq
sub eax, edx
sar eax, 1
lea edx, [ecx + ecx]
cmp eax, edx
jge case.0x46652e.17
mov edi, dword [esp + 0x20]
push edi
push str._NUM
mov esi, 0x8ebf58
call fcn.004f7660
mov eax, edi
cdq
mov ecx, 0x14
idiv ecx
mov esi, 7
mov ecx, edx
cdq
idiv esi
mov esi, 0x8ebf58
push edx
push ecx
push str._TREASURE__ROCK
call fcn.004f7660
mov eax, dword [esp + 0x74]
add esp, 0x14
test eax, eax
je 0x4666fd
test byte [0x85c154], 0x20
je 0x4666fd
push str.Buried_Treasure_Landmark_
call fcn.004f7660
add esp, 4
mov eax, dword [0x85c164]
test al, al
push 0
push 0xc
js 0x46677d
mov ecx, dword [ebx]
mov edx, dword [0x8bb8d8]
imul ecx, ecx, 0x3e8
push 0x2bc
test al, 0x40
mov eax, dword [ebp]
push edx
je 0x466750
imul eax, eax, 0x3e8
push 0xc0000000
push 0
push 0xfa
push eax
push ecx
mov eax, 0xc0000000
mov ecx, 0x86bb48
call fcn.004af0b0
add esp, 0x24
jmp case.0x46652e.17
imul eax, eax, 0x3e8
push 0xce38e38f
push 0
push 0x7d
sub eax, 0x1f4
push eax
push ecx
mov eax, 0xc0000000
mov ecx, 0x86bb48
call fcn.004af0b0
add esp, 0x24
jmp case.0x46652e.17
mov esi, dword [0x87951c]
mov edx, dword [ebp]
and al, 0x40
neg al
push 0xc8
sbb eax, eax
imul edx, edx, 0x3e8
and eax, esi
push eax
mov eax, dword [ebx]
push 0xc0000000
imul eax, eax, 0x3e8
push 0
push 0x7d
push edx
push eax
jmp 0x466766
test cl, cl
jns case.0x46652e.17
mov eax, dword [ebp]
mov ecx, esi
imul ecx, ecx, 0x125
add ecx, eax
cmp word [ecx*2 + 0x7d4168], 0xffff
je 0x4667dd
mov edx, dword [0x85c154]
lea ecx, [esi + edx]
test cl, 0x1f
jne 0x46682c
mov edi, dword [0x72ed78]
imul eax, eax, 0x3e8
imul esi, esi, 0x3e8
mov dword [esp + 0x6c], eax
push 1
sub esp, 8
fild dword [esp + 0x78]
mov dword [esp + 0x6c], esi
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov edx, dword [ebx]
mov ecx, dword [ebp]
imul edx, edx, 0x125
add edx, ecx
mov word [edx*2 + 0x7d4168], ax
mov ecx, dword [ebx]
mov esi, dword [ebp]
mov eax, ecx
imul eax, eax, 0x125
lea edi, [eax + esi]
movsx edx, byte [edi + 0x770f10]
mov al, byte [edi + 0x770f10]
cmp al, 0x18
mov dword [esp + 0x6c], edx
mov edx, 6
jne 0x46685b
mov edx, 1
cmp al, 0x15
jne 0x46686c
mov edx, 8
mov dword [esp + 0x6c], 0x14
mov eax, dword [esp + 0x68]
imul esi, esi, 0x3e8
mov eax, dword [eax]
imul eax, edx
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
imul ecx, ecx, 0x3e8
push 0
imul eax, eax, 0xeaaaaaab
push 0xffffffffffffffff
push 0
push 0
push eax
movsx eax, word [edi*2 + 0x7d4168]
push eax
mov eax, dword [esp + 0x84]
push esi
push ecx
lea ecx, [eax + eax*2]
shl ecx, 6
sar edx, 1
add ecx, 0x8de980
push ecx
jmp 0x466dfb
test cl, cl
jns case.0x46652e.17
mov eax, dword [ebp]
mov edx, esi
imul edx, edx, 0x125
add edx, eax
cmp word [edx*2 + 0x7d4168], 0xffff
je 0x4668eb
mov ecx, dword [0x85c154]
lea edx, [esi + ecx]
test dl, 0x1f
jne 0x46693a
mov edi, dword [0x72ed78]
imul eax, eax, 0x3e8
imul esi, esi, 0x3e8
mov dword [esp + 0x6c], eax
push 1
sub esp, 8
fild dword [esp + 0x78]
mov dword [esp + 0x6c], esi
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov ecx, dword [ebx]
mov edx, dword [ebp]
imul ecx, ecx, 0x125
add ecx, edx
mov word [ecx*2 + 0x7d4168], ax
mov eax, dword [ebx]
mov ecx, dword [ebp]
mov esi, dword [esp + 0x68]
mov edx, dword [esi]
mov edi, eax
imul eax, eax, 0x3e8
imul edi, edi, 0x125
push 0
push 0xffffffffffffffff
push 0
add edi, ecx
imul ecx, ecx, 0x3e8
movsx edi, word [edi*2 + 0x7d4168]
push 0
push 0
push edi
push ecx
push eax
shl edx, 2
push 0x8dfc40
call fcn.004bc2e0
mov ecx, dword [ebp]
mov eax, ecx
cdq
mov edi, 3
idiv edi
test edx, edx
je case.0x46652e.17
mov eax, dword [ebx]
mov edx, dword [esi]
mov edi, eax
imul eax, eax, 0x3e8
imul edi, edi, 0x125
push 0
push 0xffffffffffffffff
push 0
add edi, ecx
imul ecx, ecx, 0x3e8
movsx edi, word [edi*2 + 0x7d4168]
push 0
push 0x40000000
push edi
push ecx
add eax, 0xa6
push eax
shl edx, 2
push 0x8dfc40
call fcn.004bc2e0
mov ecx, dword [ebp]
mov eax, ecx
cdq
mov edi, 3
idiv edi
cmp edx, 1
jle case.0x46652e.17
mov edx, dword [esi]
mov eax, dword [ebx]
mov esi, eax
imul eax, eax, 0x3e8
imul esi, esi, 0x125
push 0
add esi, ecx
imul ecx, ecx, 0x3e8
movsx esi, word [esi*2 + 0x7d4168]
push 0xffffffffffffffff
push 0
push 0
push 0xc0000000
push esi
add ecx, 0xa6
shl edx, 2
push ecx
sub eax, 0xa6
push eax
push 0x8dfc40
jmp 0x466dfb
test cl, cl
jns case.0x46652e.17
mov eax, dword [ebp]
mov edx, esi
imul edx, edx, 0x125
add edx, eax
cmp word [edx*2 + 0x7d4168], 0xffff
je 0x466a64
mov ecx, dword [0x85c154]
lea edx, [esi + ecx]
test dl, 0x1f
jne 0x466ab3
mov edi, dword [0x72ed78]
imul eax, eax, 0x3e8
imul esi, esi, 0x3e8
mov dword [esp + 0x6c], eax
push 1
sub esp, 8
fild dword [esp + 0x78]
mov dword [esp + 0x6c], esi
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov ecx, dword [ebx]
mov edx, dword [ebp]
imul ecx, ecx, 0x125
add ecx, edx
mov word [ecx*2 + 0x7d4168], ax
mov ecx, dword [ebp]
mov eax, ecx
cdq
mov edi, 3
idiv edi
xor esi, esi
test edx, edx
je 0x466ad5
cmp edx, 1
mov esi, 0x21
jle 0x466ad5
mov esi, 0x42
mov eax, dword [ebx]
mov edi, eax
imul eax, eax, 0x3e8
imul edi, edi, 0x125
push esi
mov esi, dword [esp + 0x6c]
mov edx, dword [esi]
push 0xffffffffffffffff
push 0
add edi, ecx
imul ecx, ecx, 0x3e8
movsx edi, word [edi*2 + 0x7d4168]
push 0
push 0
push edi
push ecx
push eax
shl edx, 2
push 0x8dfac0
call fcn.004bc2e0
mov edx, dword [0x8ca494]
mov eax, dword [ebx]
mov ecx, dword [ebp]
shr edx, 1
push edx
mov edx, dword [esi]
mov esi, eax
imul esi, esi, 0x125
push 0xffffffffffffffff
add esi, ecx
imul ecx, ecx, 0x3e8
movsx esi, word [esi*2 + 0x7d4168]
push 0
shl edx, 2
imul eax, eax, 0x3e8
push 0
push 0
push esi
push ecx
push eax
push 0x8dfe80
jmp 0x466dfb
test cl, cl
jns case.0x46652e.17
mov ecx, dword [0x85c154]
mov eax, dword [ebp]
imul ecx, ecx, 0x1e
mov edx, dword [edi]
push ecx
mov ecx, esi
imul ecx, ecx, 0x125
push 0
add ecx, eax
imul eax, eax, 0x3e8
movsx ecx, word [ecx*2 + 0x7d4168]
push 0
shl edx, 2
imul esi, esi, 0x3e8
push 0
push 0
push ecx
push eax
push esi
push 0x8dfa00
jmp 0x466dfb
mov eax, dword [ebp]
mov edx, esi
imul edx, edx, 0x125
add edx, eax
cmp word [edx*2 + 0x7d4168], 0xffff
je 0x466bcd
mov ecx, dword [0x85c154]
lea edx, [esi + ecx]
test dl, 0x1f
jne 0x466c1c
mov edi, dword [0x72ed78]
imul eax, eax, 0x3e8
imul esi, esi, 0x3e8
mov dword [esp + 0x60], eax
push 1
sub esp, 8
fild dword [esp + 0x6c]
mov dword [esp + 0x70], esi
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x70]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov ecx, dword [ebx]
mov edx, dword [ebp]
imul ecx, ecx, 0x125
add ecx, edx
mov word [ecx*2 + 0x7d4168], ax
mov edx, dword [0x8ca494]
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov esi, dword [ebp]
push edx
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
imul ecx, ecx, 0x3e8
imul eax, eax, 0x125
push 0xffffffffffffffff
push 0
add eax, esi
imul esi, esi, 0x3e8
movsx eax, word [eax*2 + 0x7d4168]
push 0
push 0
push eax
push esi
sar edx, 1
push ecx
add edx, 0x3c
push 0x8df700
call fcn.004bc2e0
mov al, byte [esp + 0x6c]
test al, al
jne case.0x46652e.17
mov edi, dword [esp + 0x20]
push edi
push str._NUM
mov esi, 0x8ebf58
call fcn.004f7660
mov eax, edi
cdq
mov ecx, 0x14
idiv ecx
mov esi, 7
mov ecx, edx
cdq
idiv esi
mov esi, 0x8ebf58
push edx
push ecx
push str._TREASURE__TEMPLE
call fcn.004f7660
mov eax, dword [0x85c164]
mov edx, dword [0x8bb8d8]
mov edi, dword [ebx]
mov esi, dword [ebp]
and al, 0x40
add esp, 0x14
neg al
push 0
push 0xc
push 0x2bc
push edx
sbb eax, eax
and eax, 0xffffffec
add eax, 0xffffffba
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
fmul qword [0x715680]
call fcn.005f275c
mov ecx, edi
imul edi, edi, 0x3e8
imul ecx, ecx, 0x125
add ecx, esi
imul esi, esi, 0x3e8
movsx edx, word [ecx*2 + 0x7d4168]
push eax
push 0
add edx, 0x1f4
push edx
sub esi, 0x1f4
push esi
push edi
or eax, 0xffffffff
mov ecx, 0x86bb48
call fcn.004af0b0
add esp, 0x24
jmp case.0x46652e.17
test cl, cl
jns case.0x46652e.17
mov eax, dword [ebp]
mov ecx, esi
imul ecx, ecx, 0x125
add ecx, eax
cmp word [ecx*2 + 0x7d4168], 0xffff
je 0x466d5f
mov edx, dword [0x85c154]
lea ecx, [esi + edx]
test cl, 0x1f
jne 0x466dae
mov edi, dword [0x72ed78]
imul eax, eax, 0x3e8
imul esi, esi, 0x3e8
mov dword [esp + 0x6c], eax
push 1
sub esp, 8
fild dword [esp + 0x78]
mov dword [esp + 0x6c], esi
mov al, 1
fstp dword [esp + 4]
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.004e8db0
call fcn.005f275c
mov edx, dword [ebx]
mov ecx, dword [ebp]
imul edx, edx, 0x125
add edx, ecx
mov word [edx*2 + 0x7d4168], ax
mov eax, dword [ebx]
mov ecx, dword [ebp]
mov edx, eax
imul eax, eax, 0x3e8
imul edx, edx, 0x125
push 0
lea esi, [edx + ecx]
imul ecx, ecx, 0x3e8
movsx edi, word [esi*2 + 0x7d4168]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx]
push 0xffffffffffffffff
push 0
push 0
push 0
push edi
push ecx
push eax
movsx eax, byte [esi + 0x770f10]
lea eax, [eax + eax*2]
shl eax, 6
add eax, 0x8de980
lea edx, [edx + edx*4]
push eax
call fcn.004bc2e0
mov ecx, dword [ebx]
mov edx, dword [ebp]
imul ecx, ecx, 0x125
lea eax, [ecx + edx + 0x770f10]
cmp byte [eax], 0xff
jne 0x466e1a
mov byte [eax], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret