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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e99bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3bc
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xe0]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0x3ff00000
call fcn.005e2960
xor ebx, ebx
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x2b8], ebx
call fcn.005e2a56
cmp eax, ebx
je 0x456828
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
mov dword [esp + 0xb4], eax
jmp 0x45682f
mov dword [esp + 0xb4], ebx
mov eax, dword [0x63a8e0]
mov ecx, dword [0x63a8e4]
fld qword [esi + 0x9cd0]
mov dword [esp + 0x48], eax
mov dword [esp + 0x11c], ecx
call fcn.005e35c0
mov edx, dword [0x6405c4]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa4], edx
mov edi, eax
fild qword [esp + 0xa4]
fmul qword [0x63a958]
call fcn.005e35c0
mov edx, dword [0x640780]
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [edx + 0xc]
xor edx, edx
mov eax, dword [eax + 4]
div ecx
mov dword [esp + 0x44], eax
mov eax, dword [0x6405c4]
cmp eax, edi
jb 0x4569e6
mov eax, dword [esi + 0x30d0]
cmp eax, 1
je 0x4569e6
cmp eax, 2
je 0x4569e6
cmp dword [esi + 0x9d08], ebx
jne 0x4569e6
cmp dword [esi + 0x9d6c], ebx
jne 0x4569e6
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
fild qword [esp + 0xa4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ebx
fsubr qword [esi + 0x9cd0]
fild qword [esp + 0xa4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, 9
cmp ecx, eax
je 0x45692f
cmp dword [esp + 0x11c], eax
jne 0x4569d9
fld qword [esi + 0x9d28]
call fcn.005e35c0
mov edx, dword [esi + 0x313c]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa4], edx
fild qword [esp + 0xa4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ebx
fmul qword [esi + 0x9d28]
fst qword [esp + 0x104]
fild qword [esp + 0xa4]
fcomp qword [esi + 0x9d28]
fnstsw ax
test ah, 0x40
je 0x4569d7
fcomp qword [0x606410]
fnstsw ax
test ah, 0x41
je 0x4569d9
mov eax, dword [0x6405c4]
mov edi, dword [esp + 0x44]
imul eax, edi
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ebx
fild qword [esp + 0xa4]
fsubr qword [esp + 0x104]
call fcn.005e35c0
cmp eax, edi
mov dword [esp + 0x38], eax
jbe 0x4569d9
mov dword [esp + 0x38], edi
mov dword [esp + 0x140], 1
jmp 0x4569f5
fstp st(0)
mov dword [esp + 0x140], 1
jmp 0x4569f5
mov eax, dword [esp + 0x44]
mov dword [esp + 0x140], ebx
mov dword [esp + 0x38], eax
fld qword [esi + 0x9d18]
fadd qword [esi + 0x9d10]
fld qword [0x6018a8]
mov ecx, dword [0x640780]
mov dword [esp + 0xa8], ebx
fdiv st(1)
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x98e8]
mov dword [esp + 0xa4], edx
cmp eax, ebx
fild qword [esp + 0xa4]
fstp qword [esp + 0xa4]
fdiv qword [esp + 0xa4]
fstp qword [esp + 0xfc]
fld qword [esi + 0x9d10]
fdiv st(1)
fstp qword [esp + 0xf4]
fstp st(0)
jne 0x456a6b
fld qword [esp + 0xa4]
fmul qword [esi + 0x9d10]
call fcn.005e35c0
jmp 0x456a71
mov eax, dword [esi + 0x9874]
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x3c], eax
fnstsw ax
test ah, 1
je 0x456aa0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
jmp 0x456abe
fld qword [0x603518]
fld qword [esi + 0x98e0]
fmul qword [0x6042f8]
call fcn.005e3796
fstp qword [esp + 0xd4]
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + 0x3124]
cmp eax, 7
mov dword [esp + 0xa0], ecx
jne 0x457041
mov eax, dword [esi + 0x2f10]
cmp eax, ebx
jne 0x456aee
cmp dword [esi + 0x2f18], ebx
je 0x457041
mov edx, dword [esi + 0x3f0]
mov ecx, dword [esi + 0x3f4]
lea edi, [esi + 0x3f0]
mov dword [esp + 0x114], edx
mov edx, dword [esi + 0xa30]
mov dword [esp + 0x118], ecx
mov ecx, dword [esi + 0xa34]
mov dword [esp + 0x27c], edx
mov edx, dword [esi + 0xd0]
mov dword [esp + 0x280], ecx
mov ecx, dword [esi + 0x1070]
mov dword [esp + 0x8c], edx
mov edx, dword [esi + 0x1074]
mov dword [esp + 0x104], ecx
mov ecx, dword [esi + 0x19d0]
mov dword [esp + 0x108], edx
mov edx, dword [esi + 0x19d4]
mov dword [esp + 0x134], ecx
mov ecx, dword [esi + 0x2010]
mov dword [esp + 0x138], edx
mov edx, dword [esi + 0x2014]
mov dword [esp + 0x144], ecx
mov ecx, dword [esi + 0x16b0]
mov dword [esp + 0x148], edx
mov edx, dword [esi + 0x2650]
mov dword [esp + 0x150], ecx
mov ecx, dword [esi + 0x2654]
cmp eax, ebx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
jne 0x456d67
mov eax, dword [esp + 0xb4]
lea edx, [esp + 0xe0]
push edx
lea ecx, [eax + 0xd028]
call fcn.005e2a5c
mov ecx, dword [esp + 0xe0]
push ecx
call dword [0x600a78]
add esp, 4
lea edx, [esp + 0xe0]
lea ecx, [esi + 0x9c70]
mov dword [esp + 0xb4], eax
push edx
call fcn.005e2a5c
push ecx
lea eax, [esp + 0xe4]
mov ecx, esp
mov dword [esp + 0x134], esp
push eax
call fcn.005e2b04
call fcn.00543c70
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ecx
mov eax, dword [0x6405c4]
fild qword [esp + 0xa8]
add esp, 4
cmp eax, ebx
fdivr st(1)
fstp qword [esp + 0xbc]
fstp st(0)
jne 0x456d41
cmp dword [esi + 0x9878], ecx
jne 0x456d41
fld qword [esi + 0x98a0]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x456c86
cmp dword [esi + 0x98a8], ecx
jne 0x456c86
cmp dword [esi + 0x2cbc], ebx
jne 0x456c86
cmp dword [esi + 0x98b0], ebx
je 0x456d41
mov eax, dword [esi + 0xc8]
cmp eax, ebx
jle 0x456cc7
mov edx, dword [esi + 0x9868]
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
push ecx
push eax
lea eax, [esi + 0x1070]
push eax
lea eax, [esi + 0xa30]
push edi
push eax
lea ecx, [esi + 0x68]
call fcn.004d2bf0
mov eax, dword [esi + 0xcc]
cmp eax, ebx
jle 0x456d0e
mov edx, dword [esi + 0x986c]
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
push ecx
push eax
lea eax, [esi + 0x2650]
push eax
lea eax, [esi + 0x19d0]
push eax
lea eax, [esi + 0x2010]
push eax
lea ecx, [esi + 0x68]
call fcn.004d2bf0
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov dword [esi + 0x98a0], edx
mov dword [esi + 0x98a4], eax
mov dword [esi + 0x98a8], ecx
mov dword [esi + 0x2cbc], ebx
mov dword [esi + 0x98b0], ebx
mov eax, 0x64
mov dword [esi + 0xd0], eax
mov dword [esi + 0x16b0], eax
mov eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0xb4], eax
jmp 0x457026
mov edi, dword [esi + 0x2c94]
cmp edi, ebx
je 0x456e09
jle 0x457026
cmp edi, 7
jg 0x457026
fld qword [0x6034e8]
cmp edi, 1
jne 0x456d97
fld qword [0x6031b8]
jmp 0x456dbf
fld qword [0x6034e8]
lea edx, [edi - 2]
mov dword [esp + 0x120], edx
fild dword [esp + 0x120]
call fcn.005e3796
fdivr qword [0x6031b8]
fmul qword [0x603750]
call fcn.005e3796
fld qword [esi + 0x2f00]
fdiv st(1)
lea eax, [esi + 0x3248]
inc edi
push eax
push edi
mov ecx, esi
fstp qword [esp + 0xc4]
fmul qword [esi + 0x2f08]
fstp qword [esp + 0xac]
call fcn.00473ef0
mov dword [esi + 0x985c], eax
mov ecx, dword [esi + 0x9858]
mov dword [esp + 0x40], 1
jmp 0x45701f
mov eax, dword [esp + 0xb4]
lea edx, [esp + 0xe0]
push edx
lea ecx, [eax + 0xd028]
call fcn.005e2a5c
mov ecx, dword [esp + 0xe0]
push ecx
call dword [0x600a78]
add esp, 4
lea edx, [esp + 0xe0]
lea ecx, [esi + 0x9c70]
mov edi, eax
push edx
call fcn.005e2a5c
push ecx
lea eax, [esp + 0xe4]
mov ecx, esp
mov dword [esp + 0x134], esp
push eax
call fcn.005e2b04
call fcn.00543c70
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ebx
fild qword [esp + 0xa8]
mov eax, dword [esi + 0x2ca0]
add esp, 4
cmp eax, ebx
fdivr st(1)
fstp qword [esp + 0xbc]
fstp st(0)
jne 0x456ea9
shr edi, 1
inc edi
mov dword [esp + 0x40], 1
mov dword [esp + 0xb4], edi
jmp 0x457026
cmp dword [0x6405c4], ebx
jne 0x457005
cmp dword [esi + 0x9878], edi
jne 0x457005
mov ecx, dword [esi + 0x2c98]
mov eax, dword [esi + 0x9890]
cmp eax, ecx
jne 0x456f37
mov edx, dword [esi + 0x9894]
mov eax, dword [esi + 0x2c9c]
cmp edx, eax
jne 0x456f37
fild dword [esi + 0x9898]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x456f37
fild dword [esi + 0x989c]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x456f37
fld qword [esi + 0x98a0]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x456f37
cmp dword [esi + 0x98a8], edi
jne 0x456f37
cmp dword [esi + 0x98ac], ebx
jne 0x456f37
cmp dword [esi + 0x98b0], ebx
jne 0x457005
mov eax, dword [esi + 0x3000]
mov edx, dword [esi + 0x2ffc]
push ebx
push eax
mov eax, dword [esi + 0x300c]
push edx
mov edx, dword [esi + 0x986c]
push eax
mov eax, dword [esi + 0x9868]
push edx
mov edx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xd4]
push edi
push edx
mov edx, dword [esi + 0x2f0c]
push eax
mov eax, dword [esi + 0x2f08]
push edx
mov edx, dword [esi + 0x2f04]
push eax
mov eax, dword [esi + 0x2f00]
push edx
mov edx, dword [esi + 0x2c9c]
push eax
push edx
push ecx
lea ecx, [esi + 0x68]
call fcn.004d2330
mov eax, dword [esi + 0x2c98]
mov dword [esi + 0x9890], eax
mov ecx, dword [esi + 0x2c9c]
mov dword [esi + 0x9894], ecx
fld qword [esi + 0x2f00]
call fcn.005e35c0
mov dword [esi + 0x9898], eax
fld qword [esi + 0x2f08]
call fcn.005e35c0
mov edx, dword [esp + 0xbc]
mov dword [esi + 0x989c], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + 0x98a0], edx
mov dword [esi + 0x98a4], eax
mov dword [esi + 0x98a8], edi
mov ecx, 1
mov dword [esi + 0x98ac], ebx
mov dword [esi + 0x98b0], ecx
jmp 0x45700a
mov ecx, 1
mov eax, 0x64
mov dword [esp + 0x40], ecx
mov dword [esi + 0xd0], eax
mov dword [esi + 0x16b0], eax
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x120], edx
jmp 0x457058
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x110], ecx
mov edx, dword [esp + 0x44]
mov edi, dword [esi + 0x2ff8]
xor eax, eax
lea ecx, [edx*8]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
fild dword [esi + 0x98d8]
fstp qword [esp + 0x124]
mov eax, dword [esi + 0x30f0]
mov ecx, dword [esi + 0x30f4]
mov edx, dword [esi + 0x30d4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], ecx
cmp eax, 7
mov dword [esp + 0xf0], edx
jne 0x457377
cmp dword [esi + 0x2f10], ebx
je 0x45710f
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x4570d4
cmp dword [esi + 0x2ca0], ebx
jne 0x45710f
cmp eax, ebx
mov dword [esp + 0xb0], ebx
jne 0x45710f
fld qword [esi + 0x2f00]
fsub qword [esp + 0xbc]
fdiv qword [esp + 0xbc]
call fcn.005e35c0
cmp eax, 1
mov dword [esp + 0xb0], eax
jae 0x45710f
mov dword [esp + 0xb0], 1
cmp dword [esp + 0x48], 7
jne 0x457377
cmp dword [esi + 0x2f10], ebx
je 0x457377
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x457240
cmp dword [esi + 0x2ca0], ebx
jne 0x457377
cmp eax, ebx
jne 0x457240
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c4], eax
fild qword [esp + 0x2c4]
fmul qword [esp + 0xbc]
call fcn.005e35c0
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d8], ebx
fild qword [esp + 0x2d4]
fstp qword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x3f0], ecx
mov dword [esi + 0x3f4], edx
fld qword [esi + 0x2f00]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 1
jne 0x4571cd
fld qword [esi + 0x2f00]
fsub qword [esp + 0xbc]
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
je 0x4571d3
fstp st(0)
fld qword [0x6018a8]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x458fed
fld qword [esp + 0xbc]
fadd qword [esi + 0x2f08]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45738b
fld qword [0x63a958]
fmul qword [0x6031b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45738b
cmp dword [esi + 0x2c98], ebx
je 0x4572dc
fld qword [esp + 0xc]
fsqrt
fdivr qword [0x6018a8]
fstp qword [esi + 0xa30]
jmp 0x4572ec
mov ecx, dword [esp + 0xb0]
fld qword [esi + ecx*8 + 0x3248]
call fcn.005e35c0
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e8], ebx
fild qword [esp + 0x2e4]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fcomp qword [esp + 0xbc]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x3f0], edx
mov dword [esi + 0x3f4], eax
fnstsw ax
test ah, 1
jne 0x458fed
fld qword [esp + 0xc]
fcomp qword [0x6018a8]
fnstsw ax
test ah, 1
jne 0x458fed
fld qword [esp + 0xc]
fcomp qword [esp + 0xa4]
fnstsw ax
test ah, 0x41
je 0x45738b
fld qword [0x63a958]
fmul qword [0x6031b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45738b
mov dword [esi + 0xa30], ebx
mov dword [esi + 0xa34], 0x3ff00000
mov dword [esi + 0xd0], 1
mov ecx, dword [esi + 0x98b8]
cmp ecx, dword [esi + 0x2c94]
jne 0x45734d
fild dword [esi + 0x98c0]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x45734d
fild dword [esi + 0x98c4]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x45734d
mov edx, dword [esi + 0x98bc]
mov eax, dword [esi + 0x2c9c]
cmp edx, eax
jne 0x45734d
fld qword [esi + 0x98c8]
fcomp qword [0x63a958]
fnstsw ax
test ah, 0x40
jne 0x457356
push ebx
lea ecx, [esi + 0x68]
call fcn.004d15b0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esi + eax*8 + 0x6550]
mov dword [esi + 0x1070], ecx
mov edx, dword [esi + eax*8 + 0x6554]
mov dword [esi + 0x1074], edx
mov eax, dword [esp + 0x40]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x18], ecx
jbe 0x458fe2
jmp 0x4573a2
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb0], eax
jmp 0x458fed
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jge 0x4573cb
cmp dword [esi + 0x9d6c], ebx
jne 0x4573cb
mov edx, dword [esi + ecx*8 + 0x3f0]
mov dword [ecx*8 + 0x63c1d0], edx
mov eax, dword [esi + ecx*8 + 0x3f4]
mov dword [ecx*8 + 0x63c1d4], eax
fld qword [esi + ecx*8 + 0x1070]
fst qword [esp + 0x2c]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4573f1
fld qword [esp + 0x2c]
fadd qword [0x606460]
fstp qword [esp + 0x2c]
cmp dword [esi + 0x9cc8], ebx
je 0x45740a
cmp dword [esi + 0x9d24], 1
je 0x45740a
cmp dword [esi + 0x9d6c], ebx
je 0x457418
fld qword [esi + ecx*8 + 0x3f0]
fstp qword [esp + 0xe4]
mov ecx, dword [esi + ecx*4 + 0xd0]
cmp ecx, 0x64
ja case.0x457430.10
xor edx, edx
mov dl, byte [ecx + 0x45da34]
jmp dword [edx*4 + 0x45da08]
mov eax, dword [esp + 0x44]
mov edi, dword [esi + 0x2ff8]
lea ecx, [eax*8]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x457555
cmp edi, ebx
jne 0x4574e1
cmp dword [0x6405c4], ebx
jne 0x4574e1
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x4574f4
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2f8], ebx
fild qword [esp + 0x2f4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2dc], ecx
fsubp st(1)
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x2dc]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x457555
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x4576e1
cmp dword [esi + 0x9d24], ebx
jne 0x4576e1
cmp dword [esi + 0x9d6c], ebx
jne 0x4576e1
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x2d0], ebx
fild qword [esp + 0x2cc]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ebx
fild qword [esp + 0x178]
mov dword [esp + 0x244], edi
mov dword [esp + 0x248], ebx
fmul st(1)
fild qword [esp + 0x244]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ebx
fild qword [esp + 0x160]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x457637
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x457620
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x457637
mov edx, dword [esp + 0x18]
fld qword [esi + edx*8 + 0x1070]
fmul qword [0x606458]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x45768f
cmp eax, ebx
je 0x457663
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4576da
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4576d5
cmp eax, ebx
je 0x4576ab
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4576da
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
cmp edi, ebx
jne 0x457704
cmp dword [0x6405c4], ebx
je 0x45771e
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x4576ff
cmp dword [esp + 0x40], 1
jne 0x45771e
jmp 0x457704
cmp eax, 0xa
je 0x45771e
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x457731
cmp eax, ebx
je 0x457731
cmp dword [esi + 0x9d20], ebx
je 0x457731
mov eax, dword [esp + 0x18]
fld qword [esi + eax*8 + 0x1070]
fmul qword [0x606458]
jmp 0x457764
mov ecx, dword [0x640780]
mov dword [esp + 0x2b4], ebx
fld qword [esp + 0xe4]
mov edx, dword [ecx + 4]
fmul qword [0x6034f0]
mov dword [esp + 0x2b0], edx
fild qword [esp + 0x2b0]
fdivp st(1)
fadd qword [esi + 0x30e0]
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
fmul qword [0x606450]
call fcn.005e35c0
add eax, eax
mov dword [esp + 0x198], ebx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x14]
fild qword [esp + 0x194]
cmp eax, ebx
fmul qword [0x606448]
fsubr qword [esi + 0x30e0]
fst qword [esi + 0x30e0]
je 0x4577f1
cmp dword [esi + 0x98e8], ebx
jne 0x4577cc
fsin
mov ecx, dword [esi + 0x2ff8]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edi*8]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x457832
fsin
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x2ff8]
lea eax, [eax + edi*8]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x457832
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x457815
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x457836
fsin
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x4574b1
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45794a
cmp edi, ebx
jne 0x4578d6
cmp dword [0x6405c4], ebx
jne 0x4578d6
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x4578e9
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ebx
fild qword [esp + 0x254]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], ecx
fsubp st(1)
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x1a4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x45794a
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x457acf
cmp dword [esi + 0x9d24], ebx
jne 0x457acf
cmp dword [esi + 0x9d6c], ebx
jne 0x457acf
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x2ec], edx
mov dword [esp + 0x2f0], ebx
fild qword [esp + 0x2ec]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ebx
fild qword [esp + 0x1b4]
mov dword [esp + 0x264], edi
mov dword [esp + 0x268], ebx
fmul st(1)
fild qword [esp + 0x264]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ebx
fild qword [esp + 0x1c4]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x457a25
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x457a15
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x457a25
fld qword [esp + 0x2c]
fmul qword [0x606440]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x457a7d
cmp eax, ebx
je 0x457a51
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x457ac8
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x457ac3
cmp eax, ebx
je 0x457a99
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x457ac8
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov eax, dword [0x63abb0]
cmp eax, 1
je 0x457b54
cmp eax, 2
je 0x457b54
cmp edi, ebx
jne 0x457b01
cmp dword [0x6405c4], ebx
je 0x457b1b
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x457afc
cmp dword [esp + 0x40], 1
jne 0x457b1b
jmp 0x457b01
cmp eax, 0xa
je 0x457b1b
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x457b27
cmp eax, ebx
je 0x457b27
cmp dword [esi + 0x9d20], ebx
je 0x457b27
fld qword [esp + 0x2c]
fmul qword [0x606440]
jmp 0x457b9c
mov edx, dword [0x640780]
mov dword [esp + 0x2c0], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x2bc], eax
fild qword [esp + 0x2bc]
fdivr qword [esp + 0xe4]
fadd qword [esi + 0x30e0]
jmp 0x457b9c
mov ecx, dword [0x640780]
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x278], ebx
fild qword [esp + 0x1d4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x274], edx
fmul qword [esp + 0xe4]
fild qword [esp + 0x274]
fdivp st(1)
fld qword [esp + 0x2c]
fmul qword [0x606440]
faddp st(1)
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
call fcn.005e35c0
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1e8], ebx
cmp eax, ebx
fild qword [esp + 0x1e4]
fsubr qword [esi + 0x30e0]
fst qword [esi + 0x30e0]
je 0x457c5b
fld qword [esi + 0x9cf8]
fmul qword [0x601400]
fxch st(1)
cmp dword [esi + 0x98e8], ebx
fcompp
fnstsw ax
jne 0x457c31
test ah, 1
je 0x457c15
mov eax, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esi + ecx*8 + 0xa30]
fadd qword [eax + edi*8]
lea eax, [eax + edi*8]
jmp 0x457cd2
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [edx + edi*8]
fsub qword [esi + ecx*8 + 0xa30]
lea eax, [edx + edi*8]
jmp 0x457cd2
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esi + 0x9870]
test ah, 1
lea eax, [edx + edi*8]
mov edx, dword [esp + 0x28]
fld qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
je 0x457cd0
fadd qword [eax]
jmp 0x457cd2
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x457c7f
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x457cd4
fld qword [esi + 0x9cf8]
fmul qword [0x601400]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x457cb5
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xd4]
fmul qword [esi + ecx*8 + 0xa30]
lea eax, [eax + edi*8]
fadd qword [eax]
jmp 0x457cd2
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esp + 0xd4]
fmul qword [esi + ecx*8 + 0xa30]
lea eax, [edx + edi*8]
fsubr qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x4578a6
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x457de8
cmp edi, ebx
jne 0x457d74
cmp dword [0x6405c4], ebx
jne 0x457d74
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x457d87
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], ebx
fild qword [esp + 0x290]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1f4], ecx
fsubp st(1)
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x1f4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x457de8
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x457f6d
cmp dword [esi + 0x9d24], ebx
jne 0x457f6d
cmp dword [esi + 0x9d6c], ebx
jne 0x457f6d
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x288], edx
mov dword [esp + 0x28c], ebx
fild qword [esp + 0x288]
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], ebx
fild qword [esp + 0x204]
mov dword [esp + 0x298], edi
mov dword [esp + 0x29c], ebx
fmul st(1)
fild qword [esp + 0x298]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], ebx
fild qword [esp + 0x214]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x457ec3
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x457eb3
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x457ec3
fld qword [esp + 0x2c]
fmul qword [0x606438]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x457f1b
cmp eax, ebx
je 0x457eef
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x457f66
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x457f61
cmp eax, ebx
je 0x457f37
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x457f66
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov edx, dword [0x640780]
mov dword [esp + 0x2ac], ebx
cmp edi, ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x2a8], eax
fild qword [esp + 0x2a8]
fdiv qword [esp + 0xe4]
fmul qword [0x6031b8]
fstp qword [esp + 0xc]
jne 0x457fbf
cmp dword [0x6405c4], ebx
je 0x457fd9
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x457fba
cmp dword [esp + 0x40], 1
jne 0x457fd9
jmp 0x457fbf
cmp eax, 0xa
je 0x457fd9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x457fe5
cmp eax, ebx
je 0x457fe5
cmp dword [esi + 0x9d20], ebx
je 0x457fe5
fld qword [esp + 0x2c]
fmul qword [0x606438]
jmp 0x457ff5
fld qword [0x6018a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e0]
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
fld st(0)
fmul qword [0x6031b8]
call fcn.005e35c0
shl eax, 1
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], ebx
fild qword [esp + 0x224]
fsubp st(1)
fst qword [esi + 0x30e0]
fadd qword [0x6031b8]
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
and edx, 1
cmp eax, ebx
je 0x458168
cmp dword [esi + 0x98e8], ebx
jne 0x4580bc
fld qword [esi + 0x30e0]
fadd qword [0x6031b8]
cmp edx, ebx
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
jne 0x458087
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], ebx
fild qword [esp + 0x2a0]
fsubp st(1)
fadd st(0), st(0)
jmp 0x4580a6
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], ebx
fild qword [esp + 0x234]
fsubp st(1)
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x45820d
cmp edx, ebx
jne 0x458111
fld qword [esi + 0x30e0]
fadd qword [0x6031b8]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], ebx
fild qword [esp + 0x168]
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x28]
fsubp st(1)
lea eax, [edx + edi*8]
mov edx, dword [esi + 0x9870]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x45820d
fld qword [esi + 0x30e0]
fadd qword [0x6031b8]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
fild qword [esp + 0x170]
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [eax + edi*8]
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x45820d
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45818d
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458211
cmp edx, ebx
jne 0x4581c1
fld qword [esi + 0x30e0]
fadd qword [0x6031b8]
mov eax, dword [esi + 0x2ff8]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
fild qword [esp + 0x180]
lea eax, [eax + edi*8]
fsubp st(1)
fadd st(0), st(0)
jmp 0x4581f5
fld qword [esi + 0x30e0]
fadd qword [0x6031b8]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], ebx
fild qword [esp + 0x18c]
mov edx, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [edx + edi*8]
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x457d44
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458325
cmp edi, ebx
jne 0x4582b1
cmp dword [0x6405c4], ebx
jne 0x4582b1
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x4582c4
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ebx
fild qword [esp + 0x19c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1ac], ecx
fsubp st(1)
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x1ac]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458325
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x4584aa
cmp dword [esi + 0x9d24], ebx
jne 0x4584aa
cmp dword [esi + 0x9d6c], ebx
jne 0x4584aa
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], ebx
fild qword [esp + 0x1bc]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ebx
fild qword [esp + 0x1cc]
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1e0], ebx
fmul st(1)
fild qword [esp + 0x1dc]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ebx
fild qword [esp + 0x1ec]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x458400
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x4583f0
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x458400
fld qword [esp + 0x2c]
fmul qword [0x606440]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x458458
cmp eax, ebx
je 0x45842c
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4584a3
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45849e
cmp eax, ebx
je 0x458474
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4584a3
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov edx, dword [0x640780]
mov dword [esp + 0x200], ebx
cmp edi, ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x1fc], eax
fild qword [esp + 0x1fc]
fdiv qword [esp + 0xe4]
fstp qword [esp + 0xc]
jne 0x4584f6
cmp dword [0x6405c4], ebx
je 0x458510
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x4584f1
cmp dword [esp + 0x40], 1
jne 0x458510
jmp 0x4584f6
cmp eax, 0xa
je 0x458510
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45851c
cmp eax, ebx
je 0x45851c
cmp dword [esi + 0x9d20], ebx
je 0x45851c
fld qword [esp + 0x2c]
fmul qword [0x606440]
jmp 0x45852c
fld qword [0x6018a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e0]
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
call fcn.005e35c0
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], ebx
fild qword [esp + 0x20c]
fsubr qword [esi + 0x30e0]
fst qword [esi + 0x30e0]
fadd qword [0x6031b8]
fld st(0)
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4585f0
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
jne 0x4585b7
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], ebx
fild qword [esp + 0x21c]
mov ecx, dword [esp + 0x18]
fsubr st(1)
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x45864e
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], ebx
fild qword [esp + 0x22c]
mov edx, dword [esi + 0x9870]
mov ecx, dword [esp + 0x28]
fsubr st(1)
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x45864e
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x458614
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x458654
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], ebx
fild qword [esp + 0x23c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x2ff8]
fsubr st(1)
lea eax, [edx + edi*8]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x458281
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
mov eax, dword [esi + 0x9d90]
mov dword [esi + 0x30f4], ecx
push ebx
mov dword [esi + 0x3124], edx
mov dword [esp + 0x18c], eax
call dword [0x600a40]
add eax, dword [0x6405c4]
push eax
mov dword [esp + 0x304], eax
call dword [0x600a44]
mov eax, dword [esp + 0x40]
add esp, 8
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45879f
cmp edi, ebx
jne 0x458700
cmp dword [0x6405c4], ebx
jne 0x458700
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458713
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005e35c0
mov dword [esp + 0x24c], eax
mov dword [esp + 0x250], ebx
fild qword [esp + 0x24c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x260], ebx
mov dword [esp + 0x25c], ecx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x25c]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x45879f
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x458811
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x458854
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
jne 0x4587dd
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x45884a
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 0x9870]
fild dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0xa30]
jmp 0x45884a
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
mov eax, dword [esp + 0x2c]
fadd st(0), st(0)
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x4586d0
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
mov eax, dword [esi + 0x9d90]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
mov dword [esp + 0x2b8], eax
cmp dword [0x6405c4], ebx
jne 0x4588bd
push ebx
call dword [0x600a40]
add esp, 4
mov dword [0x63a87c], eax
jmp 0x4588c2
mov eax, dword [0x63a87c]
mov dword [0x62fc40], eax
mov dword [esp + 0x130], eax
cmp dword [0x6405c4], ebx
jne 0x4588e5
push 0x1e
push 0x63a6c8
call fcn.00451be0
add esp, 8
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe 0x458a59
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x4589b5
cmp edi, ebx
jne 0x458923
cmp dword [0x6405c4], ebx
jne 0x458923
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458936
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005e35c0
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ebx
fild qword [esp + 0x26c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ecx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x54]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x4589b5
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x458a08
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x458a42
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
push 0x63a6c8
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
jne 0x4589e6
call fcn.00451c30
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458a34
call fcn.00451c30
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add esp, 4
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0xa30]
jmp 0x458a34
mov edx, dword [esi + 0x2ff8]
push 0x63a6c8
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
call fcn.00451c30
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
fmul qword [0x604320]
mov eax, dword [esp + 0x2c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x4588f3
mov eax, dword [0x62fc40]
mov dword [0x63a87c], eax
jmp case.0x457430.10
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0xa0]
mov dword [esi + 0x30f0], ecx
mov dword [esi + 0x30f4], edx
mov dword [esi + 0x3124], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458b2d
cmp edi, ebx
jne 0x458ac9
cmp dword [0x6405c4], ebx
jne 0x458ac9
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458adc
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ecx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x6c]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458b2d
mov dword [esp + 0x14], ebx
cmp edi, ebx
jne 0x458b50
cmp dword [0x6405c4], ebx
je 0x458ba2
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x458b4b
cmp dword [esp + 0x40], 1
jne 0x458ba2
jmp 0x458b50
cmp eax, 0xa
je 0x458ba2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x458b6a
cmp eax, ebx
je 0x458b6a
cmp dword [esi + 0x9d20], ebx
jne 0x458ba2
fld qword [esi + 0x30e0]
fadd qword [0x6018a8]
mov dword [esp + 0x88], ebx
fst qword [esi + 0x30e0]
mov edx, dword [esi + 0x313c]
mov dword [esp + 0x84], edx
fild qword [esp + 0x84]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x458bae
mov dword [esi + 0x30e0], ebx
mov dword [esi + 0x30e4], ebx
fld qword [esi + 0x30e0]
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x458c16
cmp dword [esi + 0x98e8], ebx
jne 0x458bea
mov edx, dword [esi + 0x3138]
mov eax, dword [esi + 0x2ff8]
fild dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458c5c
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov edx, dword [esi + 0x3138]
fild dword [edx + ecx*4]
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x28]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458c5c
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x458c38
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458c60
mov edx, dword [esi + 0x3138]
mov eax, dword [esi + 0x2ff8]
fild dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x458a9d
jmp case.0x457430.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], eax
mov eax, dword [esp + 0x38]
xor edi, edi
mov dword [esi + 0x30f4], ecx
cmp eax, ebx
mov dword [esi + 0x3124], edx
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458d48
cmp edi, ebx
jne 0x458ce1
cmp dword [0x6405c4], ebx
jne 0x458ce1
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458cf4
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], eax
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x74]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458d48
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + ecx*4 + 0xd0]
cmp eax, 0xc
jne 0x458d6a
mov edx, dword [esp + 0x38]
shr edx, 1
cmp edi, edx
jae 0x458d81
cmp dword [0x6405c4], ebx
ja 0x458d81
cmp eax, 0xb
jne 0x458d89
mov eax, dword [esp + 0x38]
shr eax, 1
cmp edi, eax
jne 0x458d89
cmp dword [0x6405c4], ebx
jne 0x458d89
fld qword [0x6018a8]
jmp 0x458d8f
fld qword [0x6018b0]
cmp dword [esp + 0x14], ebx
je 0x458dcf
cmp dword [esi + 0x98e8], ebx
jne 0x458db3
mov edx, dword [esi + 0x2ff8]
fmul qword [esi + ecx*8 + 0xa30]
lea eax, [edx + edi*8]
fadd qword [eax]
fstp qword [eax]
jmp 0x458e12
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x2ff8]
fld qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
jmp 0x458e03
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x458df3
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458e12
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xd4]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0xa30]
fmul st(1)
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], ecx
cmp edi, eax
jb 0x458cb1
jmp case.0x457430.10
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
mov dword [esi + 0x30f0], edx
mov dword [esi + 0x30f4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
mov dword [esi + 0x3124], ecx
mov dword [esp + 0x2c], edi
jbe case.0x457430.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458f1d
cmp edi, ebx
jne 0x458e97
cmp dword [0x6405c4], ebx
jne 0x458e97
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458eaa
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x4c]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458f1d
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x458f74
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458f93
cmp dword [esi + 0x98e8], ebx
jne 0x458f49
mov eax, dword [esi + 0x9860]
mov ecx, dword [esi + 0x9868]
mov edx, dword [esi + 0x2ff8]
mov ebx, dword [ecx + eax*8]
mov dword [edx + edi*8], ebx
xor ebx, ebx
mov eax, dword [ecx + eax*8 + 4]
mov dword [edx + edi*8 + 4], eax
jmp 0x458f93
mov ecx, dword [esi + 0x9870]
mov edi, dword [esp + 0x28]
mov edx, dword [esi + 0x9860]
mov eax, dword [esi + 0x9868]
fld qword [ecx + edi*8]
fmul qword [eax + edx*8]
mov ecx, dword [esi + 0x2ff8]
mov edi, dword [esp + 0x2c]
fstp qword [ecx + edi*8]
jmp 0x458f93
mov eax, dword [esi + 0x9860]
mov ecx, dword [esi + 0x9868]
fld qword [esp + 0xd4]
fmul qword [ecx + eax*8]
mov edx, dword [esi + 0x2ff8]
fstp qword [edx + edi*8]
mov edx, dword [esi + 0x9860]
mov ecx, dword [esi + 0x9878]
inc edx
mov eax, edx
mov dword [esi + 0x9860], edx
cmp eax, ecx
jl 0x458fb2
mov dword [esi + 0x9860], ebx
mov eax, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], eax
mov eax, dword [esp + 0x38]
cmp edi, eax
mov dword [esp + 0x2c], edi
jb 0x458e67
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x45739e
cmp dword [esp + 0x48], 7
jne 0x45917c
cmp dword [esi + 0x2f10], ebx
je 0x459086
cmp dword [esi + 0x2c94], ebx
jne 0x45900d
cmp dword [esi + 0x2ca0], ebx
jne 0x45908e
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
inc eax
cmp eax, ecx
mov dword [esp + 0xb0], eax
jb 0x45710f
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x27c]
mov dword [esi + 0x3f0], ecx
mov ecx, dword [esp + 0x280]
mov dword [esi + 0x3f4], edx
mov edx, dword [esp + 0x8c]
mov dword [esi + 0xa30], eax
mov eax, dword [esp + 0x104]
mov dword [esi + 0xa34], ecx
mov ecx, dword [esp + 0x108]
mov dword [esi + 0xd0], edx
mov dword [esi + 0x1070], eax
mov dword [esi + 0x1074], ecx
cmp dword [esi + 0x2ca0], ebx
je 0x4590e9
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x27c]
mov dword [esi + 0x3f0], edx
mov edx, dword [esp + 0x280]
mov dword [esi + 0x3f4], eax
mov eax, dword [esp + 0x8c]
mov dword [esi + 0xa30], ecx
mov ecx, dword [esp + 0x104]
mov dword [esi + 0xa34], edx
mov edx, dword [esp + 0x108]
mov dword [esi + 0xd0], eax
mov dword [esi + 0x1070], ecx
mov dword [esi + 0x1074], edx
cmp dword [0x6405c4], ebx
je 0x4590fc
cmp dword [esp + 0x48], 6
jne 0x459266
cmp dword [esp + 0x48], 7
jne 0x4591a7
cmp dword [esi + 0x2ca0], ebx
je 0x4591a7
mov eax, dword [esi + 0x9868]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
fld qword [eax]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x9878]
cmp edx, 1
mov dword [esp + 0x8c], ecx
jbe 0x459205
lea ecx, [eax + 8]
dec edx
fld qword [esp + 0x8c]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x459164
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x459171
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x459141
jmp 0x459205
mov eax, dword [esp + 0x48]
cmp eax, 0xa
je 0x4590e9
cmp eax, 6
je 0x4590e9
mov dword [esi + 0x3130], ebx
mov dword [esi + 0x3134], 0x3ff00000
jmp 0x459266
mov eax, dword [esi + 0x2ff8]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
fld qword [eax]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x38]
cmp edx, 1
mov dword [esp + 0x8c], ecx
jbe 0x459205
lea ecx, [eax + 8]
dec edx
fld qword [esp + 0x8c]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x4591f2
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x4591ff
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x4591cf
fld qword [esp + 0x8c]
fabs
fstp qword [esp + 0x104]
fabs
fld qword [esp + 0x104]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x459230
fstp st(0)
fld qword [esp + 0x104]
fcom qword [0x6018b0]
fnstsw ax
test ah, 0x40
je 0x459245
fstp st(0)
fld qword [0x6018a8]
cmp dword [esp + 0x48], 6
jne 0x459260
fcom qword [0x6018a8]
fnstsw ax
test ah, 0x41
je 0x459260
fstp st(0)
jmp 0x459192
fstp qword [esi + 0x3130]
mov eax, dword [0x640780]
mov ecx, dword [esi + 0x3130]
mov edx, dword [esi + 0x3134]
mov dword [esp + 0x8c], ecx
cmp word [eax + 2], 1
mov dword [esp + 0x90], edx
jne 0x459e0a
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x459e24.12
xor ecx, ecx
mov cl, byte [edi + 0x45dab0]
jmp dword [ecx*4 + 0x45da9c]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [edx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45943c
cmp dword [esi + 0x9d24], 1
jne 0x45943c
cmp dword [esi + 0x9d6c], ebx
jne 0x45943c
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45937c
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45937c
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x4593d4
cmp eax, ebx
je 0x4593a8
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45941f
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45941a
cmp eax, ebx
je 0x4593f0
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45941f
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x4594f1
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459464
sub eax, ecx
dec eax
jmp 0x459466
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45949b
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x4594ab
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x4594df
cmp dword [esi + 0x9d08], ebx
jne 0x4594df
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45950e
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45950e
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov eax, dword [esi + 0x2ff8]
mov edi, dword [esp + 0x2c]
fld qword [eax + edi*8]
fmul qword [esi + 0x3018]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3058]
fadd qword [0x606400]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x4592c1
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x459700
cmp dword [esi + 0x9d24], 1
jne 0x459700
cmp dword [esi + 0x9d6c], ebx
jne 0x459700
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459640
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459640
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x459698
cmp eax, ebx
je 0x45966c
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4596e3
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4596de
cmp eax, ebx
je 0x4596b4
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4596e3
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x4597b5
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459728
sub eax, ecx
dec eax
jmp 0x45972a
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45975f
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45976f
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x4597a3
cmp dword [esi + 0x9d08], ebx
jne 0x4597a3
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x4597d2
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x4597d2
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
fld qword [esp + 0xcc]
mov eax, edi
shr eax, 1
fmul qword [ecx + eax*8]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3028]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3060]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov word [esp + 0x28], ax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x459585
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x4599d1
cmp dword [esi + 0x9d24], 1
jne 0x4599d1
cmp dword [esi + 0x9d6c], ebx
jne 0x4599d1
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459911
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459911
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x459969
cmp eax, ebx
je 0x45993d
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4599b4
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4599af
cmp eax, ebx
je 0x459985
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4599b4
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459a86
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x4599f9
sub eax, ecx
dec eax
jmp 0x4599fb
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x459a30
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459a40
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459a74
cmp dword [esi + 0x9d08], ebx
jne 0x459a74
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459aa3
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459aa3
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov eax, 0xaaaaaaab
mul edi
mov eax, dword [esi + 0x2ff8]
shr edx, 1
fld qword [eax + edx*8]
fmul qword [esi + 0x3038]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3068]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x459856
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x459cb0
cmp dword [esi + 0x9d24], 1
jne 0x459cb0
cmp dword [esi + 0x9d6c], ebx
jne 0x459cb0
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459bf0
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459bf0
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x459c48
cmp eax, ebx
je 0x459c1c
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x459c93
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x459c8e
cmp eax, ebx
je 0x459c64
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x459c93
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459d65
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459cd8
sub eax, ecx
dec eax
jmp 0x459cda
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x459d0f
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459d1f
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459d53
cmp dword [esi + 0x9d08], ebx
jne 0x459d53
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459d82
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459d82
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
mov eax, edi
shr eax, 2
fld qword [ecx + eax*8]
fmul qword [esi + 0x3048]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3070]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2b]
mov byte [edx + edi + 3], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x459b35
jmp case.0x459e24.12
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x459e24.12
xor ecx, ecx
mov cl, byte [edi + 0x45dae0]
jmp dword [ecx*4 + 0x45dacc]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [edx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x459fb6
cmp dword [esi + 0x9d24], 1
jne 0x459fb6
cmp dword [esi + 0x9d6c], ebx
jne 0x459fb6
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459ef6
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459ef6
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x459f4e
cmp eax, ebx
je 0x459f22
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x459f99
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x459f94
cmp eax, ebx
je 0x459f6a
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x459f99
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a06b
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459fde
sub eax, ecx
dec eax
jmp 0x459fe0
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a015
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a025
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a059
cmp dword [esi + 0x9d08], ebx
jne 0x45a059
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a088
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a088
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
mov eax, edi
shr eax, 1
fld qword [ecx + eax*8]
fmul qword [esi + 0x3018]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3058]
fadd qword [0x606400]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x459e3b
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45a27e
cmp dword [esi + 0x9d24], 1
jne 0x45a27e
cmp dword [esi + 0x9d6c], ebx
jne 0x45a27e
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45a1be
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45a1be
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x45a216
cmp eax, ebx
je 0x45a1ea
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a261
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a25c
cmp eax, ebx
je 0x45a232
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a261
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a333
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a2a6
sub eax, ecx
dec eax
jmp 0x45a2a8
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a2dd
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a2ed
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a321
cmp dword [esi + 0x9d08], ebx
jne 0x45a321
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a350
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a350
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
fld qword [esp + 0xcc]
mov eax, edi
shr eax, 2
fmul qword [ecx + eax*8]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3028]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3060]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov word [esp + 0x28], ax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45a103
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45a550
cmp dword [esi + 0x9d24], 1
jne 0x45a550
cmp dword [esi + 0x9d6c], ebx
jne 0x45a550
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45a490
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45a490
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x45a4e8
cmp eax, ebx
je 0x45a4bc
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a533
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a52e
cmp eax, ebx
je 0x45a504
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a533
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a605
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a578
sub eax, ecx
dec eax
jmp 0x45a57a
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a5af
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a5bf
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a5f3
cmp dword [esi + 0x9d08], ebx
jne 0x45a5f3
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a622
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a622
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov eax, 0xaaaaaaab
mul edi
mov eax, dword [esi + 0x2ff8]
shr edx, 2
fld qword [eax + edx*8]
fmul qword [esi + 0x3038]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3068]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45a3d5
jmp case.0x459e24.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459e24.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45a830
cmp dword [esi + 0x9d24], 1
jne 0x45a830
cmp dword [esi + 0x9d6c], ebx
jne 0x45a830
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45a770
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45a770
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x45a7c8
cmp eax, ebx
je 0x45a79c
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a813
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a80e
cmp eax, ebx
je 0x45a7e4
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a813
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b0]
fsub qword [0x63aab0]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a8e5
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a858
sub eax, ecx
dec eax
jmp 0x45a85a
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a88f
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a89f
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a8d3
cmp dword [esi + 0x9d08], ebx
jne 0x45a8d3
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a902
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a902
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
shr eax, 3
fld qword [ecx + eax*8]
fmul qword [esi + 0x3048]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3070]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2b]
mov byte [edx + edi + 3], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45a6b5
cmp word [eax + 2], 1
jne 0x45aa2b
cmp dword [esp + 0x140], ebx
je 0x45a9ac
xor ecx, ecx
mov edx, dword [ebp + 8]
mov cx, word [eax + 0xc]
imul ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
cmp dword [esp + 0x48], 7
jne 0x45d9d8
cmp dword [esi + 0x2f10], ebx
jne 0x45a9cb
cmp dword [esi + 0x2ca0], ebx
je 0x45d9d8
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x144]
mov dword [esi + 0x19d0], eax
mov eax, dword [esp + 0x148]
mov dword [esi + 0x19d4], ecx
mov ecx, dword [esp + 0x150]
mov dword [esi + 0x2010], edx
mov edx, dword [esp + 0x154]
mov dword [esi + 0x2014], eax
mov eax, dword [esp + 0x158]
mov dword [esi + 0x16b0], ecx
mov dword [esi + 0x2650], edx
mov dword [esi + 0x2654], eax
jmp 0x45d9d8
cmp dword [esi + 0x9cc8], ebx
jne 0x45ab06
mov eax, dword [esp + 0x48]
cmp eax, 1
jl 0x45ab06
cmp eax, 4
jg 0x45ab06
mov eax, dword [esp + 0x11c]
cmp eax, 1
jl 0x45ab06
cmp eax, 4
jg 0x45ab06
fld qword [esi + 0x19d0]
fcomp qword [esi + 0x3f0]
fnstsw ax
test ah, 0x40
je 0x45ab06
lea ecx, [esp + 0x300]
push 0x1d
push ecx
lea ecx, [esi + 0x9a30]
call fcn.005e2d4a
mov edi, dword [0x600a2c]
push ebx
lea edx, [esp + 0x304]
push ebx
push edx
call edi
add esp, 4
lea eax, [eax + eax + 2]
lea ecx, [esp + 0x36c]
lea edx, [esp + 0x308]
push eax
push ecx
push edx
call edi
add esp, 4
inc eax
push eax
lea eax, [esp + 0x314]
push eax
push ebx
push ebx
call dword [0x60013c]
lea ecx, [esp + 0x364]
push ecx
call dword [0x600a30]
fcom qword [0x6018b0]
add esp, 4
fnstsw ax
test ah, 1
je 0x45aaf7
fadd qword [0x606460]
fmul qword [0x606440]
fstp qword [esp + 0xb4]
jmp 0x45ab1c
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [esp + 0x44]
mov edi, dword [esi + 0x2ff8]
xor eax, eax
lea ecx, [edx*8]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
fild dword [esi + 0x98dc]
fstp qword [esp + 0x124]
mov eax, dword [esi + 0x30f8]
mov ecx, dword [esi + 0x30fc]
mov edx, dword [esi + 0x30d8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], ecx
cmp eax, 7
mov dword [esp + 0xf0], edx
jne 0x45abcf
cmp dword [esi + 0x2f10], ebx
je 0x45abcf
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x45ab94
cmp dword [esi + 0x2ca0], ebx
jne 0x45abcf
cmp eax, ebx
mov dword [esp + 0xb0], ebx
jne 0x45abcf
fld qword [esi + 0x2f00]
fsub qword [esp + 0xbc]
fdiv qword [esp + 0xbc]
call fcn.005e35c0
cmp eax, 1
mov dword [esp + 0xb0], eax
jae 0x45abcf
mov dword [esp + 0xb0], 1
mov edi, dword [esp + 0xb0]
cmp dword [esp + 0x48], 7
jne 0x45ae0e
cmp dword [esi + 0x2f10], ebx
je 0x45ae0e
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x45acee
cmp dword [esi + 0x2ca0], ebx
jne 0x45ae0e
cmp eax, ebx
jne 0x45acee
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fmul qword [esp + 0xbc]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fstp qword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x19d0], eax
mov dword [esi + 0x19d4], ecx
fld qword [esi + 0x2f00]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 1
jne 0x45ac7b
fld qword [esi + 0x2f00]
fsub qword [esp + 0xbc]
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
je 0x45ac81
fstp st(0)
fld qword [0x6018a8]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x45cb86
fld qword [esp + 0xbc]
fadd qword [esi + 0x2f08]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45ae25
fld qword [0x63a958]
fmul qword [0x6031b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45ae25
cmp dword [esi + 0x2c98], ebx
je 0x45ad7a
fld qword [esp + 0xc]
fsqrt
fdivr qword [0x6018a8]
fstp qword [esi + 0x2010]
jmp 0x45ad8a
fld qword [esi + edi*8 + 0x3248]
call fcn.005e35c0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fcomp qword [esp + 0xbc]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x19d0], edx
mov dword [esi + 0x19d4], eax
fnstsw ax
test ah, 1
jne 0x45cb86
fld qword [esp + 0xc]
fcomp qword [0x6018a8]
fnstsw ax
test ah, 1
jne 0x45cb86
fld qword [esp + 0xc]
fcomp qword [esp + 0xa4]
fnstsw ax
test ah, 0x41
je 0x45ae25
fld qword [0x63a958]
fmul qword [0x6031b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45ae25
mov dword [esi + 0x2010], ebx
mov dword [esi + 0x2014], 0x3ff00000
mov dword [esi + 0x16b0], 1
mov ecx, dword [esi + 0x98b8]
cmp ecx, dword [esi + 0x2c94]
jne 0x45adeb
fild dword [esi + 0x98c0]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x45adeb
fild dword [esi + 0x98c4]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x45adeb
mov edx, dword [esi + 0x98bc]
mov eax, dword [esi + 0x2c9c]
cmp edx, eax
jne 0x45adeb
fld qword [esi + 0x98c8]
fcomp qword [0x63a958]
fnstsw ax
test ah, 0x40
jne 0x45adf4
push ebx
lea ecx, [esi + 0x68]
call fcn.004d15b0
mov eax, dword [esi + edi*8 + 0x6550]
mov dword [esi + 0x2650], eax
mov ecx, dword [esi + edi*8 + 0x6554]
mov dword [esi + 0x2654], ecx
mov eax, dword [esp + 0x110]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x18], ecx
jbe 0x45cb7b
jmp 0x45ae35
mov edi, dword [esp + 0x120]
jmp 0x45cb86
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jge 0x45ae5e
cmp dword [esi + 0x9d6c], ebx
jne 0x45ae5e
mov edx, dword [esi + ecx*8 + 0x19d0]
mov dword [ecx*8 + 0x63c1c0], edx
mov eax, dword [esi + ecx*8 + 0x19d4]
mov dword [ecx*8 + 0x63c1c4], eax
fld qword [esi + ecx*8 + 0x2650]
fst qword [esp + 0x2c]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x45ae84
fld qword [esp + 0x2c]
fadd qword [0x606460]
fstp qword [esp + 0x2c]
cmp dword [esi + 0x9cc8], ebx
je 0x45ae9d
cmp dword [esi + 0x9d24], 1
je 0x45ae9d
cmp dword [esi + 0x9d6c], ebx
je 0x45aeab
fld qword [esi + ecx*8 + 0x19d0]
fstp qword [esp + 0xe4]
mov ecx, dword [esi + ecx*4 + 0x16b0]
cmp ecx, 0x64
ja case.0x45aec3.10
xor edx, edx
mov dl, byte [ecx + 0x45db28]
jmp dword [edx*4 + 0x45dafc]
mov eax, dword [esp + 0x44]
mov edi, dword [esi + 0x2ff8]
lea ecx, [eax*8]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45aec3.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45afe2
cmp edi, ebx
jne 0x45af74
cmp dword [0x6405c4], ebx
jne 0x45af74
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45af87
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], ecx
fsubp st(1)
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x84]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45afe2
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45b153
cmp dword [esi + 0x9d24], ebx
jne 0x45b153
cmp dword [esi + 0x9d6c], ebx
jne 0x45b153
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebx
fmul st(1)
fild qword [esp + 0x54]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ebx
fild qword [esp + 0x26c]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45b0a9
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45b092
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45b0a9
mov edx, dword [esp + 0x18]
fld qword [esi + edx*8 + 0x2650]
fmul qword [0x606458]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45b101
cmp eax, ebx
je 0x45b0d5
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45b14c
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45b147
cmp eax, ebx
je 0x45b11d
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45b14c
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
cmp edi, ebx
jne 0x45b179
cmp dword [0x6405c4], ebx
je 0x45b193
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45b174
cmp dword [esp + 0x110], 1
jne 0x45b193
jmp 0x45b179
cmp eax, 0xa
je 0x45b193
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45b1a6
cmp eax, ebx
je 0x45b1a6
cmp dword [esi + 0x9d20], ebx
je 0x45b1a6
mov eax, dword [esp + 0x18]
fld qword [esi + eax*8 + 0x2650]
fmul qword [0x606458]
jmp 0x45b1d9
mov ecx, dword [0x640780]
mov dword [esp + 0x260], ebx
fld qword [esp + 0xe4]
mov edx, dword [ecx + 4]
fmul qword [0x6034f0]
mov dword [esp + 0x25c], edx
fild qword [esp + 0x25c]
fdivp st(1)
fadd qword [esi + 0x30e8]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
fmul qword [0x606450]
call fcn.005e35c0
add eax, eax
mov dword [esp + 0x250], ebx
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x14]
fild qword [esp + 0x24c]
cmp eax, ebx
fmul qword [0x606448]
fsubr qword [esi + 0x30e8]
fst qword [esi + 0x30e8]
je 0x45b287
cmp dword [esi + 0x98e8], ebx
jne 0x45b253
fld qword [esp + 0xb4]
fmul qword [0x6034f0]
mov ecx, dword [esi + 0x2ff8]
mov edx, dword [esp + 0x18]
fadd st(1)
lea eax, [ecx + edi*8]
fsin
fmul qword [esi + edx*8 + 0x2010]
jmp 0x45b2d7
fld qword [esp + 0xb4]
fmul qword [0x6034f0]
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0x2ff8]
fadd st(1)
lea eax, [eax + edi*8]
fsin
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45b2d7
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45b2ab
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45b2dd
fld qword [esp + 0xb4]
fmul qword [0x6034f0]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
fadd st(1)
lea eax, [eax + edi*8]
fsin
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45af44
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45aec3.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45b3f1
cmp edi, ebx
jne 0x45b37d
cmp dword [0x6405c4], ebx
jne 0x45b37d
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45b390
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ebx
fild qword [esp + 0x23c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x230], ebx
mov dword [esp + 0x22c], ecx
fsubp st(1)
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x22c]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45b3f1
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45b576
cmp dword [esi + 0x9d24], ebx
jne 0x45b576
cmp dword [esi + 0x9d6c], ebx
jne 0x45b576
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x21c], edx
mov dword [esp + 0x220], ebx
fild qword [esp + 0x21c]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], ebx
fild qword [esp + 0x20c]
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x200], ebx
fmul st(1)
fild qword [esp + 0x1fc]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ebx
fild qword [esp + 0x1ec]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45b4cc
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45b4bc
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45b4cc
fld qword [esp + 0x2c]
fmul qword [0x606440]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45b524
cmp eax, ebx
je 0x45b4f8
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45b56f
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45b56a
cmp eax, ebx
je 0x45b540
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45b56f
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov eax, dword [0x63abb0]
cmp eax, 1
je 0x45b5fe
cmp eax, 2
je 0x45b5fe
cmp edi, ebx
jne 0x45b5ab
cmp dword [0x6405c4], ebx
je 0x45b5c5
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45b5a6
cmp dword [esp + 0x110], 1
jne 0x45b5c5
jmp 0x45b5ab
cmp eax, 0xa
je 0x45b5c5
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45b5d1
cmp eax, ebx
je 0x45b5d1
cmp dword [esi + 0x9d20], ebx
je 0x45b5d1
fld qword [esp + 0x2c]
fmul qword [0x606440]
jmp 0x45b646
mov edx, dword [0x640780]
mov dword [esp + 0x1e0], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x1dc], eax
fild qword [esp + 0x1dc]
fdivr qword [esp + 0xe4]
fadd qword [esi + 0x30e8]
jmp 0x45b64d
mov ecx, dword [0x640780]
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1c0], ebx
fild qword [esp + 0x1cc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x1bc], edx
fmul qword [esp + 0xe4]
fild qword [esp + 0x1bc]
fdivp st(1)
fld qword [esp + 0x2c]
fmul qword [0x606440]
faddp st(1)
fadd qword [esp + 0xb4]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
call fcn.005e35c0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1b0], ebx
cmp eax, ebx
fild qword [esp + 0x1ac]
fsubr qword [esi + 0x30e8]
fst qword [esi + 0x30e8]
je 0x45b70c
fld qword [esi + 0x9d00]
fmul qword [0x601400]
fxch st(1)
cmp dword [esi + 0x98e8], ebx
fcompp
fnstsw ax
jne 0x45b6e2
test ah, 1
je 0x45b6c6
mov eax, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esi + ecx*8 + 0x2010]
fadd qword [eax + edi*8]
lea eax, [eax + edi*8]
jmp 0x45b783
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [edx + edi*8]
fsub qword [esi + ecx*8 + 0x2010]
lea eax, [edx + edi*8]
jmp 0x45b783
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esi + 0x9870]
test ah, 1
lea eax, [edx + edi*8]
mov edx, dword [esp + 0x40]
fld qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
je 0x45b781
fadd qword [eax]
jmp 0x45b783
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45b730
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45b785
fld qword [esi + 0x9d00]
fmul qword [0x601400]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x45b766
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xd4]
fmul qword [esi + ecx*8 + 0x2010]
lea eax, [eax + edi*8]
fadd qword [eax]
jmp 0x45b783
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esp + 0xd4]
fmul qword [esi + ecx*8 + 0x2010]
lea eax, [edx + edi*8]
fsubr qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45b34d
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45aec3.10
fld qword [esp + 0xb4]
fadd st(0), st(0)
fst qword [esp + 0x114]
fadd qword [0x6031b8]
fstp qword [esp + 0x104]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45b8b6
cmp edi, ebx
jne 0x45b842
cmp dword [0x6405c4], ebx
jne 0x45b842
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45b855
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ebx
fild qword [esp + 0x19c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x190], ebx
mov dword [esp + 0x18c], ecx
fsubp st(1)
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x18c]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45b8b6
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45ba3b
cmp dword [esi + 0x9d24], ebx
jne 0x45ba3b
cmp dword [esi + 0x9d6c], ebx
jne 0x45ba3b
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ebx
fild qword [esp + 0x180]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ebx
fild qword [esp + 0x170]
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], ebx
fmul st(1)
fild qword [esp + 0x168]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], ebx
fild qword [esp + 0x234]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45b991
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45b981
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45b991
fld qword [esp + 0x2c]
fmul qword [0x606438]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45b9e9
cmp eax, ebx
je 0x45b9bd
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45ba34
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45ba2f
cmp eax, ebx
je 0x45ba05
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45ba34
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov edx, dword [0x640780]
mov dword [esp + 0x2a4], ebx
cmp edi, ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x2a0], eax
fild qword [esp + 0x2a0]
fdiv qword [esp + 0xe4]
fmul qword [0x6031b8]
fstp qword [esp + 0xc]
jne 0x45ba90
cmp dword [0x6405c4], ebx
je 0x45baaa
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45ba8b
cmp dword [esp + 0x110], 1
jne 0x45baaa
jmp 0x45ba90
cmp eax, 0xa
je 0x45baaa
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45bab6
cmp eax, ebx
je 0x45bab6
cmp dword [esi + 0x9d20], ebx
je 0x45bab6
fld qword [esp + 0x2c]
fmul qword [0x606438]
jmp 0x45bac6
fld qword [0x6018a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e8]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
fld st(0)
fmul qword [0x6031b8]
call fcn.005e35c0
shl eax, 1
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], ebx
fild qword [esp + 0x224]
fsubp st(1)
fst qword [esi + 0x30e8]
fld qword [esp + 0x104]
fadd st(1)
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
and edx, 1
cmp eax, ebx
fstp st(0)
je 0x45bc5a
cmp dword [esi + 0x98e8], ebx
jne 0x45bba0
fld qword [esi + 0x30e8]
fadd qword [0x6031b8]
cmp edx, ebx
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
jne 0x45bb64
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x2ac], ebx
fild qword [esp + 0x2a8]
fsubp st(1)
fadd qword [esp + 0x114]
fadd st(0), st(0)
jmp 0x45bb8a
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], ebx
fild qword [esp + 0x214]
fsubp st(1)
fadd qword [esp + 0x114]
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45bd0d
cmp edx, ebx
jne 0x45bbfc
fld qword [esi + 0x30e8]
fadd qword [0x6031b8]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], ebx
fild qword [esp + 0x298]
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x40]
fsubp st(1)
lea eax, [edx + edi*8]
mov edx, dword [esi + 0x9870]
fadd qword [esp + 0x114]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0x2010]
jmp 0x45bd0d
fld qword [esi + 0x30e8]
fadd qword [0x6031b8]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], ebx
fild qword [esp + 0x204]
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [eax + edi*8]
fadd qword [esp + 0x114]
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45bd0d
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45bc7f
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45bd11
cmp edx, ebx
jne 0x45bcba
fld qword [esi + 0x30e8]
fadd qword [0x6031b8]
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], ebx
fild qword [esp + 0x288]
mov eax, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [eax + edi*8]
fadd qword [esp + 0x114]
fadd st(0), st(0)
jmp 0x45bcf5
fld qword [esi + 0x30e8]
fadd qword [0x6031b8]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], ebx
fild qword [esp + 0x1f4]
mov edx, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [edx + edi*8]
fadd qword [esp + 0x114]
fadd st(0), st(0)
fsubr qword [0x6034e8]
fsub qword [0x6018a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45b812
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005e35c0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45aec3.10
fld qword [esp + 0xb4]
fadd qword [0x6031b8]
fstp qword [esp + 0x104]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45be39
cmp edi, ebx
jne 0x45bdc5
cmp dword [0x6405c4], ebx
jne 0x45bdc5
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45bdd8
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], ebx
fild qword [esp + 0x290]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1e4], ecx
fsubp st(1)
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x1e4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45be39
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45bfbe
cmp dword [esi + 0x9d24], ebx
jne 0x45bfbe
cmp dword [esi + 0x9d6c], ebx
jne 0x45bfbe
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], ebx
fild qword [esp + 0x274]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ebx
fild qword [esp + 0x1d4]
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x2c0], ebx
fmul st(1)
fild qword [esp + 0x2bc]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ebx
fild qword [esp + 0x1c4]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45bf14
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45bf04
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45bf14
fld qword [esp + 0x2c]
fmul qword [0x606440]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45bf6c
cmp eax, ebx
je 0x45bf40
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45bfb7
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45bfb2
cmp eax, ebx
je 0x45bf88
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45bfb7
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fstp qword [esp + 0xe4]
mov edx, dword [0x640780]
mov dword [esp + 0x268], ebx
cmp edi, ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x264], eax
fild qword [esp + 0x264]
fdiv qword [esp + 0xe4]
fstp qword [esp + 0xc]
jne 0x45c00d
cmp dword [0x6405c4], ebx
je 0x45c027
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45c008
cmp dword [esp + 0x110], 1
jne 0x45c027
jmp 0x45c00d
cmp eax, 0xa
je 0x45c027
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45c033
cmp eax, ebx
je 0x45c033
cmp dword [esi + 0x9d20], ebx
je 0x45c033
fld qword [esp + 0x2c]
fmul qword [0x606440]
jmp 0x45c043
fld qword [0x6018a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e8]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
call fcn.005e35c0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ebx
fild qword [esp + 0x1b4]
fsubr qword [esi + 0x30e8]
fst qword [esi + 0x30e8]
fld st(0)
fadd qword [esp + 0x104]
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x45c126
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
jne 0x45c0e0
fadd qword [0x6031b8]
mov dword [esp + 0x2ec], ecx
mov dword [esp + 0x2f0], ebx
fild qword [esp + 0x2ec]
mov ecx, dword [esp + 0x18]
fsubp st(1)
fadd qword [esp + 0xb4]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c191
fadd qword [0x6031b8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], ebx
fild qword [esp + 0x1a4]
mov edx, dword [esi + 0x9870]
mov ecx, dword [esp + 0x40]
fsubp st(1)
fadd qword [esp + 0xb4]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0x2010]
jmp 0x45c191
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45c14a
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x45c195
fadd qword [0x6031b8]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x258], ebx
fild qword [esp + 0x254]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x2ff8]
fsubp st(1)
lea eax, [edx + edi*8]
fadd qword [esp + 0xb4]
fadd st(0), st(0)
fsub qword [0x6018a8]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45bd95
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
mov eax, dword [esp + 0x188]
mov dword [esi + 0x30fc], ecx
cmp eax, ebx
mov dword [esi + 0x3124], edx
jne 0x45c200
push ebx
call dword [0x600a40]
mov ecx, dword [0x6405c4]
lea edx, [eax + ecx + 1]
push edx
call dword [0x600a44]
add esp, 8
jmp 0x45c211
mov eax, dword [esp + 0x2fc]
push eax
call dword [0x600a44]
add esp, 4
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45aec3.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c2e5
cmp edi, ebx
jne 0x45c24f
cmp dword [0x6405c4], ebx
jne 0x45c24f
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c262
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005e35c0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ebx
fild qword [esp + 0x194]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2b0], ecx
fsubr qword [esi + 0x30f8]
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x2b0]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c2e5
mov eax, dword [esi + 0x98e8]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jne 0x45c357
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45c39a
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
jne 0x45c323
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c390
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 0x9870]
fild dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0x2010]
jmp 0x45c390
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
call dword [0x600a48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x606430]
fsub qword [0x6031b8]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
mov eax, dword [esp + 0x2c]
fadd st(0), st(0)
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45c21f
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
mov eax, dword [esp + 0x2b8]
mov dword [esi + 0x30fc], ecx
cmp eax, ebx
mov dword [esi + 0x3124], edx
jne 0x45c409
cmp dword [0x6405c4], ebx
jne 0x45c402
push ebx
call dword [0x600a40]
add esp, 4
inc eax
mov dword [0x63a878], eax
jmp 0x45c410
mov eax, dword [0x63a878]
jmp 0x45c410
mov eax, dword [esp + 0x130]
mov dword [0x62fc40], eax
mov eax, dword [0x6405c4]
cmp eax, ebx
jne 0x45c42d
push 0x1e
push 0x63a638
call fcn.00451be0
add esp, 8
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe 0x45c5aa
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c506
cmp edi, ebx
jne 0x45c46b
cmp dword [0x6405c4], ebx
jne 0x45c46b
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c47e
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005e35c0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ebx
fild qword [esp + 0x160]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x248], ebx
mov dword [esp + 0x244], ecx
fsubr qword [esi + 0x30f8]
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x244]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c506
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x45c559
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45c593
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
push 0x63a638
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
jne 0x45c537
call fcn.00451c30
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c585
call fcn.00451c30
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
add esp, 4
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0x2010]
jmp 0x45c585
mov edx, dword [esi + 0x2ff8]
push 0x63a638
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
call fcn.00451c30
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
fmul qword [0x604320]
mov eax, dword [esp + 0x2c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45c43b
mov eax, dword [0x62fc40]
mov dword [0x63a878], eax
jmp case.0x45aec3.10
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x3124], eax
mov eax, dword [esp + 0x38]
xor edi, edi
mov dword [esi + 0x30f8], ecx
cmp eax, ebx
mov dword [esi + 0x30fc], edx
jbe case.0x45aec3.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c694
cmp edi, ebx
jne 0x45c61e
cmp dword [0x6405c4], ebx
jne 0x45c61e
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c631
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005e35c0
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ebx
fild qword [esp + 0x178]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2cc], ecx
fsubr qword [esi + 0x30f8]
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x2cc]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c694
mov dword [esp + 0x14], ebx
cmp edi, ebx
jne 0x45c6ba
cmp dword [0x6405c4], ebx
je 0x45c70c
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45c6b5
cmp dword [esp + 0x110], 1
jne 0x45c70c
jmp 0x45c6ba
cmp eax, 0xa
je 0x45c70c
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45c6d4
cmp eax, ebx
je 0x45c6d4
cmp dword [esi + 0x9d20], ebx
jne 0x45c70c
fld qword [esi + 0x30e8]
fadd qword [0x6018a8]
mov edx, dword [esi + 0x313c]
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2dc], edx
fst qword [esi + 0x30e8]
fild qword [esp + 0x2dc]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x45c718
mov dword [esi + 0x30e8], ebx
mov dword [esi + 0x30ec], ebx
fld qword [esi + 0x30e8]
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x45c780
cmp dword [esi + 0x98e8], ebx
jne 0x45c754
mov edx, dword [esi + 0x3138]
mov eax, dword [esi + 0x2ff8]
fild dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c7c6
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov edx, dword [esi + 0x3138]
fild dword [edx + ecx*4]
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x40]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c7c6
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45c7a2
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45c7ca
mov edx, dword [esi + 0x3138]
mov eax, dword [esi + 0x2ff8]
fild dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xd4]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
jb 0x45c5ee
jmp case.0x45aec3.10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x30f8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
jbe case.0x45aec3.10
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c8c9
cmp edi, ebx
jne 0x45c84f
cmp dword [0x6405c4], ebx
jne 0x45c84f
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c862
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005e35c0
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2f8], ebx
fild qword [esp + 0x2f4]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2e8], ebx
mov dword [esp + 0x2e4], eax
fsubr qword [esi + 0x30f8]
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x2e4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c8c5
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + ecx*4 + 0x16b0]
cmp eax, 0xc
jne 0x45c8e7
mov edx, dword [esp + 0x38]
shr edx, 1
cmp edi, edx
jae 0x45c8fe
cmp dword [0x6405c4], ebx
ja 0x45c8fe
cmp eax, 0xb
jne 0x45c906
mov eax, dword [esp + 0x38]
shr eax, 1
cmp edi, eax
jne 0x45c906
cmp dword [0x6405c4], ebx
jne 0x45c906
fld qword [0x6018a8]
jmp 0x45c90c
fld qword [0x6018b0]
cmp dword [esp + 0x14], ebx
je 0x45c94c
cmp dword [esi + 0x98e8], ebx
jne 0x45c930
mov edx, dword [esi + 0x2ff8]
fmul qword [esi + ecx*8 + 0x2010]
lea eax, [edx + edi*8]
fadd qword [eax]
fstp qword [eax]
jmp 0x45c98f
mov ecx, dword [esi + 0x9870]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0x2ff8]
fld qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + edi*8]
jmp 0x45c980
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
fnstsw ax
test ah, 1
je 0x45c970
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x45c98f
mov edx, dword [esi + 0x2ff8]
fld qword [esp + 0xd4]
lea eax, [edx + edi*8]
fmul qword [esi + ecx*8 + 0x2010]
fmul st(1)
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], eax
mov eax, dword [esp + 0x38]
cmp edi, eax
jb 0x45c81f
jmp case.0x45aec3.10
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x3124], eax
mov eax, dword [esp + 0x38]
xor edi, edi
mov dword [esi + 0x30f8], ecx
cmp eax, ebx
mov dword [esi + 0x30fc], edx
mov dword [esp + 0x2c], edi
jbe case.0x45aec3.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45caac
cmp edi, ebx
jne 0x45ca14
cmp dword [0x6405c4], ebx
jne 0x45ca14
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45ca27
fld qword [esp + 0xfc]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005e35c0
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d8], ebx
fild qword [esp + 0x2d4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c4], ecx
fsubr qword [esi + 0x30f8]
fst qword [esi + 0x30f8]
fdiv qword [esp + 0xf4]
fild qword [esp + 0x2c4]
fmulp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45caac
fld qword [esi + 0x98e0]
fcomp qword [0x606408]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x45cb03
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45cb22
cmp dword [esi + 0x98e8], ebx
jne 0x45cad8
mov edx, dword [esi + 0x9864]
mov eax, dword [esi + 0x986c]
mov ecx, dword [esi + 0x2ff8]
mov ebx, dword [eax + edx*8]
mov dword [ecx + edi*8], ebx
xor ebx, ebx
mov edx, dword [eax + edx*8 + 4]
mov dword [ecx + edi*8 + 4], edx
jmp 0x45cb22
mov eax, dword [esi + 0x9870]
mov edi, dword [esp + 0x40]
mov ecx, dword [esi + 0x9864]
mov edx, dword [esi + 0x986c]
fld qword [eax + edi*8]
fmul qword [edx + ecx*8]
mov eax, dword [esi + 0x2ff8]
mov edi, dword [esp + 0x2c]
fstp qword [eax + edi*8]
jmp 0x45cb22
mov edx, dword [esi + 0x9864]
mov eax, dword [esi + 0x986c]
fld qword [esp + 0xd4]
fmul qword [eax + edx*8]
mov ecx, dword [esi + 0x2ff8]
fstp qword [ecx + edi*8]
mov edx, dword [esi + 0x9864]
mov ecx, dword [esi + 0x9878]
inc edx
mov eax, edx
mov dword [esi + 0x9864], edx
cmp eax, ecx
jl 0x45cb41
mov dword [esi + 0x9864], ebx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
inc edi
mov dword [esi + 0x3124], edx
cmp edi, eax
mov dword [esp + 0x2c], edi
jb 0x45c9e4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x110]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x45ae31
mov edi, dword [esp + 0xb0]
cmp dword [esp + 0x48], 7
jne 0x45cd0d
cmp dword [esi + 0x2f10], ebx
je 0x45cc14
cmp dword [esi + 0x2c94], ebx
jne 0x45cba2
cmp dword [esi + 0x2ca0], ebx
jne 0x45cc1c
mov eax, dword [esp + 0x120]
inc edi
cmp edi, eax
mov dword [esp + 0xb0], edi
jb 0x45abd6
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x144]
mov dword [esi + 0x19d0], eax
mov eax, dword [esp + 0x148]
mov dword [esi + 0x19d4], ecx
mov ecx, dword [esp + 0x150]
mov dword [esi + 0x2010], edx
mov edx, dword [esp + 0x154]
mov dword [esi + 0x2014], eax
mov eax, dword [esp + 0x158]
mov dword [esi + 0x16b0], ecx
mov dword [esi + 0x2650], edx
mov dword [esi + 0x2654], eax
cmp dword [esi + 0x2ca0], ebx
je 0x45cc77
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x144]
mov dword [esi + 0x19d0], ecx
mov ecx, dword [esp + 0x148]
mov dword [esi + 0x19d4], edx
mov edx, dword [esp + 0x150]
mov dword [esi + 0x2010], eax
mov eax, dword [esp + 0x154]
mov dword [esi + 0x2014], ecx
mov ecx, dword [esp + 0x158]
mov dword [esi + 0x16b0], edx
mov dword [esi + 0x2650], eax
mov dword [esi + 0x2654], ecx
cmp dword [0x6405c4], ebx
je 0x45cc8d
cmp dword [esp + 0x11c], 6
jne 0x45ce03
cmp dword [esp + 0x48], 7
jne 0x45cd3b
cmp dword [esi + 0x2ca0], ebx
je 0x45cd3b
mov eax, dword [esi + 0x986c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
fld qword [eax]
mov dword [esp + 0x8c], edx
mov edx, dword [esi + 0x9878]
cmp edx, 1
mov dword [esp + 0x90], ecx
jbe 0x45cd9f
lea ecx, [eax + 8]
dec edx
fld qword [esp + 0x8c]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x45ccf5
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x45cd02
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x45ccd2
jmp 0x45cd9f
cmp dword [esp + 0x48], 0xa
je 0x45cc77
cmp dword [esp + 0x11c], 6
je 0x45cc77
mov dword [esi + 0x3130], ebx
mov dword [esi + 0x3134], 0x3ff00000
jmp 0x45ce03
mov eax, dword [esi + 0x2ff8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
fld qword [eax]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x38]
cmp ecx, 1
mov dword [esp + 0x90], edx
jbe 0x45cd9f
lea ecx, [eax + 8]
mov eax, dword [esp + 0x38]
lea edx, [eax - 1]
fld qword [esp + 0x8c]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x45cd8c
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x45cd99
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x45cd69
fld qword [esp + 0x8c]
fabs
fstp qword [esp + 0x104]
fabs
fld qword [esp + 0x104]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x45cdca
fstp st(0)
fld qword [esp + 0x104]
fcom qword [0x6018b0]
fnstsw ax
test ah, 0x40
je 0x45cddf
fstp st(0)
fld qword [0x6018a8]
cmp dword [esp + 0x11c], 6
jne 0x45cdfd
fcom qword [0x6018a8]
fnstsw ax
test ah, 0x41
je 0x45cdfd
fstp st(0)
jmp 0x45cd26
fstp qword [esi + 0x3130]
mov eax, dword [0x640780]
mov ecx, dword [esi + 0x3130]
mov edx, dword [esi + 0x3134]
mov dword [esp + 0x8c], ecx
cmp word [eax + 2], 2
mov dword [esp + 0x90], edx
jne 0x45d9d8
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x45ce47.12
xor ecx, ecx
mov cl, byte [edi + 0x45dba4]
jmp dword [ecx*4 + 0x45db90]
mov edx, dword [ebp + 8]
mov ecx, 1
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45ce47.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45cfde
cmp dword [esi + 0x9d24], 1
jne 0x45cfde
cmp dword [esi + 0x9d6c], ebx
jne 0x45cfde
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45cf1e
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45cf1e
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45cf76
cmp eax, ebx
je 0x45cf4a
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45cfc1
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45cfbc
cmp eax, ebx
je 0x45cf92
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45cfc1
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b8]
fsub qword [0x63aab8]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d093
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d006
sub eax, ecx
dec eax
jmp 0x45d008
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d03d
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d04d
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d081
cmp dword [esi + 0x9d08], ebx
jne 0x45d081
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d0b0
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d0b0
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
mov eax, edi
shr eax, 1
fld qword [ecx + eax*8]
fmul qword [esi + 0x3020]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x305c]
fadd qword [0x606400]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45ce63
jmp case.0x45ce47.12
mov edx, dword [ebp + 8]
mov ecx, 2
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45ce47.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45d2ab
cmp dword [esi + 0x9d24], 1
jne 0x45d2ab
cmp dword [esi + 0x9d6c], ebx
jne 0x45d2ab
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45d1eb
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45d1eb
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45d243
cmp eax, ebx
je 0x45d217
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45d28e
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45d289
cmp eax, ebx
je 0x45d25f
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45d28e
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b8]
fsub qword [0x63aab8]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d360
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d2d3
sub eax, ecx
dec eax
jmp 0x45d2d5
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d30a
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d31a
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d34e
cmp dword [esi + 0x9d08], ebx
jne 0x45d34e
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d37d
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d37d
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
mov eax, edi
shr eax, 2
fld qword [ecx + eax*8]
fmul qword [esi + 0x3030]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3064]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov word [esp + 0x28], ax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45d130
jmp case.0x45ce47.12
mov edx, dword [ebp + 8]
mov ecx, 3
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45ce47.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45d582
cmp dword [esi + 0x9d24], 1
jne 0x45d582
cmp dword [esi + 0x9d6c], ebx
jne 0x45d582
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45d4c2
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45d4c2
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45d51a
cmp eax, ebx
je 0x45d4ee
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45d565
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45d560
cmp eax, ebx
je 0x45d536
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45d565
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b8]
fsub qword [0x63aab8]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d637
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d5aa
sub eax, ecx
dec eax
jmp 0x45d5ac
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d5e1
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d5f1
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d625
cmp dword [esi + 0x9d08], ebx
jne 0x45d625
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d654
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d654
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov edi, dword [esp + 0x2c]
mov eax, 0xaaaaaaab
mul edi
mov eax, dword [esi + 0x2ff8]
shr edx, 2
fld qword [eax + edx*8]
fmul qword [esi + 0x3040]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x306c]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45d407
jmp case.0x45ce47.12
mov edx, dword [ebp + 8]
mov ecx, 4
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45ce47.12
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 0xc]
mov eax, dword [esp + 0x2c]
div ecx
mov edi, eax
mov eax, dword [esi + 0x9cc8]
cmp eax, ebx
je 0x45d867
cmp dword [esi + 0x9d24], 1
jne 0x45d867
cmp dword [esi + 0x9d6c], ebx
jne 0x45d867
mov edx, dword [esp + 0x44]
mov eax, dword [0x6405c4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
fmul st(1)
fild qword [esp + 0x74]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45d7a7
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45d7a7
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45d7ff
cmp eax, ebx
je 0x45d7d3
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45d84a
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45d845
cmp eax, ebx
je 0x45d81b
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45d84a
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x603518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005e3796
fld qword [0x63a9b8]
fsub qword [0x63aab8]
fmul qword [0x6031b8]
fdivr st(1)
fstp qword [esp + 0xcc]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d91c
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d88f
sub eax, ecx
dec eax
jmp 0x45d891
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d8c6
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d8d6
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d90a
cmp dword [esi + 0x9d08], ebx
jne 0x45d90a
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d939
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d939
mov eax, 0x3ff00000
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x3104], eax
mov dword [esi + 0x310c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x2ff8]
shr eax, 3
fld qword [ecx + eax*8]
fmul qword [esi + 0x3050]
fmul qword [esp + 0xcc]
fmul qword [esi + 0x3108]
fmul qword [esi + 0x3100]
fdiv qword [esp + 0x8c]
fiadd dword [esi + 0x3074]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0x29]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2a]
mov byte [edx + edi + 2], al
mov edx, dword [ecx]
mov al, byte [esp + 0x2b]
mov byte [edx + edi + 3], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
mov dword [esp + 0x2c], edi
jb 0x45d6ec
cmp dword [esp + 0x140], ebx
je 0x45d9d8
xor ecx, ecx
mov edx, dword [ebp + 8]
mov cx, word [eax + 0xc]
imul ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x3d0], 0xffffffff
call fcn.005e2954
mov ecx, dword [esp + 0x3c8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4