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

Disassembly:
sub esp, 0x27c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov ebp, 1
mov dword [esp + 0x20c], ebp
mov dword [esp + 0x22c], ebp
mov edi, dword [esp + 0x288]
mov eax, dword [edi]
cmp eax, 0xfffffff9
jne 0x51f06e
mov ecx, 7
mov dword [edi], ecx
mov edx, 0
mov dword [esp + 0x22c], edx
mov eax, dword [edi]
mov edi, eax
dec edi
cmp edi, 0xe
ja case.0x51f07c.1
jmp dword [edi*4 + 0x51f083]
lea ecx, [0x64a8d8]
lea edi, [0x64ce18]
mov dword [0x64ce30], ecx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov dword [0x64ce38], ebp
lea eax, [0x6ae078]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov dword [0x64ce38], ebp
lea edx, [0x6ae098]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov ecx, 4
mov dword [0x64ce1c], ecx
mov dword [esp], esi
call fcn.0063d0a0
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x51f828
lea edx, [0x64a8d8]
lea ebx, [0x64ce18]
mov dword [0x64ce30], edx
mov eax, 0x1b
mov dword [0x64ce34], eax
mov dword [0x64ce38], ebp
lea ecx, [0x6ae0b8]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov eax, 4
mov dword [0x64ce1c], eax
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
jmp 0x51f828
lea ecx, [0x64a8d8]
lea edi, [0x64ce18]
mov dword [0x64ce30], ecx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov dword [0x64ce38], ebp
lea eax, [0x6ae0d8]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov dword [0x64ce38], ebp
lea edx, [0x6ae0f8]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov ecx, 4
mov dword [0x64ce1c], ecx
mov dword [esp], esi
call fcn.0063d0a0
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x51f828
mov edx, dword [0x64a138]
test edx, edx
lea esi, [0x64a8d8]
lea edi, [0x64ce18]
mov ebx, 0x1b
je 0x51f2e9
mov dword [0x64ce30], esi
mov dword [0x64ce34], ebx
mov dword [0x64ce38], ebp
lea eax, [0x6ae118]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
mov dword [0x64ce30], esi
mov dword [0x64ce34], ebx
mov dword [0x64ce38], ebp
lea eax, [0x6ae138]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
mov eax, dword [esp + 0x280]
mov dword [esp], eax
mov ecx, dword [esp + 0x284]
mov dword [esp + 4], ecx
lea edx, [esp + 0x22c]
mov dword [esp + 8], edx
call fcn.00536010
mov eax, dword [esp + 0x22c]
test eax, eax
lea esi, [0x64a8d8]
lea edi, [0x64ce18]
mov ebx, 0x1b
je 0x51f3c0
mov dword [0x64ce30], esi
mov dword [0x64ce34], ebx
mov dword [0x64ce38], ebp
lea ecx, [0x6ae158]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov eax, 4
mov dword [0x64ce1c], eax
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
mov dword [0x64ce30], esi
mov dword [0x64ce34], ebx
mov dword [0x64ce38], ebp
lea ecx, [0x6ae178]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov eax, 4
mov dword [0x64ce1c], eax
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
lea ecx, [0x64a8d8]
lea ebx, [0x64ce18]
mov dword [0x64ce30], ecx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov dword [0x64ce38], ebp
lea eax, [0x6ae198]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea edi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov dword [0x64ce38], ebp
lea edx, [0x6ae1b8]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov ecx, 4
mov dword [0x64ce1c], ecx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
lea esi, [0x64a8d8]
lea ebx, [0x64ce18]
mov dword [0x64ce30], esi
mov edi, 0x1b
mov dword [0x64ce34], edi
mov dword [0x64ce38], ebp
lea edx, [0x6ae098]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov ecx, 4
mov dword [0x64ce1c], ecx
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
mov edx, dword [0x64c7cc]
test edx, edx
je 0x51f537
lea eax, [0x64a900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00523ff0
jmp 0x51f543
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00523ff0
mov dword [0x64ce30], esi
mov dword [0x64ce34], edi
mov dword [0x64ce38], ebp
lea ecx, [0x6ae1d8]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov ecx, 4
mov dword [0x64ce1c], ecx
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
mov edx, dword [0x64c6fc]
mov dword [esp + 0x218], edx
mov dword [esp], esi
lea eax, [esp + 0x218]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.00524380
mov dword [0x64ce30], esi
mov dword [0x64ce34], edi
mov dword [0x64ce38], ebp
lea ecx, [0x6ae1f8]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov eax, 4
mov dword [0x64ce1c], eax
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
mov ecx, dword [0x64c73c]
test ecx, ecx
je 0x51f613
mov edx, dword [0x64c704]
mov dword [esp + 0x214], edx
jmp 0x51f61f
mov eax, 4
mov dword [esp + 0x214], eax
mov dword [esp], esi
lea ecx, [esp + 0x214]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.00524380
lea edx, [esp + 0x218]
mov dword [esp], edx
mov dword [esp + 4], edx
call fcn.00516378
jmp 0x51f864
lea eax, [0x64a8d8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov edx, 1
mov dword [0x64ce38], edx
lea eax, [0x6ae218]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [esp], ebp
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea edi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov edx, 1
mov dword [0x64ce38], edx
lea eax, [0x6ae238]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [esp], edi
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov edx, 1
mov dword [0x64ce38], edx
lea eax, [0x6ae258]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], esi
call fcn.0063d0a0
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea ebx, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov edx, 1
mov dword [0x64ce38], edx
lea eax, [0x6ae278]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [esp], ebx
call fcn.0063e1f0
jmp 0x51f828
lea eax, [0x64a8d8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov edx, 1
mov dword [0x64ce38], edx
lea eax, [0x6ae298]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [esp], ebp
call fcn.0063e1f0
mov eax, dword [0x64c7cc]
test eax, eax
mov ebp, 0x1b
je 0x51f852
lea ecx, [0x64a900]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.00523ff0
jmp 0x51f864
lea edx, [0x64a8d8]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.00523ff0
mov eax, dword [0x64c7ac]
test eax, eax
je 0x51f8b6
lea ecx, [esp + 0x230]
lea edx, str.open_joints_not_included
mov eax, 7
mov ebp, edx
mov edi, ecx
mov esi, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp]
add ebp, 4
mov dword [edi], ecx
add edi, 4
dec esi
jne 0x51f890
lea edx, [esp + 0x230]
mov dword [esp], edx
mov eax, 0x1c
mov dword [esp + 4], eax
call fcn.00523ff0
mov ecx, dword [0x64c758]
test ecx, ecx
je 0x51f958
lea edi, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], edi
mov ebx, 0x1b
mov dword [0x64ce34], ebx
mov ebp, 1
mov dword [0x64ce38], ebp
lea edx, [0x6ae2d8]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebp
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], esi
lea eax, [0x64c76c]
mov dword [esp + 4], eax
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.00523ff0
mov ecx, dword [0x64c75c]
test ecx, ecx
je 0x51f9fa
lea ebp, [0x64a8d8]
lea edi, [0x64ce18]
mov dword [0x64ce30], ebp
mov esi, 0x1b
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae2fc]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], edi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], edi
lea eax, [0x64c770]
mov dword [esp + 4], eax
call fcn.0063d590
mov dword [esp], edi
call fcn.0063e1f0
mov dword [esp], ebp
mov dword [esp + 4], esi
call fcn.00523ff0
mov ecx, dword [esp + 0x288]
mov dword [esp + 0x24c], ecx
mov ebp, dword [ecx]
cmp ebp, 1
je case.0x51feb5.1
cmp ebp, 3
je case.0x51feb5.1
cmp ebp, 5
je case.0x51feb5.1
mov edx, dword [0x64c758]
test edx, edx
je 0x51fa67
fld dword [0x64c76c]
fst dword [esp + 0x1cc]
fst dword [esp + 0x1d0]
fst dword [esp + 0x1d4]
fst dword [esp + 0x224]
fst dword [esp + 0x228]
fstp dword [0x64ee14]
jmp 0x51fea0
cmp ebp, 4
je case.0x51feb5.4
cmp ebp, 0xc
je case.0x51feb5.4
cmp ebp, 0xd
je case.0x51feb5.4
cmp ebp, 0xe
je case.0x51feb5.4
cmp ebp, 0xf
je case.0x51feb5.4
fld dword [0x6adfd8]
fst dword [esp + 0x1cc]
fst dword [esp + 0x1d0]
fstp dword [esp + 0x1d4]
mov eax, dword [0x64f1b4]
mov esi, dword [esp + 0x284]
mov edi, dword [esp + 0x280]
lea ebx, [esp + 0x1b0]
mov ecx, dword [esp + 0x24c]
mov edx, ecx
mov dword [esp + 0x1c0], edx
mov ebp, eax
nop
nop
nop
nop
test ebp, ebp
je 0x51fea0
mov eax, dword [esi + ebp*4 + 0x44]
cmp eax, 4
je case.0x51fbc2.1
mov ecx, dword [esi + ebp*4 + 4]
mov edx, dword [esi + ebp*4 + 8]
mov dword [esp + 0x1b8], edx
mov eax, dword [esi + ecx*4 + 0xc]
test eax, eax
je case.0x51fbc2.1
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esi + ecx*4 + 0xc]
test edx, edx
je case.0x51fbc2.1
mov dword [esp], edi
mov dword [esp + 4], esi
mov ecx, ebp
shl ecx, 2
add ecx, edi
lea edx, [ecx - 4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [esp + 0x1b4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x5c], edx
call fcn.0041d410
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
call fcn.0051e920
test eax, eax
je case.0x51fbc2.1
mov eax, dword [edi + ebp*4 + 0x40]
mov dword [esp + 0x1bc], eax
mov edx, dword [0x64c7ac]
test edx, edx
je 0x51fba1
fld dword [0x6adfd8]
fld dword [esp + 0x1bc]
fucompp
fnstsw ax
sahf
je case.0x51fbc2.1
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax]
dec ecx
mov dword [esp + 0x1c4], ecx
cmp ecx, 0xa
ja case.0x51fbc2.2
mov edx, dword [esp + 0x1c4]
jmp dword [edx*4 + 0x51fbc9]
fld dword [edi + ebp*4 + 0x84]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fld dword [esp + 0x1cc]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x51fc33
fstp dword [esp + 0x14c]
jmp 0x51fc3c
fstp st(0)
fst dword [esp + 0x14c]
fstp st(0)
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x1cc], eax
jmp case.0x51fbc2.1
fld dword [edi + ebp*4 + 0x88]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fstp dword [esp + 0x150]
mov eax, dword [0x64c758]
test eax, eax
je 0x51fc9f
fld dword [esp + 0x150]
fld dword [0x64c76c]
fucompp
fnstsw ax
sahf
fstp dword [esp + 0x50]
jb case.0x51fbc2.1
fld dword [esp + 0x50]
fst dword [esp + 0x144]
fld st(0)
fabs
fstp dword [esp + 0x150]
mov ecx, dword [0x64c75c]
test ecx, ecx
je 0x51fcdf
fld dword [esp + 0x150]
fld dword [0x64c770]
fucompp
fnstsw ax
sahf
fstp dword [esp + 0x50]
ja case.0x51fbc2.1
fld dword [esp + 0x50]
fld dword [esp + 0x1d0]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
jb 0x51fcff
fst dword [esp + 0x14c]
jmp 0x51fd0a
fxch st(1)
fst dword [esp + 0x14c]
fxch st(1)
fstp st(1)
fld dword [esp + 0x14c]
fst dword [esp + 0x144]
fstp dword [esp + 0x1d0]
fld dword [esp + 0x1d4]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x51fd41
fstp dword [esp + 0x14c]
jmp 0x51fd4a
fstp st(0)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x144]
fstp dword [esp + 0x1d4]
jmp case.0x51fbc2.1
mov edx, dword [0x64a138]
test edx, edx
fld dword [edi + ebp*4 + 0x4c]
je 0x51fd8a
fld st(0)
fdiv dword [edi + ebp*4 + 0x48]
fstp dword [esp + 0x1c8]
jmp 0x51fd91
fst dword [esp + 0x1c8]
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fld dword [esp + 0x1cc]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x51fdca
fstp dword [esp + 0x14c]
jmp 0x51fdd3
fstp st(0)
fst dword [esp + 0x14c]
fstp st(0)
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x1cc], eax
jmp case.0x51fbc2.1
fld dword [edi + ebp*4 + 0x48]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fld dword [esp + 0x1cc]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x51fe23
fstp dword [esp + 0x14c]
jmp 0x51fe2c
fstp st(0)
fst dword [esp + 0x14c]
fstp st(0)
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x1cc], eax
jmp case.0x51fbc2.1
fld dword [edi + ebp*4 + 0x84]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fld dword [esp + 0x1cc]
fucom st(1)
fxch st(1)
fnstsw ax
sahf
ja 0x51fe7f
fstp dword [esp + 0x14c]
jmp 0x51fe88
fstp st(0)
fst dword [esp + 0x14c]
fstp st(0)
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x1cc], eax
mov ebp, dword [esi + ebp*4]
jmp 0x51fae0
mov edi, dword [esp + 0x288]
mov eax, dword [edi]
mov ebp, eax
dec ebp
cmp ebp, 0xe
ja case.0x51feb5.2
jmp dword [ebp*4 + 0x51febc]
lea edi, [0x64a8d8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov esi, 0x1b
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae320]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [esp + 0x1cc]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [0x64abc0]
fucompp
fnstsw ax
sahf
jne 0x51ffb7
fld dword [esp + 0x1cc]
fmul dword [0x6ae340]
fstp dword [0x64abc0]
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae344]
mov dword [0x64ceac], edx
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov edx, 9
mov dword [0x64ce24], edx
mov ecx, 4
mov dword [0x64ce20], ecx
mov dword [esp], ebp
lea edx, [0x64abc0]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x1cc]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
lea edi, [0x64a8d8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov esi, 0x1b
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae364]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
fld dword [esp + 0x1d0]
fst dword [esp + 0x144]
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
fabs
fstp dword [esp + 0x150]
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [esp + 0x1d0]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fst dword [esp + 0x1cc]
fld dword [0x6adfd8]
fld dword [0x64abc8]
fucompp
fnstsw ax
sahf
jne 0x520146
fld st(0)
fmul dword [0x6ae340]
fstp dword [0x64abc8]
fstp st(0)
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae344]
mov dword [0x64ceac], edx
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov edx, 9
mov dword [0x64ce24], edx
mov ecx, 4
mov dword [0x64ce20], ecx
mov dword [esp], ebp
lea edx, [0x64abc8]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x1cc]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
fld dword [0x6adfd8]
fld dword [0x64abcc]
fucompp
fnstsw ax
sahf
jne 0x520212
fld dword [esp + 0x1cc]
fmul dword [0x6ae340]
fstp dword [0x64abcc]
mov eax, dword [edi]
cmp eax, 8
je case.0x51feb5.1
mov ecx, dword [0x64a138]
test ecx, ecx
lea ebp, [0x64ce18]
mov edi, 1
mov esi, 4
lea ebx, [esp + 0x1cc]
je 0x5202b4
lea edx, [0x64a8d8]
mov dword [0x64ce30], edx
mov eax, 0x1b
mov dword [0x64ce34], eax
mov dword [0x64ce38], edi
lea ecx, [0x6ae384]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov eax, 9
mov dword [0x64ce24], eax
mov dword [0x64ce20], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
jmp 0x520321
lea ecx, [0x64a8d8]
mov dword [0x64ce30], ecx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov dword [0x64ce38], edi
lea eax, [0x6ae3a4]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov edx, 9
mov dword [0x64ce24], edx
mov dword [0x64ce20], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
lea ebx, [0x64a8d8]
mov dword [esp], ebx
mov edx, 0x1b
mov dword [esp + 4], edx
call fcn.00523ff0
mov dword [0x64ce30], ebx
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov dword [0x64ce38], edi
lea edx, [0x6ae344]
mov dword [0x64ceac], edx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov ecx, 9
mov dword [0x64ce24], ecx
mov dword [0x64ce20], esi
mov dword [esp], ebp
lea edx, [0x64abcc]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], ebx
mov ecx, 0x1b
mov dword [esp + 4], ecx
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x1cc]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov edx, dword [esp + 0x22c]
test edx, edx
lea ebp, [0x64ce18]
mov edi, 1
mov esi, 4
lea ebx, [esp + 0x1cc]
je 0x52046b
lea eax, [0x64a8d8]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov dword [0x64ce38], edi
lea edx, [0x6ae3c4]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov ecx, 9
mov dword [0x64ce24], ecx
mov dword [0x64ce20], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
jmp 0x5204d8
lea edx, [0x64a8d8]
mov dword [0x64ce30], edx
mov eax, 0x1b
mov dword [0x64ce34], eax
mov dword [0x64ce38], edi
lea ecx, [0x6ae3e4]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov eax, 9
mov dword [0x64ce24], eax
mov dword [0x64ce20], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
lea ecx, [0x64a8d8]
mov dword [esp], ecx
mov edx, 0x1b
mov dword [esp + 4], edx
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [0x64abc4]
fucompp
fnstsw ax
sahf
jne 0x520519
fld dword [esp + 0x1cc]
fmul dword [0x6ae340]
fstp dword [0x64abc4]
lea ebx, [0x64a8d8]
mov dword [0x64ce30], ebx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov dword [0x64ce38], edi
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov dword [0x64ce1c], esi
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], edi
mov edx, 9
mov dword [0x64ce24], edx
mov dword [0x64ce20], esi
mov dword [esp], ebp
lea ecx, [0x64abc4]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], ebx
mov edx, 0x1b
mov dword [esp + 4], edx
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x1cc]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov eax, dword [0x64c758]
test eax, eax
jne 0x520afc
fld dword [0x6adfd8]
fst dword [esp + 0x224]
fst dword [esp + 0x228]
fstp dword [0x64ee14]
mov ecx, dword [0x64f1c8]
mov dword [0x64f1c4], ecx
mov ebx, dword [esp + 0x280]
mov edx, dword [esp + 0x284]
mov dword [esp + 0x1a4], edx
mov eax, dword [esp + 0x288]
mov dword [esp + 0x220], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [0x64f1c4]
test ebp, ebp
je 0x520afc
mov ecx, dword [case.0x407d9a.10]
cmp ecx, ebp
je 0x520abd
mov edx, 5
mov dword [esp + 0x128], edx
mov dword [esp], ebx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
lea edx, [0x64f1c4]
mov dword [esp + 8], edx
lea ecx, [esp + 0x128]
mov dword [esp + 0xc], ecx
call fcn.005e5440
mov edi, eax
fld dword [0x6adfd8]
fst dword [esp + 0x1b0]
fstp dword [esp + 0x1b4]
mov edx, 0
mov dword [esp + 0x21c], edx
mov dword [esp + 0x1a8], edi
mov ebp, edx
nop
nop
nop
nop
nop
mov dword [esp], ebx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 4], edx
lea eax, [esp + 0x1a8]
mov dword [esp + 8], eax
lea ecx, [esp + 0x120]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x5c], edx
call fcn.0041cd80
mov esi, dword [esp + 0x1a8]
mov edx, dword [esp + 0x5c]
mov eax, dword [edx + esi*4 - 4]
cmp eax, 4
je 0x520747
inc ebp
mov dword [esp], ebx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
mov edx, esi
shl edx, 2
add edx, ebx
lea eax, [edx - 4]
mov dword [esp + 8], eax
lea ecx, [esp + 0x1ac]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x19c]
mov dword [esp + 0x10], edx
call fcn.0041d410
fld dword [esp + 0x1b0]
fadd dword [esp + 0x1ac]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fadd dword [esp + 0x19c]
fstp dword [esp + 0x1b4]
mov esi, dword [esp + 0x120]
cmp esi, edi
je 0x520762
mov dword [esp + 0x1a8], esi
jmp 0x5206a0
mov dword [esp + 0x21c], ebp
test ebp, ebp
je 0x52079a
fld dword [esp + 0x1b0]
fild dword [esp + 0x21c]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fdivrp st(1)
fstp dword [esp + 0x1b4]
mov dword [esp], ebx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
lea edx, [esp + 0x1b0]
mov dword [esp + 8], edx
lea ecx, [esp + 0x1b4]
mov dword [esp + 0xc], ecx
call fcn.0051e920
test eax, eax
je 0x520abd
mov edx, dword [esp + 0x220]
mov eax, dword [edx]
cmp eax, 4
jne 0x52085f
mov ecx, 4
mov dword [esp + 0x128], ecx
mov edx, dword [0x64f1c4]
shl edx, 2
add edx, ebx
lea ecx, [edx - 4]
mov dword [esp], ecx
lea edx, [esp + 0x128]
mov dword [esp + 4], edx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x224]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x52083a
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x520843
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x144]
fstp dword [esp + 0x224]
jmp 0x520abd
mov eax, dword [esp + 0x220]
mov ecx, dword [eax]
cmp ecx, 0xc
jne 0x5208ec
mov edx, 0xc
mov dword [esp + 0x128], edx
mov ecx, dword [0x64f1c4]
shl ecx, 2
add ecx, ebx
lea edx, [ecx - 4]
mov dword [esp], edx
lea ecx, [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.005e5570
fst dword [esp + 0x144]
fld dword [esp + 0x228]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x5208c7
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x5208d0
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x144]
fstp dword [esp + 0x228]
jmp 0x520abd
mov edx, dword [esp + 0x220]
mov eax, dword [edx]
cmp eax, 0xd
jne 0x52098b
mov ecx, dword [0x64f1c4]
mov edx, dword [esp + 0x1a4]
mov ecx, dword [edx + ecx*4 + 0x18]
mov edx, 3
mov dword [esp + 0x128], edx
shl ecx, 2
add ecx, ebx
lea ecx, [ecx - 4]
mov dword [esp], ecx
lea edx, [esp + 0x128]
mov dword [esp + 4], edx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fld dword [0x64ee14]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x52096e
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x520977
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
mov eax, dword [esp + 0x14c]
mov dword [0x64ee14], eax
jmp 0x520abd
mov eax, dword [esp + 0x220]
mov ecx, dword [eax]
cmp ecx, 0xe
jne 0x520a2a
mov edx, 4
mov dword [esp + 0x128], edx
mov ecx, dword [0x64f1c4]
shl ecx, 2
add ecx, ebx
lea edx, [ecx - 4]
mov dword [esp], edx
lea ecx, [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [esp + 0x224]
fchs
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jb 0x520a03
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x520a0c
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fabs
fstp dword [esp + 0x224]
jmp 0x520abd
mov edx, dword [esp + 0x220]
mov eax, dword [edx]
cmp eax, 0xf
jne 0x520abd
mov ecx, 0xc
mov dword [esp + 0x128], ecx
mov edx, dword [0x64f1c4]
shl edx, 2
add edx, ebx
lea ecx, [edx - 4]
mov dword [esp], ecx
lea edx, [esp + 0x128]
mov dword [esp + 4], edx
call fcn.005e5570
fst dword [esp + 0x144]
fld dword [esp + 0x228]
fchs
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jb 0x520a9b
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x520aa4
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fabs
fstp dword [esp + 0x228]
mov ecx, 1
mov dword [esp + 0x128], ecx
mov dword [esp], ebx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 4], edx
lea ecx, [0x64f1c4]
mov dword [esp + 8], ecx
lea edx, [esp + 0x128]
mov dword [esp + 0xc], edx
call fcn.005e5440
mov dword [0x64f1c4], eax
jmp 0x520620
mov ebp, dword [esp + 0x288]
mov ecx, dword [ebp]
cmp ecx, 4
jne 0x520b98
lea edx, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], edx
mov eax, 0x1b
mov dword [0x64ce34], eax
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae404]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edi, 4
mov dword [0x64ce1c], edi
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov eax, 9
mov dword [0x64ce24], eax
mov dword [0x64ce20], edi
mov dword [esp], esi
lea ecx, [esp + 0x224]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x520e06
mov edx, dword [ebp]
cmp edx, 0xc
jne 0x520c2d
lea eax, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae424]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov edi, 4
mov dword [0x64ce1c], edi
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov dword [0x64ce20], edi
mov dword [esp], esi
lea edx, [esp + 0x228]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x520e06
mov eax, dword [ebp]
cmp eax, 0xd
jne 0x520cc1
lea ecx, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], ecx
mov edx, 0x1b
mov dword [0x64ce34], edx
mov ebx, 1
mov dword [0x64ce38], ebx
lea eax, [0x6ae444]
mov dword [0x64ceac], eax
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edi, 4
mov dword [0x64ce1c], edi
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov edx, 9
mov dword [0x64ce24], edx
mov dword [0x64ce20], edi
mov dword [esp], esi
lea eax, [0x64ee14]
mov dword [esp + 4], eax
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x520e06
mov ecx, dword [ebp]
cmp ecx, 0xe
jne 0x520d66
lea edx, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], edx
mov eax, 0x1b
mov dword [0x64ce34], eax
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae464]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edi, 4
mov dword [0x64ce1c], edi
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov eax, 9
mov dword [0x64ce24], eax
fld dword [esp + 0x224]
fchs
fstp dword [esp + 0x144]
mov dword [0x64ce20], edi
mov dword [esp], esi
lea ecx, [esp + 0x144]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
jmp 0x520e06
mov edx, dword [ebp]
cmp edx, 0xf
jne 0x520e06
lea eax, [0x64a8d8]
lea esi, [0x64ce18]
mov dword [0x64ce30], eax
mov ecx, 0x1b
mov dword [0x64ce34], ecx
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae484]
mov dword [0x64ceac], edx
mov eax, 0x4000208
mov dword [0x64ce18], eax
mov edi, 4
mov dword [0x64ce1c], edi
mov dword [esp], esi
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
fld dword [esp + 0x228]
fchs
fstp dword [esp + 0x144]
mov dword [0x64ce20], edi
mov dword [esp], esi
lea edx, [esp + 0x144]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], esi
call fcn.0063e1f0
lea edi, [0x64a8d8]
mov dword [esp], edi
mov esi, 0x1b
mov dword [esp + 4], esi
call fcn.00523ff0
mov eax, dword [ebp]
cmp eax, 4
jne 0x520ef9
fld dword [0x6adfd8]
fld dword [0x64abd4]
fucompp
fnstsw ax
sahf
jne 0x520e53
fld dword [esp + 0x224]
fmul dword [0x6ae340]
fstp dword [0x64abd4]
lea ebx, [0x64ce18]
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebp, 1
mov dword [0x64ce38], ebp
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebx
call fcn.0063d0a0
mov dword [0x64ce28], ebp
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebx
lea ecx, [0x64abd4]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebx
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x224]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov edx, dword [ebp]
cmp edx, 0xc
jne 0x520fd5
fld dword [0x6adfd8]
fld dword [0x64abd8]
fucompp
fnstsw ax
sahf
jne 0x520f2f
fld dword [esp + 0x228]
fmul dword [0x6ae340]
fstp dword [0x64abd8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [0x64abd8]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x228]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov edx, dword [ebp]
cmp edx, 0xd
jne 0x5210af
fld dword [0x6adfd8]
fld dword [0x64abdc]
fucompp
fnstsw ax
sahf
jne 0x52100a
fld dword [0x64ee14]
fmul dword [0x6ae340]
fstp dword [0x64abdc]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [0x64abdc]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [0x64ee14]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov edx, dword [ebp]
cmp edx, 0xe
jne 0x52118b
fld dword [0x6adfd8]
fld dword [0x64abe0]
fucompp
fnstsw ax
sahf
jne 0x5210e5
fld dword [esp + 0x224]
fmul dword [0x6ae340]
fstp dword [0x64abe0]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [0x64abe0]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x224]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
mov edx, dword [ebp]
cmp edx, 0xf
jne case.0x51feb5.1
fld dword [0x6adfd8]
fld dword [0x64abe4]
fucompp
fnstsw ax
sahf
jne 0x5211c1
fld dword [esp + 0x228]
fmul dword [0x6ae340]
fstp dword [0x64abe4]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov esi, 0x1b
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [0x64abe4]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x228]
fucompp
fnstsw ax
sahf
je 0x522d32
jmp case.0x51feb5.1
lea edi, [0x64a8d8]
lea ebp, [0x64ce18]
mov dword [0x64ce30], edi
mov esi, 0x1b
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea edx, [0x6ae4a4]
mov dword [0x64ceac], edx
mov ecx, 0x4000208
mov dword [0x64ce18], ecx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov edx, 9
mov dword [0x64ce24], edx
mov ecx, 4
mov dword [0x64ce20], ecx
mov dword [esp], ebp
lea edx, [esp + 0x1d4]
mov dword [esp + 4], edx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [esp + 0x1d4]
fst dword [esp + 0x1cc]
fld dword [0x6adfd8]
fld dword [0x64abc8]
fucompp
fnstsw ax
sahf
jne 0x521334
fld st(0)
fmul dword [0x6ae340]
fstp dword [0x64abc8]
fstp st(0)
mov dword [0x64ce30], edi
mov dword [0x64ce34], esi
mov ebx, 1
mov dword [0x64ce38], ebx
lea ecx, [0x6ae344]
mov dword [0x64ceac], ecx
mov edx, 0x4000208
mov dword [0x64ce18], edx
mov edx, 4
mov dword [0x64ce1c], edx
mov dword [esp], ebp
call fcn.0063d0a0
mov dword [0x64ce28], ebx
mov ecx, 9
mov dword [0x64ce24], ecx
mov edx, 4
mov dword [0x64ce20], edx
mov dword [esp], ebp
lea ecx, [0x64abc8]
mov dword [esp + 4], ecx
call fcn.0063d590
mov dword [esp], ebp
call fcn.0063e1f0
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.00523ff0
fld dword [0x6adfd8]
fld dword [esp + 0x1cc]
fucompp
fnstsw ax
sahf
je 0x522d32
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x288]
mov dword [esp + 0x138], edx
mov eax, dword [esp + 0x280]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x124], ecx
lea ebx, [esp + 0x15c]
lea esi, [esp + 0x164]
lea edi, [esp + 0x1d8]
lea ebp, [esp + 0x1fc]
mov dword [esp + 0x5c], eax
mov eax, 1
mov dword [esp + 0x60], ecx
mov ecx, 0
mov dword [esp + 0x64], edx
lea edx, [esp + 0x120]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x208]
mov dword [esp + 0x6c], edx
mov edx, 4
mov edx, 0xc
lea edx, [esp + 0x178]
mov dword [esp + 0x70], edx
lea edx, [esp + 0x180]
mov dword [esp + 0x74], edx
lea edx, [esp + 0x188]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x190]
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x14c]
mov dword [esp + 0x80], edx
lea edx, [esp + 0x198]
mov dword [esp + 0x84], edx
lea edx, [esp + 0x160]
mov dword [esp + 0x88], edx
lea edx, [esp + 0x168]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov edx, 4
mov edi, 0xc
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov ecx, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x210], eax
test eax, eax
mov ecx, dword [esp + 0x138]
mov ebp, dword [ecx]
je 0x5215ac
dec ebp
cmp ebp, 0xe
ja case.0x5215b6.10
jmp dword [ebp*4 + 0x521570]
dec ebp
cmp ebp, 0xe
ja case.0x5215b6.10
jmp dword [ebp*4 + 0x5215bd]
lea edx, [esp + 0x214]
mov dword [esp], edx
mov dword [esp + 4], edx
call fcn.00516378
jmp case.0x5215b6.1
lea eax, [esp + 0x218]
mov dword [esp], eax
mov dword [esp + 4], eax
call fcn.00516378
mov ecx, dword [0x64f1b4]
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x210]
mov eax, edx
mov dword [esp + 0x204], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0x1d8]
test ebp, ebp
je 0x522d00
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + ebp*4 + 0x40]
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x124]
mov ebx, dword [edx + ebp*4]
mov dword [esp + 0x1dc], ebx
mov ebx, dword [ecx + ebp*4 + 0x24]
mov dword [esp + 0x15c], ebx
mov ebx, dword [ecx + ebp*4 + 0x28]
mov dword [esp + 0x164], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x15c]
mov dword [esp + 8], ecx
lea edx, [esp + 0x164]
mov dword [esp + 0xc], edx
call fcn.0051e920
test eax, eax
je 0x522ced
mov eax, dword [esp + 0x124]
mov edi, dword [eax + ebp*4 + 0x44]
cmp edi, 4
je 0x522ced
mov ecx, dword [esp + 0x124]
mov esi, dword [ecx + ebp*4 + 4]
mov ebx, dword [ecx + ebp*4 + 8]
mov edx, dword [ecx + esi*4 + 0xc]
mov dword [esp + 0x1e0], edx
test edx, edx
je 0x522ced
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + ebx*4 + 0xc]
test ecx, ecx
je 0x522ced
mov edx, dword [esp + 0x124]
mov eax, dword [edx + ebp*4 + 0x20]
mov dword [esp + 0x1e4], eax
test eax, eax
jne 0x521732
mov ecx, dword [case.0x407d9a.54]
mov dword [esp + 0x1e4], ecx
mov edx, dword [esp + 0x1e4]
test edx, edx
jne 0x52175d
mov eax, dword [esp + 0x1e0]
sar eax, 0x1f
mov ecx, eax
xor ecx, dword [esp + 0x1e0]
sub ecx, eax
mov dword [esp + 0x1e4], ecx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], edx
cmp edx, 5
je 0x521796
mov eax, dword [esp + 0x1e8]
cmp eax, 9
je 0x521796
mov ecx, dword [esp + 0x138]
mov edx, dword [ecx]
cmp edx, 5
je 0x522ced
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + ebp*4 + 0x1c]
test ecx, ecx
jne 0x5217a9
mov ebp, edi
dec ebp
cmp ebp, 2
ja case.0x5217b5.1
jmp dword [ebp*4 + 0x5217bc]
mov dword [0x64f198], esi
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov ebp, dword [esp + 0x124]
mov dword [esp + 4], ebp
lea edi, [esp + 0x1d8]
mov dword [esp + 8], edi
lea eax, [esp + 0x1ec]
mov dword [esp + 0xc], eax
mov dword [esp + 0x5c], edx
call fcn.00421570
mov dword [0x64f198], ebx
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
lea edx, [esp + 0x1f0]
mov dword [esp + 0xc], edx
call fcn.00421570
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 0x1f8], ecx
jmp 0x5218f1
mov dword [0x64f198], esi
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
lea ecx, [esp + 0x1d8]
mov dword [esp + 8], ecx
lea edx, [esp + 0x1fc]
mov dword [esp + 0xc], edx
call fcn.00421570
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0x1f8], ecx
jmp 0x5218f1
mov dword [0x64f198], ebx
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
lea ecx, [esp + 0x1d8]
mov dword [esp + 8], ecx
lea edx, [esp + 0x1fc]
mov dword [esp + 0xc], edx
call fcn.00421570
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x1f8], ecx
mov edx, 1
mov dword [esp + 0x154], edx
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + eax*4 + 0x40]
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x138]
mov ebp, dword [edx]
cmp ebp, 3
je 0x521957
cmp ebp, 5
je 0x521957
mov eax, dword [0x64c7ac]
test eax, eax
je 0x521957
fld dword [0x6adfd8]
fld dword [esp + 0x1bc]
fucompp
fnstsw ax
sahf
je 0x522ced
dec ebp
cmp ebp, 0xe
ja case.0x521961.1
jmp dword [ebp*4 + 0x521968]
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
lea ecx, [esp + 0x1d8]
mov dword [esp + 8], ecx
lea edx, [esp + 0x200]
mov dword [esp + 0xc], edx
call fcn.00422260
mov ecx, 0
mov dword [esp + 0x154], ecx
fld dword [0x6ae4c4]
fld dword [esp + 0x200]
fucompp
fnstsw ax
sahf
jbe 0x521a04
mov edx, 1
mov dword [esp + 0x154], edx
mov eax, dword [esp + 0x1e8]
cmp eax, 5
jne 0x5221ee
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x124]
mov eax, dword [edx + ecx*4 + 0x54]
test eax, eax
jle 0x5221ee
mov ecx, 1
mov dword [esp + 0x154], ecx
jmp 0x5221ee
mov edx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x12c]
fld dword [eax + edx*4 + 0x84]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov ecx, dword [0x64c758]
test ecx, ecx
fxch st(1)
je 0x521aa3
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x521aa3
fstp st(0)
fstp st(0)
mov edx, 0
mov dword [esp + 0x154], edx
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c75c]
test eax, eax
je 0x521ae7
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x521ae7
fstp st(0)
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abc0]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x154], edx
jmp 0x5221ee
mov ecx, 1
mov dword [esp + 0x154], ecx
fld dword [0x6adfd8]
fld dword [esp + 0x1bc]
fucompp
fnstsw ax
sahf
jne 0x522ced
jmp 0x5221ee
jmp 0x5221ee
mov edx, dword [esp + 0x1e8]
cmp edx, 5
je 0x521b7a
mov eax, dword [esp + 0x1e8]
cmp eax, 9
jne case.0x521961.6
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x12c]
fld dword [0x6ae4c8]
fld dword [edx + ecx*4 + 0x54]
fucompp
fnstsw ax
sahf
jne 0x522ced
jmp 0x5221ee
mov eax, dword [0x64a138]
test eax, eax
mov ebp, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x12c]
fld dword [ecx + ebp*4 + 0x4c]
je 0x521bdb
mov edx, dword [esp + 0x12c]
fld st(0)
fdiv dword [edx + ebp*4 + 0x48]
fstp dword [esp + 0x1c8]
jmp 0x521be2
fst dword [esp + 0x1c8]
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c758]
test eax, eax
fxch st(1)
je 0x521c33
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x521c33
fstp st(0)
fstp st(0)
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov edx, dword [0x64c75c]
test edx, edx
je 0x521c77
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x521c77
fstp st(0)
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abcc]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
jmp 0x5221ee
mov edx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x12c]
fld dword [eax + edx*4 + 0x48]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov ecx, dword [0x64c758]
test ecx, ecx
fxch st(1)
je 0x521d1d
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x521d1d
fstp st(0)
fstp st(0)
mov edx, 0
mov dword [esp + 0x154], edx
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c75c]
test eax, eax
je 0x521d61
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x521d61
fstp st(0)
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abc4]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x154], edx
jmp 0x5221ee
mov eax, dword [0x64a138]
test eax, eax
mov ebp, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x12c]
fld dword [ecx + ebp*4 + 0x4c]
je 0x521ddf
mov edx, dword [esp + 0x12c]
fld st(0)
fdiv dword [edx + ebp*4 + 0x48]
fstp dword [esp + 0x170]
jmp 0x521de6
fst dword [esp + 0x170]
fstp st(0)
fld dword [esp + 0x170]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c758]
test eax, eax
fxch st(1)
je 0x521e37
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x521e37
fstp st(0)
fstp st(0)
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov edx, dword [0x64c75c]
test edx, edx
je 0x521e7b
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x521e7b
fstp st(0)
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x170]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abcc]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
jmp 0x5221ee
mov edx, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x12c]
fld dword [ecx + edx*4 + 0x88]
fst dword [esp + 0x1c8]
fld dword [0x6adfd8]
fucompp
fnstsw ax
sahf
jbe 0x522ced
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov edx, dword [0x64c758]
test edx, edx
fxch st(1)
je 0x521f3c
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x521f3c
fstp st(0)
fstp st(0)
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov ecx, dword [0x64c75c]
test ecx, ecx
je 0x521f80
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x521f80
fstp st(0)
mov edx, 0
mov dword [esp + 0x154], edx
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abc8]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov eax, dword [esp + 0x158]
mov dword [esp + 0x154], eax
jmp 0x5221ee
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x12c]
fld dword [edx + ecx*4 + 0x84]
fst dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c758]
test eax, eax
fxch st(1)
je 0x522025
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x522025
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5220a0
fst dword [esp + 0x144]
fxch st(1)
fst dword [esp + 0x150]
mov edx, dword [0x64c75c]
test edx, edx
fxch st(1)
je 0x522067
fld dword [0x64c770]
fucomp st(2)
fnstsw ax
sahf
jbe 0x522067
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5220a0
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abc0]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
fstp st(1)
fld dword [0x6adfd8]
fucompp
fnstsw ax
sahf
jae 0x5220c2
mov edx, dword [esp + 0x204]
test edx, edx
je 0x522ced
fld dword [0x6adfd8]
fld dword [esp + 0x1c8]
fucompp
fnstsw ax
sahf
ja 0x5221ee
mov eax, dword [esp + 0x204]
test eax, eax
jne 0x522ced
jmp 0x5221ee
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x12c]
fld dword [edx + ecx*4 + 0x88]
fst dword [esp + 0x1c8]
fld dword [0x6adfd8]
fucompp
fnstsw ax
sahf
jae 0x522ced
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov eax, dword [0x64c758]
test eax, eax
fxch st(1)
je 0x52216a
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x52216a
fstp st(0)
fstp st(0)
mov ecx, 0
mov dword [esp + 0x154], ecx
jmp 0x5221ee
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov edx, dword [0x64c75c]
test edx, edx
je 0x5221ae
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x5221ae
fstp st(0)
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5221ee
fstp st(0)
fld dword [esp + 0x1c8]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abc8]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
mov edx, 0
mov dword [esp + 0x1a0], edx
mov dword [0x64f198], esi
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
lea edx, [esp + 0x1f4]
mov dword [esp + 8], edx
lea eax, [esp + 0x120]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x208]
mov dword [esp + 0x10], ecx
call fcn.0041ccf0
mov edi, esi
mov ebp, ebx
mov esi, dword [esp + 0x1d8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + edx*4 - 4]
cmp ecx, 4
je 0x522c8c
mov edx, 2
mov dword [esp + 0x128], edx
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
lea ecx, [esp + 0x120]
mov dword [esp + 8], ecx
lea eax, [esp + 0x128]
mov dword [esp + 0xc], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
call fcn.005e5440
mov edx, eax
mov dword [esp + 0x130], edx
mov ecx, 3
mov dword [esp + 0x128], ecx
mov dword [esp], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x5c], edx
call fcn.005e5440
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x5c]
cmp ecx, edi
jne 0x52230e
mov edx, dword [esp + 0x134]
cmp edx, ebp
je 0x52232c
mov eax, dword [esp + 0x130]
cmp eax, ebp
jne 0x522c8c
mov ecx, dword [esp + 0x134]
cmp ecx, edi
jne 0x522c8c
mov edx, dword [esp + 0x138]
mov ebx, dword [edx]
cmp ebx, 4
je 0x522362
cmp ebx, 0xc
je 0x522362
cmp ebx, 0xd
je 0x522362
cmp ebx, 0xe
je 0x522362
cmp ebx, 0xf
jne 0x5228b9
mov eax, dword [0x64f198]
mov dword [esp + 0x13c], eax
cmp eax, edi
jne 0x522388
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + esi*4 + 0x18]
mov dword [0x64f1c4], edx
mov eax, dword [esp + 0x13c]
cmp eax, ebp
jne 0x5223a8
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + esi*4 + 0x14]
mov dword [0x64f1c4], edx
mov eax, dword [0x64f1c4]
mov dword [esp + 0x140], eax
test eax, eax
je 0x522697
cmp ebx, 4
jne 0x522454
mov ecx, 4
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x140]
shl edx, 2
add edx, dword [esp + 0x12c]
lea ecx, [edx - 4]
mov dword [esp], ecx
lea edx, [esp + 0x128]
mov dword [esp + 4], edx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [0x6adfd8]
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x52242f
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x522438
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fstp dword [esp + 0x148]
jmp 0x5226a4
mov eax, dword [esp + 0x138]
mov ecx, dword [eax]
cmp ecx, 0xc
jne 0x5224f3
mov edx, 0xc
mov dword [esp + 0x128], edx
mov ecx, dword [0x64f1c4]
shl ecx, 2
add ecx, dword [esp + 0x12c]
lea edx, [ecx - 4]
mov dword [esp], edx
lea ecx, [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [0x6adfd8]
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x5224ce
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x5224d7
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fstp dword [esp + 0x148]
jmp 0x5226a4
mov edx, dword [esp + 0x138]
mov eax, dword [edx]
cmp eax, 0xd
jne 0x522555
mov ecx, dword [0x64f1c4]
mov edx, dword [esp + 0x124]
mov eax, dword [edx + ecx*4 + 0x18]
mov ecx, 3
mov dword [esp + 0x128], ecx
shl eax, 2
add eax, dword [esp + 0x12c]
lea edx, [eax - 4]
mov dword [esp], edx
lea eax, [esp + 0x128]
mov dword [esp + 4], eax
call fcn.005e5570
fst dword [esp + 0x144]
fstp dword [esp + 0x148]
jmp 0x5226a4
mov ecx, dword [esp + 0x138]
mov edx, dword [ecx]
cmp edx, 0xe
jne 0x5225f6
mov ecx, 4
mov dword [esp + 0x128], ecx
mov edx, dword [0x64f1c4]
shl edx, 2
add edx, dword [esp + 0x12c]
lea ecx, [edx - 4]
mov dword [esp], ecx
lea edx, [esp + 0x128]
mov dword [esp + 4], edx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [0x6adfd8]
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jb 0x5225cf
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x5225d8
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fabs
fstp dword [esp + 0x148]
jmp 0x5226a4
mov eax, dword [esp + 0x138]
mov ecx, dword [eax]
cmp ecx, 0xf
jne 0x5226a4
mov edx, 0xc
mov dword [esp + 0x128], edx
mov ecx, dword [0x64f1c4]
shl ecx, 2
add ecx, dword [esp + 0x12c]
lea edx, [ecx - 4]
mov dword [esp], edx
lea ecx, [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.005e5570
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [0x6adfd8]
fst dword [esp + 0x144]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jb 0x522670
fxch st(1)
fstp dword [esp + 0x14c]
jmp 0x522679
fstp st(1)
fst dword [esp + 0x14c]
fstp st(0)
fld dword [esp + 0x14c]
fst dword [esp + 0x150]
fabs
fstp dword [esp + 0x148]
jmp 0x5226a4
mov eax, dword [0x6adfd8]
mov dword [esp + 0x148], eax
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fld st(0)
fabs
fst dword [esp + 0x150]
mov edx, dword [0x64c758]
test edx, edx
fxch st(1)
je 0x5226f3
fld dword [0x64c76c]
fucomp st(2)
fnstsw ax
sahf
jae 0x5226f3
fstp st(0)
fstp st(0)
mov eax, 0
mov dword [esp + 0x154], eax
jmp 0x5228b9
fstp st(1)
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
mov ecx, dword [0x64c75c]
test ecx, ecx
je 0x522737
fld dword [0x64c770]
fucomp st(1)
fnstsw ax
sahf
jbe 0x522737
fstp st(0)
mov edx, 0
mov dword [esp + 0x154], edx
jmp 0x5228b9
fstp st(0)
mov eax, dword [esp + 0x138]
mov ebx, dword [eax]
cmp ebx, 4
jne 0x52278e
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abd4]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
jmp 0x5228b9
cmp ebx, 0xc
jne 0x5227da
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abd8]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x154], edx
jmp 0x5228b9
cmp ebx, 0xd
jne 0x522826
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abdc]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov eax, dword [esp + 0x158]
mov dword [esp + 0x154], eax
jmp 0x5228b9
cmp ebx, 0xe
jne 0x522872
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abe0]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x154], ecx
jmp 0x5228b9
cmp ebx, 0xf
jne 0x5228b9
fld dword [esp + 0x148]
fst dword [esp + 0x144]
fabs
fst dword [esp + 0x150]
fdiv dword [0x64abe4]
fldcw word [0x6c4558]
fistp dword [esp + 0x158]
fldcw word [0x6c455c]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x154], edx
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x12c]
fld dword [ecx + eax*4 + 0x24]
fadd dword [esp + 0x15c]
fmul dword [0x6ae01c]
fstp dword [esp + 0x160]
fld dword [ecx + eax*4 + 0x28]
fadd dword [esp + 0x164]
fmul dword [0x6ae01c]
fstp dword [esp + 0x168]
mov edx, dword [esp + 0x138]
mov eax, dword [edx]
cmp eax, 8
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x16c], ecx
jne 0x522be9
mov edx, dword [esp + 0x16c]
test edx, edx
jle 0x522c8c
mov eax, dword [0x64f198]
cmp eax, ebp
jne 0x522944
fld dword [esp + 0x170]
fchs
fstp dword [esp + 0x170]
fld dword [esp + 0x170]
fst dword [esp + 0x144]
fld st(0)
fabs
fstp dword [esp + 0x150]
mov ecx, dword [0x64c758]
test ecx, ecx
je 0x52298b
fld dword [esp + 0x150]
fld dword [0x64c76c]
fucompp
fnstsw ax
sahf
fstp dword [esp + 0x50]
jb 0x522c8c
fld dword [esp + 0x50]
fst dword [esp + 0x144]
fld st(0)
fabs
fstp dword [esp + 0x150]
mov edx, dword [0x64c75c]
test edx, edx
je 0x5229cb
fld dword [esp + 0x150]
fld dword [0x64c770]
fucompp
fnstsw ax
sahf
fstp dword [esp + 0x50]
ja 0x522c8c
fld dword [esp + 0x50]
fld dword [0x6adfd8]
fucompp
fnstsw ax
sahf
mov ecx, dword [0x64c710]
mov dword [esp + 0x174], ecx
jae 0x522ae9
mov edx, dword [esp + 0x174]
cmp edx, 6
jne 0x522a74
fld dword [esp + 0x15c]
fstp qword [esp + 0x178]
fld dword [esp + 0x164]
fstp qword [esp + 0x180]
fld dword [esp + 0x160]
fsub dword [esp + 0x15c]
fstp qword [esp + 0x188]
fld dword [esp + 0x168]
fsub dword [esp + 0x164]
fstp qword [esp + 0x190]
lea eax, [esp + 0x178]
mov dword [esp], eax
lea ecx, [esp + 0x180]
mov dword [esp + 4], ecx
lea edx, [esp + 0x188]
mov dword [esp + 8], edx
lea eax, [esp + 0x190]
mov dword [esp + 0xc], eax
call fcn.00418670
jmp 0x522c8c
fld dword [esp + 0x160]
fsub dword [esp + 0x15c]
fstp dword [esp + 0x14c]
fld dword [esp + 0x168]
fsub dword [esp + 0x164]
fstp dword [esp + 0x198]
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
lea eax, [esp + 0x15c]
mov dword [esp + 8], eax
lea ecx, [esp + 0x164]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x14c]
mov dword [esp + 0x10], edx
lea eax, [esp + 0x198]
mov dword [esp + 0x14], eax
call fcn.00526200
jmp 0x522c8c
mov ecx, dword [esp + 0x174]
cmp ecx, 6
jne 0x522b74
fld dword [esp + 0x160]
fstp qword [esp + 0x178]
fld dword [esp + 0x168]
fstp qword [esp + 0x180]
fld dword [esp + 0x15c]
fsub dword [esp + 0x160]
fstp qword [esp + 0x188]
fld dword [esp + 0x19c]
fsub dword [esp + 0x168]
fstp qword [esp + 0x190]
lea edx, [esp + 0x178]
mov dword [esp], edx
lea eax, [esp + 0x180]
mov dword [esp + 4], eax
lea ecx, [esp + 0x188]
mov dword [esp + 8], ecx
lea edx, [esp + 0x190]
mov dword [esp + 0xc], edx
call fcn.00418670
jmp 0x522c8c
fld dword [esp + 0x15c]
fsub dword [esp + 0x160]
fstp dword [esp + 0x14c]
fld dword [esp + 0x164]
fsub dword [esp + 0x168]
fstp dword [esp + 0x198]
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
lea edx, [esp + 0x160]
mov dword [esp + 8], edx
lea eax, [esp + 0x168]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x14c]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x198]
mov dword [esp + 0x14], edx
call fcn.00526200
jmp 0x522c8c
mov eax, dword [esp + 0x16c]
test eax, eax
jle 0x522c8c
mov ecx, 3
mov dword [esp + 0x128], ecx
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
lea ecx, [esp + 0x15c]
mov dword [esp + 8], ecx
lea eax, [esp + 0x164]
mov dword [esp + 0xc], eax
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x128]
mov dword [esp + 0x10], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
call fcn.0052dcf0
mov dword [esp], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xc], edx
lea eax, [esp + 0x160]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x168]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x154]
mov dword [esp + 0x18], edx
call fcn.00529ec0
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x522ced
mov dword [0x64f198], ebp
mov ecx, dword [esp + 0x12c]
mov dword [esp], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
lea eax, [esp + 0x1f8]
mov dword [esp + 8], eax
lea ecx, [esp + 0x120]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x208]
mov dword [esp + 0x10], edx
call fcn.0041ccf0
mov eax, 1
mov dword [esp + 0x1a0], eax
jmp 0x522250
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x1d8], ecx
jmp 0x521650
mov edx, dword [esp + 0x138]
mov eax, dword [edx]
cmp eax, 0xa
jne 0x522d32
mov ecx, dword [esp + 0x210]
test ecx, ecx
je 0x522d32
mov edx, 0
mov dword [esp + 0x20c], edx
jmp 0x521540
mov eax, dword [esp + 0x22c]
test eax, eax
jne 0x522d72
mov ecx, 1
mov dword [esp + 0x250], ecx
mov edx, dword [esp + 0x280]
mov dword [esp], edx
mov eax, dword [esp + 0x284]
mov dword [esp + 4], eax
lea ecx, [esp + 0x250]
mov dword [esp + 8], ecx
call fcn.00536010
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x27c
ret