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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x585dce
push eax
mov eax, 0x5fdc
mov dword fs:[0], esp
call fcn.00577120
push ebx
mov ebx, ecx
push ebp
push esi
mov al, byte [ebx + 0xa0]
push edi
test al, al
mov dword [esp + 0x14], ebx
jne 0x47dc8a
xor eax, eax
jmp 0x47e6ea
lea esi, [esp + 0x68c]
mov edi, 0x6e
mov ecx, esi
call fcn.0047e970
add esi, 0xd0
dec edi
jne 0x47dc96
lea eax, [esp + 0x300]
push str.WatanabeFileseffecteffectbase.bin
push eax
call fcn.00404300
push 1
lea ecx, [esp + 0x30c]
push 0x592d14
push ecx
call fcn.00401040
mov esi, eax
xor ebp, ebp
add esp, 0x14
cmp esi, ebp
jne 0x47dcf3
lea edx, [esp + 0x300]
push edx
push str.HANABI:could_not_open_EffectBaseFile__s_._n
call fcn.00405200
add esp, 8
xor eax, eax
jmp 0x47e6ea
push esi
push 1
lea eax, [esp + 0x40c]
push 0x288
push eax
call fcn.00401060
push esi
push 1
lea ecx, [esp + 0x6a4]
push 0x5960
push ecx
call fcn.00401060
push esi
call fcn.004010e0
mov eax, dword [ebx + 0xc0]
lea esi, [ebx + 0xbc]
add esp, 0x24
cmp eax, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
jne 0x47dd42
xor ebx, ebx
jmp 0x47dd60
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebx, edx
jne 0x47dec1
mov edi, dword [esp + 0x5ffc]
mov eax, dword [edi + 4]
cmp eax, ebp
jne 0x47dd72
xor edx, edx
jmp 0x47dd87
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov eax, dword [esi + 4]
lea ebp, [edx + 2]
test eax, eax
jne 0x47dd95
xor edx, edx
jmp 0x47ddab
mov ecx, dword [esi + 0xc]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebp
jae 0x47de33
test ebp, ebp
mov ecx, ebp
jge 0x47ddbb
xor ecx, ecx
lea eax, [ecx + ecx*2]
shl eax, 4
sub eax, ecx
lea ecx, [eax + eax*2]
shl ecx, 2
push ecx
call fcn.005756f6
mov edx, dword [esi + 8]
add esp, 4
mov edi, eax
mov eax, dword [esi + 4]
push edi
push edx
push eax
mov ecx, esi
call fcn.0047f4e0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
mov ecx, esi
call fcn.0047f4b0
mov eax, dword [esi + 4]
push eax
call fcn.005756eb
lea eax, [ebp + ebp*2]
add esp, 4
shl eax, 4
sub eax, ebp
lea eax, [eax + eax*2]
lea ecx, [edi + eax*4]
mov dword [esi + 0xc], ecx
mov ecx, esi
call fcn.0047ec80
lea ecx, [eax + eax*2]
mov dword [esi + 4], edi
shl ecx, 4
sub ecx, eax
lea edx, [ecx + ecx*2]
lea eax, [edi + edx*4]
mov edi, dword [esp + 0x5ffc]
mov dword [esi + 8], eax
xor ebp, ebp
lea ecx, [esp + 0xcc]
call fcn.00483ca0
push fcn.004051e0
push fcn.00482020
push 2
lea edx, [esp + 0x1dc]
push 0x58
push edx
mov dword [esp + 0x6008], ebp
mov dword [esp + 0x1e0], ebp
call fcn.0057631e
lea ecx, [esp + 0x284]
mov byte [esp + 0x5ff4], 1
mov dword [esp + 0x280], ebp
call fcn.0047e7b0
lea ecx, [esp + 0x2b0]
mov byte [esp + 0x5ff4], 2
call fcn.00482a50
mov dword [esp + 0xcc], 0x589b68
mov eax, dword [edi + 4]
mov dword [esp + 0x5ff4], 3
cmp eax, ebp
jne 0x47df46
xor edx, edx
jmp 0x47df5b
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x47decc
xor edi, edi
jmp 0x47dee4
mov ecx, dword [esi + 0xc]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov edi, edx
mov ecx, dword [esp + 0x5ffc]
mov eax, dword [ecx + 4]
cmp eax, ebp
jne 0x47def6
xor edx, edx
jmp 0x47df0b
mov ecx, dword [ecx + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, ebx
cmp edi, edx
jae 0x47df3a
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x47df1f
xor eax, eax
jmp 0x47e6ea
mov esi, dword [esi + 8]
sub esi, eax
mov eax, 0x3a196b1f
imul esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jmp 0x47e6e8
mov edi, dword [esp + 0x5ffc]
jmp 0x47de35
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 4]
lea edi, [edx + ebx]
test eax, eax
jne 0x47df69
xor edx, edx
jmp 0x47df7f
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edx, edi
jae 0x47dfa2
mov ebp, dword [esi + 8]
lea edx, [esp + 0xcc]
push edx
mov ecx, esi
call fcn.0047ec80
sub edi, eax
mov ecx, esi
push edi
push ebp
call fcn.0047efb0
jmp 0x47dfca
mov ecx, esi
call fcn.0047ec80
cmp edi, eax
jae 0x47dfca
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
lea eax, [edi + edi*2]
shl eax, 4
sub eax, edi
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
push ecx
mov ecx, esi
call fcn.0047f360
mov dword [esp + 0xcc], 0x589b68
lea ecx, [esp + 0x2d4]
mov dword [esp + 0x5ff4], 6
call fcn.0047ec40
lea edx, [esp + 0x284]
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x298]
mov byte [esp + 0x5ff4], 7
call fcn.00470940
lea ecx, [esp + 0x284]
mov byte [esp + 0x5ff4], 5
call fcn.00481740
push fcn.004051e0
push 2
lea eax, [esp + 0x1d8]
push 0x58
push eax
mov byte [esp + 0x6004], 4
call fcn.00575ece
lea ecx, [esp + 0xcc]
mov dword [esp + 0x5ff4], 0xffffffff
call fcn.0047a590
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
lea eax, [ebx + ebx*2]
shl eax, 4
sub eax, ebx
lea ebx, [eax + eax*2]
shl ebx, 2
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x5ffc]
mov ebp, dword [eax + 4]
test ebp, ebp
je 0x47e68b
mov ecx, dword [eax + 8]
mov eax, 0x2aaaaaab
sub ecx, ebp
imul ecx
mov eax, dword [esp + 0x20]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edx, eax
jbe 0x47e68b
mov edx, dword [esp + 0x18]
mov eax, dword [edx + ebp + 4]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
shl edx, 4
mov edi, dword [ecx + 0xc0]
mov al, byte [esp + edx + 0x6a8]
lea esi, [esp + edx + 0x68c]
add edi, ebx
test al, al
je 0x47e464
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
jne 0x47e0e8
mov dword [esp + 0x2c], 0
jmp 0x47e0f1
shl eax, 4
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x20]
mov ecx, edi
push eax
call fcn.0047c690
mov ecx, dword [esp + 0x18]
fld dword [esi + 0x3c]
mov eax, dword [ecx + ebp + 8]
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x10], ecx
lea edx, [eax + eax*2]
fadd dword [esp + edx*4 + 0x404]
lea eax, [esp + edx*4 + 0x404]
fstp dword [esp + 0x30]
fld dword [esi + 0x40]
fadd dword [eax + 4]
mov ecx, dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [esi + 0x44]
fadd dword [eax + 8]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x5c], eax
lea eax, [edi + 4]
mov edx, eax
fstp dword [esp + 0x38]
mov dword [edx], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [edx + 8], ecx
lea edx, [esi + 0x48]
lea ecx, [eax + 0xc]
add eax, 0x18
mov ebx, dword [edx]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
lea ecx, [esi + 0x54]
mov edx, dword [esi + 0x54]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
push edx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, edi
call fcn.00483e10
mov eax, dword [esi + 0x38]
mov edx, eax
mov ecx, eax
shr edx, 0x10
and edx, 0xff
mov dword [esp + 0x10], edx
mov edx, eax
fild dword [esp + 0x10]
shr ecx, 8
and ecx, 0xff
and edx, 0xff
fmul dword [0x589a08]
mov dword [esp + 0x10], ecx
shr eax, 0x18
fstp dword [esp + 0x3c]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fmul dword [0x589a08]
fstp dword [esp + 0x40]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul dword [0x589a08]
fstp dword [esp + 0x44]
fild dword [esp + 0x10]
fmul dword [0x589a08]
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x18]
fstp dword [esp + 0x48]
mov ecx, eax
mov edx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x10], ecx
mov ecx, eax
fild dword [esp + 0x10]
shr edx, 8
and edx, 0xff
and ecx, 0xff
fmul dword [0x589a08]
mov dword [esp + 0x10], edx
lea edx, [edi + 0xac]
shr eax, 0x18
fstp dword [esp + 0x4c]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fmul dword [0x589a08]
fstp dword [esp + 0x50]
fild dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
fmul dword [0x589a08]
mov dword [edx], eax
mov dword [edx + 4], ecx
fstp dword [esp + 0x54]
fild dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
fmul dword [0x589a08]
fstp dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x40]
lea edx, [edi + 0xbc]
mov dword [edi + 0xbc], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
fld dword [esi + 0x30]
fstp dword [edi + 0xe0]
fld dword [esi + 0x64]
fld dword [esi + 0x60]
fstp dword [edi + 0xec]
mov dword [edi + 0xcc], 0x3e99999a
fstp dword [edi + 0xf0]
mov eax, dword [ebx + ebp + 4]
add eax, 0xffffffe8
cmp eax, 0x55
ja case.0x47e2f9.31
xor edx, edx
mov dl, byte [eax + 0x47e728]
jmp dword [edx*4 + 0x47e708]
lea eax, [esp + 0x9c]
mov ecx, edi
push eax
mov dword [esp + 0xa0], 0xbf000000
mov dword [esp + 0xa4], 0x3f800000
mov dword [esp + 0xa8], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], 0x3f000000
push ecx
mov ecx, edi
mov dword [esp + 0x8c], 0x3f800000
mov dword [esp + 0x90], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea edx, [esp + 0x90]
mov ecx, edi
push edx
mov dword [esp + 0x94], 0xbe800000
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0x9c], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea eax, [esp + 0xa8]
mov ecx, edi
push eax
mov dword [esp + 0xac], 0x3e800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xb4], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
push ecx
mov ecx, edi
mov dword [esp + 0x80], 0xbf800000
mov dword [esp + 0x84], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea edx, [esp + 0xb4]
mov ecx, edi
push edx
mov dword [esp + 0xb8], 0xbe800000
mov dword [esp + 0xbc], 0xbf800000
mov dword [esp + 0xc0], 0
call fcn.00484920
jmp case.0x47e2f9.31
lea eax, [esp + 0xc0]
mov ecx, edi
push eax
mov dword [esp + 0xc4], 0x3e800000
mov dword [esp + 0xc8], 0xbf800000
mov dword [esp + 0xcc], 0
call fcn.00484920
jmp case.0x47e2f9.31
mov ebx, dword [esp + 0x18]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x47e4b2
mov edx, dword [ebx + ebp + 8]
xor eax, eax
cmp edx, 0x2b
mov edx, dword [esi + 0x10]
push edx
mov edx, dword [esi + 0xc]
push edx
mov edx, dword [esi + 8]
push edx
mov edx, dword [ebx + ebp]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0
fild qword [esp + 0x74]
push ecx
sete al
fmul dword [0x588840]
fadd dword [esi + 0x18]
fstp dword [esp]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.0047d9f0
mov eax, dword [esi + 0x14]
test eax, eax
je 0x47e513
cmp dword [esp + 0x24], eax
jne 0x47e4cd
mov ecx, dword [ebx + ebp]
mov edx, dword [esp + 0x28]
sub ecx, edx
cmp ecx, 5
jbe 0x47e513
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push edx
push ecx
mov ecx, dword [ebx + ebp]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], ecx
mov edx, dword [esi + 8]
fild qword [esp + 0x78]
push edx
push ecx
mov ecx, dword [esp + 0x24]
fmul dword [0x588840]
fadd dword [esi + 0x18]
fstp dword [esp]
push eax
push 0
call fcn.0047d9f0
mov edx, dword [esi + 0x14]
mov eax, dword [ebx + ebp]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov al, byte [esi + 0x68]
test al, al
je 0x47e562
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
push ecx
mov ecx, dword [esi + 0x80]
push edx
mov edx, dword [esi + 0x7c]
push eax
mov eax, dword [esi + 0x78]
push ecx
mov ecx, dword [esi + 0x74]
push edx
mov edx, dword [esi + 0x6c]
push eax
push ecx
mov ecx, dword [esp + 0x30]
shl edx, 4
add edx, ecx
mov cl, byte [esi + 0x70]
xor eax, eax
push edx
test cl, cl
setne al
inc eax
mov ecx, edi
push eax
call fcn.0047d1b0
mov al, byte [esi + 0x90]
test al, al
je 0x47e5c7
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0x94]
fld dword [esi + 0xac]
push ecx
push ecx
fstp dword [esp]
fld dword [esi + 0xa8]
push ecx
mov eax, dword [esi + 0x98]
fstp dword [esp]
fld dword [esi + 0xa4]
push ecx
fstp dword [esp]
fld dword [esi + 0xa0]
push ecx
fstp dword [esp]
fld dword [esi + 0x9c]
push ecx
mov ecx, dword [esp + 0x2c]
shl edx, 4
fstp dword [esp]
add edx, ecx
lea ecx, [edi + 0x1e4]
push edx
push eax
call fcn.004833e0
mov al, byte [esi + 0xb4]
test al, al
je case.default.0x47e606
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0xc4]
mov eax, dword [esi + 0xc0]
push ecx
mov ecx, dword [esi + 0xbc]
push edx
mov edx, dword [esi + 0xb8]
push eax
push ecx
push edx
mov ecx, edi
call fcn.0047d310
mov eax, dword [esi + 0xcc]
cmp eax, 4
ja case.default.0x47e606
jmp dword [eax*4 + 0x47e780]
push 0x10
push 0x589a10
jmp 0x47e638
push 0x10
push 0x589a50
jmp 0x47e638
push 0x10
push 0x589a90
jmp 0x47e638
push 0x10
push 0x589ad0
jmp 0x47e638
push 0x10
push 0x589b10
mov ecx, edi
call fcn.0047d360
mov eax, dword [ebx + ebp]
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], eax
push ecx
fild qword [esp + 0x64]
mov ecx, dword [esi]
fmul dword [0x588840]
fstp dword [esp]
push ecx
mov ecx, edi
call fcn.0047c2e0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
inc edx
add ecx, 0x234
add ebx, 0xc
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, ecx
jmp 0x47e070
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0xc0]
lea esi, [edi + 0xbc]
test eax, eax
jne 0x47e6a3
xor edx, edx
jmp 0x47e6b9
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
test edx, edx
seta cl
mov byte [edi + 0xa1], cl
mov ecx, edi
call fcn.0047d890
mov eax, dword [esi + 4]
test eax, eax
je 0x47e6ea
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x3a196b1f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
mov ecx, dword [esp + 0x5fec]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5fe8
ret 4
mov ecx, dword [ebp + 0x110]
or eax, 0xffffffff
mov dword [esp + 0x70], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x10]
push 0
push eax
push 0
push 0
push ecx
mov ecx, 0x620cd0
mov dword [esp + 0x40], 0x3f140000
mov dword [esp + 0x44], 0x3f2c0000
mov dword [esp + 0x58], 0x3f6c0000
mov dword [esp + 0x5c], 0x3f2c0000
mov dword [esp + 0x70], 0x3f140000
mov dword [esp + 0x74], 0x3f7c0000
mov dword [esp + 0x88], 0x3f6c0000
mov dword [esp + 0x8c], 0x3f7c0000
call fcn.0040d2b0
mov edi, dword [esp + 0x10]
mov ecx, 0x18
lea esi, [esp + 0x1c]
push 1
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x110]
mov ecx, 0x620cd0
push edx
call fcn.0040d2f0
mov eax, dword [ebp + 0x110]
push 0x18
push eax
push 0
mov ecx, 0x620cd0
call fcn.0040d450
push 0x3f800000
push 0x3fc00000
lea ecx, [esp + 0x204]
push 0x3fc00000
push ecx
mov ecx, 0x65cb50
call fcn.00493790
push 0
push 0xbdcccccd
lea edx, [esp + 0x1c4]
push 0x40a80000
push edx
mov ecx, 0x65cb50
mov esi, eax
call fcn.004937c0
push eax
lea eax, [esp + 0x80]
push esi
push eax
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x17c]
push ecx
mov ecx, dword [ebp + 0xd8]
call fcn.00498df0
push eax
lea edx, [esp + 0x100]
lea eax, [esp + 0xc0]
push edx
push eax
call fcn.0055734a
mov eax, dword [0x620cd4]
mov ecx, 0x10
lea esi, [esp + 0xbc]
lea edi, [esp + 0x13c]
lea edx, [esp + 0x13c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push edx
push 0x100
push eax
call dword [ecx + 0x94]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
mov eax, dword [0x620cd4]
push 2
push 0x13
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x620cd4]
push 2
push 0x14
push eax
mov edx, dword [eax]
call dword [edx + 0xc8]
movsx eax, byte [ebp + 0x41]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
mov eax, dword [ecx*4 + 0x620f44]
test ah, 0x10
je 0x4eecb3
test al, 0x1e
je 0x4eecb3
push 0
push 0x3f800000
push 0
push 2
push 0
push 0
mov ecx, 0x620cd0
call fcn.0040d7e0
mov eax, dword [ebp + 0x110]
lea edx, [esp + 0x10]
push 0
push edx
push 0
push 0
push eax
mov ecx, 0x620cd0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x3f4a0000
mov dword [esp + 0x44], 0x3e9c0000
mov dword [esp + 0x58], 0x3f7e0000
mov dword [esp + 0x5c], 0x3e9c0000
mov dword [esp + 0x70], 0x3f4a0000
mov dword [esp + 0x74], 0x3f060000
mov dword [esp + 0x88], 0x3f7e0000
mov dword [esp + 0x8c], 0x3f060000
call fcn.0040d2b0
mov edi, dword [esp + 0x10]
mov ecx, 0x18
lea esi, [esp + 0x1c]
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x110]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [ebp + 0x110]
push 0x18
push edx
push 0
mov ecx, 0x620cd0
call fcn.0040d450
fld dword [ebp + 0x20]
fcomp dword [0x588314]
fnstsw ax
test ah, 1
jne 0x4eeb9d
fld dword [ebp + 0x24]
fcomp dword [0x588314]
fnstsw ax
test ah, 1
je 0x4eeb9d
push 0x3f800000
push 0x3f900000
lea eax, [esp + 0x204]
push 0x3f900000
push eax
mov ecx, 0x65cb50
call fcn.00493790
mov esi, eax
mov eax, dword [esp + 0x18]
push 0x3f800000
push eax
lea ecx, [esp + 0x2c4]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.00493790
push eax
lea edx, [esp + 0x80]
push esi
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
push 0xbc23d70a
rep movsd dword es:[edi], dword [esi]
push 0xbdcccccd
lea eax, [esp + 0x284]
push 0x3fe00000
push eax
mov ecx, 0x65cb50
call fcn.004937c0
lea ecx, [esp + 0xfc]
push eax
lea edx, [esp + 0xc0]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0xbc]
lea edi, [esp + 0x17c]
lea eax, [esp + 0x23c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xd8]
push eax
call fcn.00498df0
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x1c0]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x1bc]
jmp 0x4eec7f
push 0x3f800000
push 0x3f900000
lea eax, [esp + 0x244]
push 0x3f900000
push eax
mov ecx, 0x65cb50
call fcn.00493790
mov esi, eax
mov eax, dword [esp + 0x18]
push 0x3f800000
push eax
lea ecx, [esp + 0x284]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.00493790
push eax
lea edx, [esp + 0x1c0]
push esi
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x1bc]
lea edi, [esp + 0x17c]
push 0xbc23d70a
rep movsd dword es:[edi], dword [esi]
push 0xbdcccccd
lea eax, [esp + 0x2c4]
push 0xbed9999a
push eax
mov ecx, 0x65cb50
call fcn.004937c0
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x80]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
lea eax, [esp + 0x1fc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xd8]
push eax
call fcn.00498df0
lea ecx, [esp + 0xfc]
push eax
lea edx, [esp + 0xc0]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0xbc]
mov eax, dword [0x620cd4]
lea edi, [esp + 0x13c]
lea edx, [esp + 0x13c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push edx
push 0x100
push eax
call dword [ecx + 0x94]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
movsx eax, byte [ebp + 0x41]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
mov eax, dword [ecx*4 + 0x620f44]
test ah, 1
jne 0x4eecd5
test al, 0x80
je 0x4eeeb0
push 0
push 0x3f800000
push 0
push 2
push 0
push 0
mov ecx, 0x620cd0
call fcn.0040d7e0
mov eax, dword [ebp + 0x110]
lea edx, [esp + 0x10]
push 0
push edx
push 0
push 0
push eax
mov ecx, 0x620cd0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x3f380000
mov dword [esp + 0x44], 0x3f380000
mov dword [esp + 0x58], 0x3f6a0000
mov dword [esp + 0x5c], 0x3f380000
mov dword [esp + 0x70], 0x3f380000
mov dword [esp + 0x74], 0x3f760000
mov dword [esp + 0x88], 0x3f6a0000
mov dword [esp + 0x8c], 0x3f760000
call fcn.0040d2b0
mov edi, dword [esp + 0x10]
mov ecx, 0x18
lea esi, [esp + 0x1c]
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x110]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [ebp + 0x110]
push 0x18
push edx
push 0
mov ecx, 0x620cd0
call fcn.0040d450
push 0x3f800000
push 0x3f900000
lea eax, [esp + 0x244]
push 0x3f900000
push eax
mov ecx, 0x65cb50
call fcn.00493790
mov esi, eax
mov eax, dword [esp + 0x18]
push 0x3f800000
push eax
lea ecx, [esp + 0x284]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.00493790
push eax
lea edx, [esp + 0x1c0]
push esi
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x1bc]
lea edi, [esp + 0x17c]
push 0xbc23d70a
rep movsd dword es:[edi], dword [esi]
push 0xbdcccccd
lea eax, [esp + 0x2c4]
push 0x40b80000
push eax
mov ecx, 0x65cb50
call fcn.004937c0
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x80]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
lea eax, [esp + 0x1fc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xd8]
push eax
call fcn.00498df0
lea ecx, [esp + 0xfc]
push eax
lea edx, [esp + 0xc0]
push ecx
push edx
call fcn.0055734a
mov eax, dword [0x620cd4]
mov ecx, 0x10
lea esi, [esp + 0xbc]
lea edi, [esp + 0x13c]
lea edx, [esp + 0x13c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push edx
push 0x100
push eax
call dword [ecx + 0x94]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
fld dword [ebp + 0x20]
fcomp dword [0x588314]
fnstsw ax
test ah, 1
jne 0x4ef0d9
fld dword [ebp + 0x24]
fcomp dword [0x588314]
fnstsw ax
test ah, 1
je 0x4ef0d9
movsx eax, byte [ebp + 0x41]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
mov eax, dword [ecx*4 + 0x620f44]
test ah, 8
je 0x4ef0d9
test al, 6
je 0x4ef0d9
push 0
push 0x3f800000
push 0
push 2
push 0
push 0
mov ecx, 0x620cd0
call fcn.0040d7e0
mov eax, dword [ebp + 0x110]
lea edx, [esp + 0x10]
push 0
push edx
push 0
push 0
push eax
mov ecx, 0x620cd0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x3eb00000
mov dword [esp + 0x44], 0x3e9c0000
mov dword [esp + 0x58], 0x3ee00000
mov dword [esp + 0x5c], 0x3e9c0000
mov dword [esp + 0x70], 0x3eb00000
mov dword [esp + 0x74], 0x3f080000
mov dword [esp + 0x88], 0x3ee00000
mov dword [esp + 0x8c], 0x3f080000
call fcn.0040d2b0
mov edi, dword [esp + 0x10]
mov ecx, 0x18
lea esi, [esp + 0x1c]
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x110]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [ebp + 0x110]
push 0x18
push edx
push 0
mov ecx, 0x620cd0
call fcn.0040d450
push 0x3f800000
push 0x3f900000
lea eax, [esp + 0x244]
push 0x3ee66666
push eax
mov ecx, 0x65cb50
call fcn.00493790
mov esi, eax
mov eax, dword [esp + 0x18]
push 0x3f800000
push eax
lea ecx, [esp + 0x284]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.00493790
push eax
lea edx, [esp + 0x1c0]
push esi
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x1bc]
lea edi, [esp + 0x17c]
push 0xbc23d70a
rep movsd dword es:[edi], dword [esi]
push 0xbdcccccd
lea eax, [esp + 0x2c4]
push 0xc0400000
push eax
mov ecx, 0x65cb50
call fcn.004937c0
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x80]
push ecx
push edx
call fcn.0055734a
mov ecx, 0x10
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
lea eax, [esp + 0x1fc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xd8]
push eax
call fcn.00498df0
lea ecx, [esp + 0xfc]
push eax
lea edx, [esp + 0xc0]
push ecx
push edx
call fcn.0055734a
mov eax, dword [0x620cd4]
mov ecx, 0x10
lea esi, [esp + 0xbc]
lea edi, [esp + 0x13c]
lea edx, [esp + 0x13c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push edx
push 0x100
push eax
call dword [ecx + 0x94]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
mov eax, dword [0x620cd4]
push 5
push 0x13
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x620cd4]
push 6
push 0x14
push eax
mov edx, dword [eax]
call dword [edx + 0xc8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ec
ret