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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e619b
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 + 0xe8]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0x3ff00000
call fcn.005df190
xor ebx, ebx
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x2b8], ebx
call fcn.005df286
cmp eax, ebx
je 0x456678
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
mov dword [esp + 0xc0], eax
jmp 0x45667f
mov dword [esp + 0xc0], ebx
mov eax, dword [0x6365d0]
mov ecx, dword [0x6365d4]
fld qword [esi + 0x9cd0]
mov dword [esp + 0x48], eax
mov dword [esp + 0x120], ecx
call fcn.005dfdf0
mov edx, dword [0x63c134]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], edx
mov edi, eax
fild qword [esp + 0x9c]
fmul qword [0x636648]
call fcn.005dfdf0
mov edx, dword [0x63c2f0]
mov dword [esp + 0xd0], 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 [0x63c134]
cmp eax, edi
jb 0x456836
mov eax, dword [esi + 0x30d0]
cmp eax, 1
je 0x456836
cmp eax, 2
je 0x456836
cmp dword [esi + 0x9d08], ebx
jne 0x456836
cmp dword [esi + 0x9d6c], ebx
jne 0x456836
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], ebx
fild qword [esp + 0x9c]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ebx
fsubr qword [esi + 0x9cd0]
fild qword [esp + 0x9c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, 9
cmp ecx, eax
je 0x45677f
cmp dword [esp + 0x120], eax
jne 0x456829
fld qword [esi + 0x9d28]
call fcn.005dfdf0
mov edx, dword [esi + 0x313c]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], edx
fild qword [esp + 0x9c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ebx
fmul qword [esi + 0x9d28]
fst qword [esp + 0xfc]
fild qword [esp + 0x9c]
fcomp qword [esi + 0x9d28]
fnstsw ax
test ah, 0x40
je 0x456827
fcomp qword [0x6023f8]
fnstsw ax
test ah, 0x41
je 0x456829
mov eax, dword [0x63c134]
mov edi, dword [esp + 0x44]
imul eax, edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ebx
fild qword [esp + 0x9c]
fsubr qword [esp + 0xfc]
call fcn.005dfdf0
cmp eax, edi
mov dword [esp + 0x38], eax
jbe 0x456829
mov dword [esp + 0x38], edi
mov dword [esp + 0x140], 1
jmp 0x456845
fstp st(0)
mov dword [esp + 0x140], 1
jmp 0x456845
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 [0x5fd8a8]
mov ecx, dword [0x63c2f0]
mov dword [esp + 0xa0], ebx
fdiv st(1)
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x98e8]
mov dword [esp + 0x9c], edx
cmp eax, ebx
fild qword [esp + 0x9c]
fstp qword [esp + 0x9c]
fdiv qword [esp + 0x9c]
fstp qword [esp + 0x10c]
fld qword [esi + 0x9d10]
fdiv st(1)
fstp qword [esp + 0x104]
fstp st(0)
jne 0x4568bb
fld qword [esp + 0x9c]
fmul qword [esi + 0x9d10]
call fcn.005dfdf0
jmp 0x4568c1
mov eax, dword [esi + 0x9874]
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x3c], eax
fnstsw ax
test ah, 1
je 0x4568f0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
jmp 0x45690e
fld qword [0x5ff518]
fld qword [esi + 0x98e0]
fmul qword [0x6002d8]
call fcn.005dffc6
fstp qword [esp + 0xdc]
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + 0x3124]
cmp eax, 7
mov dword [esp + 0x98], ecx
jne 0x456e8b
mov eax, dword [esi + 0x2f10]
cmp eax, ebx
jne 0x45693e
cmp dword [esi + 0x2f18], ebx
je 0x456e8b
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 + 0xac], edx
mov edx, dword [esi + 0x1074]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esi + 0x19d0]
mov dword [esp + 0x100], 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 0x456ba6
mov eax, dword [esp + 0xc0]
lea edx, [esp + 0xe8]
push edx
lea ecx, [eax + 0xd028]
call fcn.005df28c
mov ecx, dword [esp + 0xe8]
push ecx
call dword [0x5fca78]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add esp, 4
lea edx, [esp + 0xe8]
lea ecx, [eax + 0xdc00]
push edx
call fcn.005df28c
push ecx
lea edx, [esp + 0xec]
mov ecx, esp
mov dword [esp + 0x134], esp
push edx
call fcn.005df334
call fcn.00542e20
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], eax
mov eax, dword [0x63c134]
fild qword [esp + 0xa0]
add esp, 4
cmp eax, ebx
fdivr st(1)
fstp qword [esp + 0xb4]
fstp st(0)
jne 0x456e4f
mov ecx, dword [esp + 0xc4]
mov eax, dword [esi + 0x9878]
cmp eax, ecx
jne 0x456e4f
fld qword [esi + 0x98a0]
fcomp qword [esp + 0xb4]
fnstsw ax
test ah, 0x40
je 0x456ae6
cmp dword [esi + 0x98a8], ecx
jne 0x456ae6
cmp dword [esi + 0x2cbc], ebx
jne 0x456ae6
cmp dword [esi + 0x98b0], ebx
je 0x456e4f
mov eax, dword [esi + 0xc8]
cmp eax, ebx
jle 0x456b27
mov ecx, dword [esi + 0x9868]
mov edx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
push edx
push eax
lea eax, [esi + 0x1070]
push eax
lea eax, [esi + 0xa30]
push edi
push eax
lea ecx, [esi + 0x68]
call fcn.004d2240
mov eax, dword [esi + 0xcc]
cmp eax, ebx
jle 0x456b6e
mov ecx, dword [esi + 0x986c]
mov edx, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
push edx
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.004d2240
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xc4]
mov dword [esi + 0x98a0], eax
mov dword [esi + 0x98a4], ecx
mov dword [esi + 0x98a8], edx
mov dword [esi + 0x2cbc], ebx
mov dword [esi + 0x98b0], ebx
jmp 0x456e4f
mov edi, dword [esi + 0x2c94]
cmp edi, ebx
je 0x456c4f
jle 0x456e70
cmp edi, 7
jg 0x456e70
fld qword [0x5ff4e8]
cmp edi, 1
jne 0x456bd6
fld qword [0x5ff1b8]
jmp 0x456bfe
fld qword [0x5ff4e8]
lea eax, [edi - 2]
mov dword [esp + 0x11c], eax
fild dword [esp + 0x11c]
call fcn.005dffc6
fdivr qword [0x5ff1b8]
fmul qword [0x5ff738]
call fcn.005dffc6
fld qword [esi + 0x2f00]
fdiv st(1)
lea ecx, [esi + 0x3248]
inc edi
push ecx
push edi
mov ecx, esi
fstp qword [esp + 0xbc]
fmul qword [esi + 0x2f08]
fstp qword [esp + 0xa4]
call fcn.00473c10
mov dword [esi + 0x985c], eax
mov edx, dword [esi + 0x9858]
mov dword [esp + 0x40], 1
mov dword [esp + 0xc4], edx
jmp 0x456e70
mov ecx, dword [esp + 0xc0]
lea eax, [esp + 0xe8]
push eax
add ecx, 0xd028
call fcn.005df28c
mov edx, dword [esp + 0xe8]
push edx
call dword [0x5fca78]
mov ecx, dword [esp + 0xc4]
add esp, 4
mov edi, eax
lea eax, [esp + 0xe8]
push eax
add ecx, 0xdc00
call fcn.005df28c
push ecx
lea edx, [esp + 0xec]
mov ecx, esp
mov dword [esp + 0x134], esp
push edx
call fcn.005df334
call fcn.00542e20
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ebx
fild qword [esp + 0xa0]
mov eax, dword [esi + 0x2ca0]
add esp, 4
cmp eax, ebx
fdivr st(1)
fstp qword [esp + 0xb4]
fstp st(0)
jne 0x456cf6
shr edi, 1
inc edi
mov dword [esp + 0x40], 1
mov dword [esp + 0xc4], edi
jmp 0x456e70
cmp dword [0x63c134], ebx
jne 0x456e4f
cmp dword [esi + 0x9878], edi
jne 0x456e4f
mov ecx, dword [esi + 0x2c98]
mov eax, dword [esi + 0x9890]
cmp eax, ecx
jne 0x456d84
mov eax, dword [esi + 0x9894]
mov edx, dword [esi + 0x2c9c]
cmp eax, edx
jne 0x456d84
fild dword [esi + 0x9898]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x456d84
fild dword [esi + 0x989c]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x456d84
fld qword [esi + 0x98a0]
fcomp qword [esp + 0xb4]
fnstsw ax
test ah, 0x40
je 0x456d84
cmp dword [esi + 0x98a8], edi
jne 0x456d84
cmp dword [esi + 0x98ac], ebx
jne 0x456d84
cmp dword [esi + 0x98b0], ebx
jne 0x456e4f
mov edx, dword [esi + 0x3000]
mov eax, dword [esi + 0x2ffc]
push ebx
push edx
mov edx, dword [esi + 0x300c]
push eax
mov eax, dword [esi + 0x986c]
push edx
mov edx, dword [esi + 0x9868]
push eax
mov eax, dword [esp + 0xcc]
push edx
mov edx, dword [esp + 0xcc]
push edi
push eax
mov eax, dword [esi + 0x2f0c]
push edx
mov edx, dword [esi + 0x2f08]
push eax
mov eax, dword [esi + 0x2f04]
push edx
mov edx, dword [esi + 0x2f00]
push eax
mov eax, dword [esi + 0x2c9c]
push edx
push eax
push ecx
lea ecx, [esi + 0x68]
call fcn.004d1980
mov ecx, dword [esi + 0x2c98]
mov dword [esi + 0x9890], ecx
mov edx, dword [esi + 0x2c9c]
mov dword [esi + 0x9894], edx
fld qword [esi + 0x2f00]
call fcn.005dfdf0
mov dword [esi + 0x9898], eax
fld qword [esi + 0x2f08]
call fcn.005dfdf0
mov ecx, dword [esp + 0xb8]
mov dword [esi + 0x989c], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x98a0], eax
mov dword [esi + 0x98a4], ecx
mov dword [esi + 0x98a8], edi
mov dword [esi + 0x98ac], ebx
mov dword [esi + 0x98b0], 1
mov eax, 0x64
mov dword [esi + 0xd0], eax
mov dword [esi + 0x16b0], eax
mov eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x11c], eax
jmp 0x456ea2
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0xcc]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xc0], edx
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
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 + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], ecx
cmp eax, 7
mov dword [esp + 0xf8], edx
jne 0x4571c1
cmp dword [esi + 0x2f10], ebx
je 0x456f59
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x456f1e
cmp dword [esi + 0x2ca0], ebx
jne 0x456f59
cmp eax, ebx
mov dword [esp + 0xa8], ebx
jne 0x456f59
fld qword [esi + 0x2f00]
fsub qword [esp + 0xb4]
fdiv qword [esp + 0xb4]
call fcn.005dfdf0
cmp eax, 1
mov dword [esp + 0xa8], eax
jae 0x456f59
mov dword [esp + 0xa8], 1
cmp dword [esp + 0x48], 7
jne 0x4571c1
cmp dword [esi + 0x2f10], ebx
je 0x4571c1
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x45708a
cmp dword [esi + 0x2ca0], ebx
jne 0x4571c1
cmp eax, ebx
jne 0x45708a
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c4], eax
fild qword [esp + 0x2c4]
fmul qword [esp + 0xb4]
call fcn.005dfdf0
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 + 0xb4]
fnstsw ax
test ah, 1
jne 0x457017
fld qword [esi + 0x2f00]
fsub qword [esp + 0xb4]
fcom qword [0x5fd8a8]
fnstsw ax
test ah, 1
je 0x45701d
fstp st(0)
fld qword [0x5fd8a8]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x458e37
fld qword [esp + 0xb4]
fadd qword [esi + 0x2f08]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x4571d5
fld qword [0x636648]
fmul qword [0x5ff1b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x4571d5
cmp dword [esi + 0x2c98], ebx
je 0x457126
fld qword [esp + 0xc]
fsqrt
fdivr qword [0x5fd8a8]
fstp qword [esi + 0xa30]
jmp 0x457136
mov ecx, dword [esp + 0xa8]
fld qword [esi + ecx*8 + 0x3248]
call fcn.005dfdf0
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 + 0xb4]
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 0x458e37
fld qword [esp + 0xc]
fcomp qword [0x5fd8a8]
fnstsw ax
test ah, 1
jne 0x458e37
fld qword [esp + 0xc]
fcomp qword [esp + 0x9c]
fnstsw ax
test ah, 0x41
je 0x4571d5
fld qword [0x636648]
fmul qword [0x5ff1b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x4571d5
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 0x457197
fild dword [esi + 0x98c0]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x457197
fild dword [esi + 0x98c4]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x457197
mov edx, dword [esi + 0x98bc]
mov eax, dword [esi + 0x2c9c]
cmp edx, eax
jne 0x457197
fld qword [esi + 0x98c8]
fcomp qword [0x636648]
fnstsw ax
test ah, 0x40
jne 0x4571a0
push ebx
lea ecx, [esi + 0x68]
call fcn.004d0c00
mov eax, dword [esp + 0xa8]
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 0x458e2c
jmp 0x4571ec
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xa8], eax
jmp 0x458e37
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jge 0x457215
cmp dword [esi + 0x9d6c], ebx
jne 0x457215
mov edx, dword [esi + ecx*8 + 0x3f0]
mov dword [ecx*8 + 0x637ec0], edx
mov eax, dword [esi + ecx*8 + 0x3f4]
mov dword [ecx*8 + 0x637ec4], eax
fld qword [esi + ecx*8 + 0x1070]
fst qword [esp + 0x2c]
fcomp qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x45723b
fld qword [esp + 0x2c]
fadd qword [0x602448]
fstp qword [esp + 0x2c]
cmp dword [esi + 0x9cc8], ebx
je 0x457254
cmp dword [esi + 0x9d24], 1
je 0x457254
cmp dword [esi + 0x9d6c], ebx
je 0x457262
fld qword [esi + ecx*8 + 0x3f0]
fstp qword [esp + 0xec]
mov ecx, dword [esi + ecx*4 + 0xd0]
cmp ecx, 0x64
ja case.0x45727a.10
xor edx, edx
mov dl, byte [ecx + 0x45d760]
jmp dword [edx*4 + 0x45d734]
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.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45739f
cmp edi, ebx
jne 0x45732b
cmp dword [0x63c134], ebx
jne 0x45732b
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x45733e
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x2dc]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x45739f
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45752b
cmp dword [esi + 0x9d24], ebx
jne 0x45752b
cmp dword [esi + 0x9d6c], ebx
jne 0x45752b
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x457481
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45746a
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x457481
mov edx, dword [esp + 0x18]
fld qword [esi + edx*8 + 0x1070]
fmul qword [0x602440]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x4574d9
cmp eax, ebx
je 0x4574ad
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x457524
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45751f
cmp eax, ebx
je 0x4574f5
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x457524
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
cmp edi, ebx
jne 0x45754e
cmp dword [0x63c134], ebx
je 0x457568
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x457549
cmp dword [esp + 0x40], 1
jne 0x457568
jmp 0x45754e
cmp eax, 0xa
je 0x457568
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45757b
cmp eax, ebx
je 0x45757b
cmp dword [esi + 0x9d20], ebx
je 0x45757b
mov eax, dword [esp + 0x18]
fld qword [esi + eax*8 + 0x1070]
fmul qword [0x602440]
jmp 0x4575ae
mov ecx, dword [0x63c2f0]
mov dword [esp + 0x2b4], ebx
fld qword [esp + 0xec]
mov edx, dword [ecx + 4]
fmul qword [0x5ff4f0]
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 [0x602438]
call fcn.005dfdf0
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 [0x602430]
fsubr qword [esi + 0x30e0]
fst qword [esi + 0x30e0]
je 0x45763b
cmp dword [esi + 0x98e8], ebx
jne 0x457616
fsin
mov ecx, dword [esi + 0x2ff8]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edi*8]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x45767c
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 0x45767c
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45765f
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x457680
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 + 0xdc]
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 0x4572fb
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x457794
cmp edi, ebx
jne 0x457720
cmp dword [0x63c134], ebx
jne 0x457720
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x457733
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x1a4]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x457794
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x457919
cmp dword [esi + 0x9d24], ebx
jne 0x457919
cmp dword [esi + 0x9d6c], ebx
jne 0x457919
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x45786f
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45785f
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x45786f
fld qword [esp + 0x2c]
fmul qword [0x602428]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x4578c7
cmp eax, ebx
je 0x45789b
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x457912
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45790d
cmp eax, ebx
je 0x4578e3
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x457912
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov eax, dword [0x6368a0]
cmp eax, 1
je 0x45799e
cmp eax, 2
je 0x45799e
cmp edi, ebx
jne 0x45794b
cmp dword [0x63c134], ebx
je 0x457965
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x457946
cmp dword [esp + 0x40], 1
jne 0x457965
jmp 0x45794b
cmp eax, 0xa
je 0x457965
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x457971
cmp eax, ebx
je 0x457971
cmp dword [esi + 0x9d20], ebx
je 0x457971
fld qword [esp + 0x2c]
fmul qword [0x602428]
jmp 0x4579e6
mov edx, dword [0x63c2f0]
mov dword [esp + 0x2c0], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x2bc], eax
fild qword [esp + 0x2bc]
fdivr qword [esp + 0xec]
fadd qword [esi + 0x30e0]
jmp 0x4579e6
mov ecx, dword [0x63c2f0]
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 + 0xec]
fild qword [esp + 0x274]
fdivp st(1)
fld qword [esp + 0x2c]
fmul qword [0x602428]
faddp st(1)
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
call fcn.005dfdf0
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 0x457aa5
fld qword [esi + 0x9cf8]
fmul qword [0x5fd400]
fxch st(1)
cmp dword [esi + 0x98e8], ebx
fcompp
fnstsw ax
jne 0x457a7b
test ah, 1
je 0x457a5f
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 0x457b1c
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 0x457b1c
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 0x457b1a
fadd qword [eax]
jmp 0x457b1c
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x457ac9
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x457b1e
fld qword [esi + 0x9cf8]
fmul qword [0x5fd400]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x457aff
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xdc]
fmul qword [esi + ecx*8 + 0xa30]
lea eax, [eax + edi*8]
fadd qword [eax]
jmp 0x457b1c
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esp + 0xdc]
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 0x4576f0
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x457c32
cmp edi, ebx
jne 0x457bbe
cmp dword [0x63c134], ebx
jne 0x457bbe
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x457bd1
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x1f4]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x457c32
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x457db7
cmp dword [esi + 0x9d24], ebx
jne 0x457db7
cmp dword [esi + 0x9d6c], ebx
jne 0x457db7
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x457d0d
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x457cfd
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x457d0d
fld qword [esp + 0x2c]
fmul qword [0x602420]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x457d65
cmp eax, ebx
je 0x457d39
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x457db0
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x457dab
cmp eax, ebx
je 0x457d81
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x457db0
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov edx, dword [0x63c2f0]
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 + 0xec]
fmul qword [0x5ff1b8]
fstp qword [esp + 0xc]
jne 0x457e09
cmp dword [0x63c134], ebx
je 0x457e23
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x457e04
cmp dword [esp + 0x40], 1
jne 0x457e23
jmp 0x457e09
cmp eax, 0xa
je 0x457e23
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x457e2f
cmp eax, ebx
je 0x457e2f
cmp dword [esi + 0x9d20], ebx
je 0x457e2f
fld qword [esp + 0x2c]
fmul qword [0x602420]
jmp 0x457e3f
fld qword [0x5fd8a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e0]
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
fld st(0)
fmul qword [0x5ff1b8]
call fcn.005dfdf0
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 [0x5ff1b8]
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
and edx, 1
cmp eax, ebx
je 0x457fb2
cmp dword [esi + 0x98e8], ebx
jne 0x457f06
fld qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
cmp edx, ebx
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
jne 0x457ed1
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], ebx
fild qword [esp + 0x2a0]
fsubp st(1)
fadd st(0), st(0)
jmp 0x457ef0
mov dword [esp + 0x234], ecx
mov dword [esp + 0x238], ebx
fild qword [esp + 0x234]
fsubp st(1)
fadd st(0), st(0)
fsubr qword [0x5ff4e8]
fsub qword [0x5fd8a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458057
cmp edx, ebx
jne 0x457f5b
fld qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
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 [0x5fd8a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x458057
fld qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
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 [0x5ff4e8]
fsub qword [0x5fd8a8]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458057
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x457fd7
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45805b
cmp edx, ebx
jne 0x45800b
fld qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
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 0x45803f
fld qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
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 [0x5ff4e8]
fsub qword [0x5fd8a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xdc]
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 0x457b8e
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f0], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30f4], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98d8], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d4], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45816f
cmp edi, ebx
jne 0x4580fb
cmp dword [0x63c134], ebx
jne 0x4580fb
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x45810e
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x1ac]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x45816f
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x4582f4
cmp dword [esi + 0x9d24], ebx
jne 0x4582f4
cmp dword [esi + 0x9d6c], ebx
jne 0x4582f4
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x45824a
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45823a
mov eax, dword [esi + 0x98d8]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98d8], ecx
jmp 0x45824a
fld qword [esp + 0x2c]
fmul qword [0x602428]
fstp qword [esi + 0x30e0]
mov eax, dword [esi + 0x98d8]
cmp eax, ebx
mov eax, dword [esi + 0x3078]
jne 0x4582a2
cmp eax, ebx
je 0x458276
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4582ed
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4582e8
cmp eax, ebx
je 0x4582be
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4582ed
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov edx, dword [0x63c2f0]
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 + 0xec]
fstp qword [esp + 0xc]
jne 0x458340
cmp dword [0x63c134], ebx
je 0x45835a
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45833b
cmp dword [esp + 0x40], 1
jne 0x45835a
jmp 0x458340
cmp eax, 0xa
je 0x45835a
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x458366
cmp eax, ebx
je 0x458366
cmp dword [esi + 0x9d20], ebx
je 0x458366
fld qword [esp + 0x2c]
fmul qword [0x602428]
jmp 0x458376
fld qword [0x5fd8a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e0]
fstp qword [esi + 0x30e0]
fld qword [esi + 0x30e0]
call fcn.005dfdf0
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], ebx
fild qword [esp + 0x20c]
fsubr qword [esi + 0x30e0]
fst qword [esi + 0x30e0]
fadd qword [0x5ff1b8]
fld st(0)
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x45843a
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
jne 0x458401
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 [0x5fd8a8]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458498
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 [0x5fd8a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0xa30]
jmp 0x458498
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45845e
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x45849e
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 [0x5fd8a8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xdc]
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 0x4580cb
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
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 [0x5fca40]
add eax, dword [0x63c134]
push eax
mov dword [esp + 0x304], eax
call dword [0x5fca44]
mov eax, dword [esp + 0x40]
add esp, 8
xor edi, edi
cmp eax, ebx
jbe case.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x4585e9
cmp edi, ebx
jne 0x45854a
cmp dword [0x63c134], ebx
jne 0x45854a
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x45855d
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x25c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x4585e9
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x45865b
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45869e
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
jne 0x458627
call dword [0x5fca48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x602418]
fsub qword [0x5ff1b8]
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x458694
call dword [0x5fca48]
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 [0x602418]
fsub qword [0x5ff1b8]
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0xa30]
jmp 0x458694
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
call dword [0x5fca48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x602418]
fsub qword [0x5ff1b8]
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xdc]
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 0x45851a
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
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 [0x63c134], ebx
jne 0x458707
push ebx
call dword [0x5fca40]
add esp, 4
mov dword [0x63656c], eax
jmp 0x45870c
mov eax, dword [0x63656c]
mov dword [0x62bc10], eax
mov dword [esp + 0x130], eax
cmp dword [0x63c134], ebx
jne 0x45872f
push 0x1e
push 0x6363b8
call fcn.00451a30
add esp, 8
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe 0x4588a3
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x4587ff
cmp edi, ebx
jne 0x45876d
cmp dword [0x63c134], ebx
jne 0x45876d
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458780
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005dfdf0
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ebx
fild qword [esp + 0x26c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ecx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0x104]
fild qword [esp + 0x4c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x4587ff
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x458852
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45888c
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
push 0x6363b8
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
jne 0x458830
call fcn.00451a80
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0xa30]
jmp 0x45887e
call fcn.00451a80
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 0x45887e
mov edx, dword [esi + 0x2ff8]
push 0x6363b8
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
call fcn.00451a80
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0xa30]
fmul qword [esp + 0xdc]
fmul qword [0x600300]
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 0x45873d
mov eax, dword [0x62bc10]
mov dword [0x63656c], eax
jmp case.0x45727a.10
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x98]
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.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458977
cmp edi, ebx
jne 0x458913
cmp dword [0x63c134], ebx
jne 0x458913
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458926
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005dfdf0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ecx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0x104]
fild qword [esp + 0x64]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458977
mov dword [esp + 0x14], ebx
cmp edi, ebx
jne 0x45899a
cmp dword [0x63c134], ebx
je 0x4589e3
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x458995
cmp dword [esp + 0x40], 1
jne 0x4589e3
jmp 0x45899a
cmp eax, 0xa
je 0x4589e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x4589b4
cmp eax, ebx
je 0x4589b4
cmp dword [esi + 0x9d20], ebx
jne 0x4589e3
fld qword [esi + 0x30e0]
fadd qword [0x5fd8a8]
mov dword [esp + 0x78], ebx
fst qword [esi + 0x30e0]
mov edx, dword [esi + 0x313c]
mov dword [esp + 0x74], edx
fild qword [esp + 0x74]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x4589ef
mov dword [esi + 0x30e0], ebx
mov dword [esi + 0x30e4], ebx
fld qword [esi + 0x30e0]
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x458a57
cmp dword [esi + 0x98e8], ebx
jne 0x458a2b
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 0x458a9d
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 0x458a9d
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x458a79
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458aa1
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 + 0xdc]
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 0x4588e7
jmp case.0x45727a.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
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.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458b8f
cmp edi, ebx
jne 0x458b22
cmp dword [0x63c134], ebx
jne 0x458b22
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458b35
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], eax
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0x104]
fild qword [esp + 0x6c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458b8f
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + ecx*4 + 0xd0]
cmp eax, 0xc
jne 0x458bb1
mov edx, dword [esp + 0x38]
shr edx, 1
cmp edi, edx
jae 0x458bc8
cmp dword [0x63c134], ebx
ja 0x458bc8
cmp eax, 0xb
jne 0x458bd0
mov eax, dword [esp + 0x38]
shr eax, 1
cmp edi, eax
jne 0x458bd0
cmp dword [0x63c134], ebx
jne 0x458bd0
fld qword [0x5fd8a8]
jmp 0x458bd6
fld qword [0x5fd8b0]
cmp dword [esp + 0x14], ebx
je 0x458c16
cmp dword [esi + 0x98e8], ebx
jne 0x458bfa
mov edx, dword [esi + 0x2ff8]
fmul qword [esi + ecx*8 + 0xa30]
lea eax, [edx + edi*8]
fadd qword [eax]
fstp qword [eax]
jmp 0x458c59
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 0x458c4a
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x458c3a
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458c59
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xdc]
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 0x458af2
jmp case.0x45727a.10
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
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.0x45727a.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x458d67
cmp edi, ebx
jne 0x458cde
cmp dword [0x63c134], ebx
jne 0x458cde
mov dword [esi + 0x30f0], ebx
mov dword [esi + 0x30f4], ebx
jmp 0x458cf1
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f0]
fstp qword [esi + 0x30f0]
fld qword [esi + 0x30f0]
call fcn.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], edx
fsubr qword [esi + 0x30f0]
fst qword [esi + 0x30f0]
fdiv qword [esp + 0x104]
fild qword [esp + 0x7c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x458d67
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x458dbe
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x458ddd
cmp dword [esi + 0x98e8], ebx
jne 0x458d93
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 0x458ddd
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 0x458ddd
mov eax, dword [esi + 0x9860]
mov ecx, dword [esi + 0x9868]
fld qword [esp + 0xdc]
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 0x458dfc
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 0x458cae
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x4571e8
cmp dword [esp + 0x48], 7
jne 0x458ff9
cmp dword [esi + 0x2f10], ebx
je 0x458ed0
cmp dword [esi + 0x2c94], ebx
jne 0x458e57
cmp dword [esi + 0x2ca0], ebx
jne 0x458ed8
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xc4]
inc eax
cmp eax, ecx
mov dword [esp + 0xa8], eax
jb 0x456f59
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 + 0xac]
mov dword [esi + 0xa30], eax
mov eax, dword [esp + 0xfc]
mov dword [esi + 0xa34], ecx
mov ecx, dword [esp + 0x100]
mov dword [esi + 0xd0], edx
mov dword [esi + 0x1070], eax
mov dword [esi + 0x1074], ecx
cmp dword [esi + 0x2ca0], ebx
je 0x458f33
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 + 0xac]
mov dword [esi + 0xa30], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esi + 0xa34], edx
mov edx, dword [esp + 0x100]
mov dword [esi + 0xd0], eax
mov dword [esi + 0x1070], ecx
mov dword [esi + 0x1074], edx
cmp dword [0x63c134], ebx
je 0x458f46
cmp dword [esp + 0x48], 6
jne 0x459027
mov ecx, dword [esi + 0x2ff8]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
fld qword [ecx]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0xb0], edx
jbe 0x458fa1
mov edx, eax
fld qword [esp + 0xac]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x458f8e
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x458f9b
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x458f6b
fld qword [esp + 0xac]
fabs
fstp qword [esp + 0xfc]
fabs
fld qword [esp + 0xfc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x458fcc
fstp st(0)
fld qword [esp + 0xfc]
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 0x40
je 0x458fe1
fstp st(0)
fld qword [0x5fd8a8]
cmp dword [esp + 0x48], 6
jne 0x459021
fcom qword [0x5fd8a8]
fnstsw ax
test ah, 0x41
je 0x459021
fstp st(0)
jmp 0x45900f
mov eax, dword [esp + 0x48]
cmp eax, 0xa
je 0x458f33
cmp eax, 6
je 0x458f33
mov dword [esi + 0x3130], ebx
mov dword [esi + 0x3134], 0x3ff00000
jmp 0x459027
fstp qword [esi + 0x3130]
mov eax, dword [0x63c2f0]
mov ecx, dword [esi + 0x3130]
mov edx, dword [esi + 0x3134]
mov dword [esp + 0xac], ecx
cmp word [eax + 2], 1
mov dword [esp + 0xb0], edx
jne 0x459bcb
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x459be5.12
xor ecx, ecx
mov cl, byte [edi + 0x45d7dc]
jmp dword [ecx*4 + 0x45d7c8]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [edx + 4], ebx
jbe case.0x459be5.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 0x459206
cmp dword [esi + 0x9d24], 1
jne 0x459206
cmp dword [esi + 0x9d6c], ebx
jne 0x459206
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459146
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459146
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 0x45919e
cmp eax, ebx
je 0x459172
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4591e9
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4591e4
cmp eax, ebx
je 0x4591ba
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4591e9
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x4592b2
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45922e
sub eax, ecx
dec eax
jmp 0x459230
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45925c
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45926c
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x4592a0
cmp dword [esi + 0x9d08], ebx
jne 0x4592a0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x4592cf
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x4592cf
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3018]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3058]
fadd qword [0x6023e8]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
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 0x459082
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x4594ca
cmp dword [esi + 0x9d24], 1
jne 0x4594ca
cmp dword [esi + 0x9d6c], ebx
jne 0x4594ca
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45940a
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45940a
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 0x459462
cmp eax, ebx
je 0x459436
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x4594ad
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x4594a8
cmp eax, ebx
je 0x45947e
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x4594ad
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459576
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x4594f2
sub eax, ecx
dec eax
jmp 0x4594f4
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x459520
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459530
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459564
cmp dword [esi + 0x9d08], ebx
jne 0x459564
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459593
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459593
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3028]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3060]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x459346
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x45979b
cmp dword [esi + 0x9d24], 1
jne 0x45979b
cmp dword [esi + 0x9d6c], ebx
jne 0x45979b
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x4596db
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x4596db
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 0x459733
cmp eax, ebx
je 0x459707
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45977e
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x459779
cmp eax, ebx
je 0x45974f
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45977e
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459847
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x4597c3
sub eax, ecx
dec eax
jmp 0x4597c5
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x4597f1
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459801
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459835
cmp dword [esi + 0x9d08], ebx
jne 0x459835
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459864
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459864
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esp + 0xd4]
fmul qword [esi + 0x3038]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3068]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x459617
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x459a7a
cmp dword [esi + 0x9d24], 1
jne 0x459a7a
cmp dword [esi + 0x9d6c], ebx
jne 0x459a7a
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x4599ba
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x4599ba
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 0x459a12
cmp eax, ebx
je 0x4599e6
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x459a5d
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x459a58
cmp eax, ebx
je 0x459a2e
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x459a5d
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459b26
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459aa2
sub eax, ecx
dec eax
jmp 0x459aa4
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x459ad0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459ae0
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459b14
cmp dword [esi + 0x9d08], ebx
jne 0x459b14
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459b43
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459b43
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3048]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3070]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x4598f6
jmp case.0x459be5.12
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x459be5.12
xor ecx, ecx
mov cl, byte [edi + 0x45d80c]
jmp dword [ecx*4 + 0x45d7f8]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [edx + 4], ebx
jbe case.0x459be5.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 0x459d80
cmp dword [esi + 0x9d24], 1
jne 0x459d80
cmp dword [esi + 0x9d6c], ebx
jne 0x459d80
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459cc0
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459cc0
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 0x459d18
cmp eax, ebx
je 0x459cec
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x459d63
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x459d5e
cmp eax, ebx
je 0x459d34
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x459d63
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x459e2c
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x459da8
sub eax, ecx
dec eax
jmp 0x459daa
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x459dd6
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x459de6
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x459e1a
cmp dword [esi + 0x9d08], ebx
jne 0x459e1a
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x459e49
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x459e49
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3018]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3058]
fadd qword [0x6023e8]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
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 0x459bfc
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x45a048
cmp dword [esi + 0x9d24], 1
jne 0x45a048
cmp dword [esi + 0x9d6c], ebx
jne 0x45a048
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x459f88
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x459f88
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 0x459fe0
cmp eax, ebx
je 0x459fb4
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a02b
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a026
cmp eax, ebx
je 0x459ffc
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a02b
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a0f4
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a070
sub eax, ecx
dec eax
jmp 0x45a072
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a09e
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a0ae
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a0e2
cmp dword [esi + 0x9d08], ebx
jne 0x45a0e2
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a111
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a111
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3028]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3060]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x459ec4
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x45a31a
cmp dword [esi + 0x9d24], 1
jne 0x45a31a
cmp dword [esi + 0x9d6c], ebx
jne 0x45a31a
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45a25a
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45a25a
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 0x45a2b2
cmp eax, ebx
je 0x45a286
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a2fd
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a2f8
cmp eax, ebx
je 0x45a2ce
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a2fd
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a3c6
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a342
sub eax, ecx
dec eax
jmp 0x45a344
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a370
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a380
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a3b4
cmp dword [esi + 0x9d08], ebx
jne 0x45a3b4
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a3e3
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a3e3
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esp + 0xd4]
fmul qword [esi + 0x3038]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3068]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x45a196
jmp case.0x459be5.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
cmp dword [ecx + 4], ebx
jbe case.0x459be5.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 0x45a5fa
cmp dword [esi + 0x9d24], 1
jne 0x45a5fa
cmp dword [esi + 0x9d6c], ebx
jne 0x45a5fa
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d4], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45a53a
mov dword [esi + 0x30d4], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45a53a
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 0x45a592
cmp eax, ebx
je 0x45a566
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9ce8]
jmp 0x45a5dd
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45a5d8
cmp eax, ebx
je 0x45a5ae
fld qword [esi + 0x9cd8]
fsub qword [esi + 0x9ce8]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9cd8]
jmp 0x45a5dd
fldlg2
fld qword [esi + 0x9cd8]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce8]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45a6a6
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45a622
sub eax, ecx
dec eax
jmp 0x45a624
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45a650
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45a660
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45a694
cmp dword [esi + 0x9d08], ebx
jne 0x45a694
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45a6c3
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45a6c3
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3048]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3070]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x45a476
cmp word [eax + 2], 1
jne 0x45a7ec
cmp dword [esp + 0x140], ebx
je 0x45a76d
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 0x45d703
cmp dword [esi + 0x2f10], ebx
jne 0x45a78c
cmp dword [esi + 0x2ca0], ebx
je 0x45d703
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 0x45d703
cmp dword [esi + 0x9cc8], ebx
jne 0x45a8c7
mov eax, dword [esp + 0x48]
cmp eax, 1
jl 0x45a8c7
cmp eax, 4
jg 0x45a8c7
mov eax, dword [esp + 0x120]
cmp eax, 1
jl 0x45a8c7
cmp eax, 4
jg 0x45a8c7
fld qword [esi + 0x19d0]
fcomp qword [esi + 0x3f0]
fnstsw ax
test ah, 0x40
je 0x45a8c7
lea ecx, [esp + 0x300]
push 0x1d
push ecx
lea ecx, [esi + 0x9a30]
call fcn.005df580
mov edi, dword [0x5fca2c]
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 [0x5fc13c]
lea ecx, [esp + 0x364]
push ecx
call dword [0x5fca30]
fcom qword [0x5fd8b0]
add esp, 4
fnstsw ax
test ah, 1
je 0x45a8b8
fadd qword [0x602448]
fmul qword [0x602428]
fstp qword [esp + 0xc4]
jmp 0x45a8dd
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 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 + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], ecx
cmp eax, 7
mov dword [esp + 0xf8], edx
jne 0x45a990
cmp dword [esi + 0x2f10], ebx
je 0x45a990
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x45a955
cmp dword [esi + 0x2ca0], ebx
jne 0x45a990
cmp eax, ebx
mov dword [esp + 0xa8], ebx
jne 0x45a990
fld qword [esi + 0x2f00]
fsub qword [esp + 0xb4]
fdiv qword [esp + 0xb4]
call fcn.005dfdf0
cmp eax, 1
mov dword [esp + 0xa8], eax
jae 0x45a990
mov dword [esp + 0xa8], 1
mov edi, dword [esp + 0xa8]
cmp dword [esp + 0x48], 7
jne 0x45abd2
cmp dword [esi + 0x2f10], ebx
je 0x45abd2
mov eax, dword [esi + 0x2c94]
cmp eax, ebx
jne 0x45aab2
cmp dword [esi + 0x2ca0], ebx
jne 0x45abd2
cmp eax, ebx
jne 0x45aab2
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
fmul qword [esp + 0xb4]
call fcn.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
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 + 0xb4]
fnstsw ax
test ah, 1
jne 0x45aa3f
fld qword [esi + 0x2f00]
fsub qword [esp + 0xb4]
fcom qword [0x5fd8a8]
fnstsw ax
test ah, 1
je 0x45aa45
fstp st(0)
fld qword [0x5fd8a8]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x45c943
fld qword [esp + 0xb4]
fadd qword [esi + 0x2f08]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45abe9
fld qword [0x636648]
fmul qword [0x5ff1b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45abe9
cmp dword [esi + 0x2c98], ebx
je 0x45ab3e
fld qword [esp + 0xc]
fsqrt
fdivr qword [0x5fd8a8]
fstp qword [esi + 0x2010]
jmp 0x45ab4e
fld qword [esi + edi*8 + 0x3248]
call fcn.005dfdf0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
fild qword [esp + 0x6c]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fcomp qword [esp + 0xb4]
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 0x45c943
fld qword [esp + 0xc]
fcomp qword [0x5fd8a8]
fnstsw ax
test ah, 1
jne 0x45c943
fld qword [esp + 0xc]
fcomp qword [esp + 0x9c]
fnstsw ax
test ah, 0x41
je 0x45abe9
fld qword [0x636648]
fmul qword [0x5ff1b8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
jne 0x45abe9
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 0x45abaf
fild dword [esi + 0x98c0]
fcomp qword [esi + 0x2f00]
fnstsw ax
test ah, 0x40
je 0x45abaf
fild dword [esi + 0x98c4]
fcomp qword [esi + 0x2f08]
fnstsw ax
test ah, 0x40
je 0x45abaf
mov edx, dword [esi + 0x98bc]
mov eax, dword [esi + 0x2c9c]
cmp edx, eax
jne 0x45abaf
fld qword [esi + 0x98c8]
fcomp qword [0x636648]
fnstsw ax
test ah, 0x40
jne 0x45abb8
push ebx
lea ecx, [esi + 0x68]
call fcn.004d0c00
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 + 0xc0]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x18], ecx
jbe 0x45c938
jmp 0x45abf9
mov edi, dword [esp + 0x11c]
jmp 0x45c943
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jge 0x45ac22
cmp dword [esi + 0x9d6c], ebx
jne 0x45ac22
mov edx, dword [esi + ecx*8 + 0x19d0]
mov dword [ecx*8 + 0x637eb0], edx
mov eax, dword [esi + ecx*8 + 0x19d4]
mov dword [ecx*8 + 0x637eb4], eax
fld qword [esi + ecx*8 + 0x2650]
fst qword [esp + 0x2c]
fcomp qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x45ac48
fld qword [esp + 0x2c]
fadd qword [0x602448]
fstp qword [esp + 0x2c]
cmp dword [esi + 0x9cc8], ebx
je 0x45ac61
cmp dword [esi + 0x9d24], 1
je 0x45ac61
cmp dword [esi + 0x9d6c], ebx
je 0x45ac6f
fld qword [esi + ecx*8 + 0x19d0]
fstp qword [esp + 0xec]
mov ecx, dword [esi + ecx*4 + 0x16b0]
cmp ecx, 0x64
ja case.0x45ac87.10
xor edx, edx
mov dl, byte [ecx + 0x45d854]
jmp dword [edx*4 + 0x45d828]
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.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45ac87.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45ada3
cmp edi, ebx
jne 0x45ad38
cmp dword [0x63c134], ebx
jne 0x45ad38
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45ad4b
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ecx
fsubp st(1)
fst qword [esi + 0x30f8]
fdiv qword [esp + 0x104]
fild qword [esp + 0x74]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45ada3
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45af14
cmp dword [esi + 0x9d24], ebx
jne 0x45af14
cmp dword [esi + 0x9d6c], ebx
jne 0x45af14
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebx
fmul st(1)
fild qword [esp + 0x4c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
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 0x45ae6a
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45ae53
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45ae6a
mov edx, dword [esp + 0x18]
fld qword [esi + edx*8 + 0x2650]
fmul qword [0x602440]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45aec2
cmp eax, ebx
je 0x45ae96
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45af0d
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45af08
cmp eax, ebx
je 0x45aede
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45af0d
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
cmp edi, ebx
jne 0x45af3a
cmp dword [0x63c134], ebx
je 0x45af54
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45af35
cmp dword [esp + 0xc0], 1
jne 0x45af54
jmp 0x45af3a
cmp eax, 0xa
je 0x45af54
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45af67
cmp eax, ebx
je 0x45af67
cmp dword [esi + 0x9d20], ebx
je 0x45af67
mov eax, dword [esp + 0x18]
fld qword [esi + eax*8 + 0x2650]
fmul qword [0x602440]
jmp 0x45af9a
mov ecx, dword [0x63c2f0]
mov dword [esp + 0x260], ebx
fld qword [esp + 0xec]
mov edx, dword [ecx + 4]
fmul qword [0x5ff4f0]
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 [0x602438]
call fcn.005dfdf0
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 [0x602430]
fsubr qword [esi + 0x30e8]
fst qword [esi + 0x30e8]
je 0x45b048
cmp dword [esi + 0x98e8], ebx
jne 0x45b014
fld qword [esp + 0xc4]
fmul qword [0x5ff4f0]
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 0x45b098
fld qword [esp + 0xc4]
fmul qword [0x5ff4f0]
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 0x45b098
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45b06c
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45b09e
fld qword [esp + 0xc4]
fmul qword [0x5ff4f0]
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 + 0xdc]
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 0x45ad08
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45ac87.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45b1b2
cmp edi, ebx
jne 0x45b13e
cmp dword [0x63c134], ebx
jne 0x45b13e
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45b151
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x22c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45b1b2
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45b337
cmp dword [esi + 0x9d24], ebx
jne 0x45b337
cmp dword [esi + 0x9d6c], ebx
jne 0x45b337
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x45b28d
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45b27d
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45b28d
fld qword [esp + 0x2c]
fmul qword [0x602428]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45b2e5
cmp eax, ebx
je 0x45b2b9
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45b330
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45b32b
cmp eax, ebx
je 0x45b301
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45b330
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov eax, dword [0x6368a0]
cmp eax, 1
je 0x45b3bf
cmp eax, 2
je 0x45b3bf
cmp edi, ebx
jne 0x45b36c
cmp dword [0x63c134], ebx
je 0x45b386
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45b367
cmp dword [esp + 0xc0], 1
jne 0x45b386
jmp 0x45b36c
cmp eax, 0xa
je 0x45b386
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45b392
cmp eax, ebx
je 0x45b392
cmp dword [esi + 0x9d20], ebx
je 0x45b392
fld qword [esp + 0x2c]
fmul qword [0x602428]
jmp 0x45b407
mov edx, dword [0x63c2f0]
mov dword [esp + 0x1e0], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x1dc], eax
fild qword [esp + 0x1dc]
fdivr qword [esp + 0xec]
fadd qword [esi + 0x30e8]
jmp 0x45b40e
mov ecx, dword [0x63c2f0]
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 + 0xec]
fild qword [esp + 0x1bc]
fdivp st(1)
fld qword [esp + 0x2c]
fmul qword [0x602428]
faddp st(1)
fadd qword [esp + 0xc4]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
call fcn.005dfdf0
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 0x45b4cd
fld qword [esi + 0x9d00]
fmul qword [0x5fd400]
fxch st(1)
cmp dword [esi + 0x98e8], ebx
fcompp
fnstsw ax
jne 0x45b4a3
test ah, 1
je 0x45b487
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 0x45b544
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 0x45b544
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 0x45b542
fadd qword [eax]
jmp 0x45b544
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45b4f1
mov edx, dword [esi + 0x2ff8]
fstp st(0)
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45b546
fld qword [esi + 0x9d00]
fmul qword [0x5fd400]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x45b527
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2ff8]
fld qword [esp + 0xdc]
fmul qword [esi + ecx*8 + 0x2010]
lea eax, [eax + edi*8]
fadd qword [eax]
jmp 0x45b544
mov edx, dword [esi + 0x2ff8]
mov ecx, dword [esp + 0x18]
fld qword [esp + 0xdc]
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 0x45b10e
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45ac87.10
fld qword [esp + 0xc4]
fadd st(0), st(0)
fst qword [esp + 0x114]
fadd qword [0x5ff1b8]
fstp qword [esp + 0xfc]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45b677
cmp edi, ebx
jne 0x45b603
cmp dword [0x63c134], ebx
jne 0x45b603
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45b616
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x18c]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45b677
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45b7fc
cmp dword [esi + 0x9d24], ebx
jne 0x45b7fc
cmp dword [esi + 0x9d6c], ebx
jne 0x45b7fc
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x45b752
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45b742
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45b752
fld qword [esp + 0x2c]
fmul qword [0x602420]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45b7aa
cmp eax, ebx
je 0x45b77e
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45b7f5
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45b7f0
cmp eax, ebx
je 0x45b7c6
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45b7f5
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov edx, dword [0x63c2f0]
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 + 0xec]
fmul qword [0x5ff1b8]
fstp qword [esp + 0xc]
jne 0x45b851
cmp dword [0x63c134], ebx
je 0x45b86b
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45b84c
cmp dword [esp + 0xc0], 1
jne 0x45b86b
jmp 0x45b851
cmp eax, 0xa
je 0x45b86b
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45b877
cmp eax, ebx
je 0x45b877
cmp dword [esi + 0x9d20], ebx
je 0x45b877
fld qword [esp + 0x2c]
fmul qword [0x602420]
jmp 0x45b887
fld qword [0x5fd8a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e8]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
fld st(0)
fmul qword [0x5ff1b8]
call fcn.005dfdf0
shl eax, 1
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], ebx
fild qword [esp + 0x224]
fsubp st(1)
fst qword [esi + 0x30e8]
fadd qword [esp + 0xfc]
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
and edx, 1
cmp eax, ebx
je 0x45ba17
cmp dword [esi + 0x98e8], ebx
jne 0x45b95d
fld qword [esi + 0x30e8]
fadd qword [0x5ff1b8]
cmp edx, ebx
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
jne 0x45b921
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 0x45b947
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 [0x5ff4e8]
fsub qword [0x5fd8a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45baca
cmp edx, ebx
jne 0x45b9b9
fld qword [esi + 0x30e8]
fadd qword [0x5ff1b8]
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 [0x5fd8a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0x2010]
jmp 0x45baca
fld qword [esi + 0x30e8]
fadd qword [0x5ff1b8]
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 [0x5ff4e8]
fsub qword [0x5fd8a8]
fmul qword [ecx + edx*8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45baca
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45ba3c
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45bace
cmp edx, ebx
jne 0x45ba77
fld qword [esi + 0x30e8]
fadd qword [0x5ff1b8]
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 0x45bab2
fld qword [esi + 0x30e8]
fadd qword [0x5ff1b8]
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 [0x5ff4e8]
fsub qword [0x5fd8a8]
mov ecx, dword [esp + 0x18]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xdc]
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 0x45b5d3
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
fld qword [esp + 0x124]
mov dword [esi + 0x30fc], ecx
mov dword [esi + 0x3124], edx
call fcn.005dfdf0
mov dword [esi + 0x98dc], eax
mov eax, dword [esp + 0xf8]
mov dword [esi + 0x30d8], eax
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45ac87.10
fld qword [esp + 0xc4]
fadd qword [0x5ff1b8]
fstp qword [esp + 0xfc]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45bbf6
cmp edi, ebx
jne 0x45bb82
cmp dword [0x63c134], ebx
jne 0x45bb82
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45bb95
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
fld st(0)
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x1e4]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45bbf6
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x9cc8], ebx
je 0x45bd7b
cmp dword [esi + 0x9d24], ebx
jne 0x45bd7b
cmp dword [esi + 0x9d6c], ebx
jne 0x45bd7b
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
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.005dfdf0
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 0x45bcd1
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45bcc1
mov eax, dword [esi + 0x98dc]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 0x98dc], ecx
jmp 0x45bcd1
fld qword [esp + 0x2c]
fmul qword [0x602428]
fstp qword [esi + 0x30e8]
mov eax, dword [esi + 0x98dc]
cmp eax, ebx
mov eax, dword [esi + 0x307c]
jne 0x45bd29
cmp eax, ebx
je 0x45bcfd
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45bd74
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45bd6f
cmp eax, ebx
je 0x45bd45
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45bd74
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fstp qword [esp + 0xec]
mov edx, dword [0x63c2f0]
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 + 0xec]
fstp qword [esp + 0xc]
jne 0x45bdca
cmp dword [0x63c134], ebx
je 0x45bde4
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45bdc5
cmp dword [esp + 0xc0], 1
jne 0x45bde4
jmp 0x45bdca
cmp eax, 0xa
je 0x45bde4
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45bdf0
cmp eax, ebx
je 0x45bdf0
cmp dword [esi + 0x9d20], ebx
je 0x45bdf0
fld qword [esp + 0x2c]
fmul qword [0x602428]
jmp 0x45be00
fld qword [0x5fd8a8]
fdiv qword [esp + 0xc]
fadd qword [esi + 0x30e8]
fstp qword [esi + 0x30e8]
fld qword [esi + 0x30e8]
call fcn.005dfdf0
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 + 0xfc]
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x45bee3
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
jne 0x45be9d
fadd qword [0x5ff1b8]
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 + 0xc4]
fadd st(0), st(0)
fsub qword [0x5fd8a8]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45bf4e
fadd qword [0x5ff1b8]
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 + 0xc4]
fadd st(0), st(0)
fsub qword [0x5fd8a8]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x18]
fmul qword [esi + edx*8 + 0x2010]
jmp 0x45bf4e
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45bf07
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x45bf52
fadd qword [0x5ff1b8]
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 + 0xc4]
fadd st(0), st(0)
fsub qword [0x5fd8a8]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xdc]
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 0x45bb52
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
mov eax, dword [esp + 0x188]
mov dword [esi + 0x30fc], ecx
cmp eax, ebx
mov dword [esi + 0x3124], edx
jne 0x45bfbd
push ebx
call dword [0x5fca40]
mov ecx, dword [0x63c134]
lea edx, [eax + ecx + 1]
push edx
call dword [0x5fca44]
add esp, 8
jmp 0x45bfce
mov eax, dword [esp + 0x2fc]
push eax
call dword [0x5fca44]
add esp, 4
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe case.0x45ac87.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c0a2
cmp edi, ebx
jne 0x45c00c
cmp dword [0x63c134], ebx
jne 0x45c00c
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c01f
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x2b0]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c0a2
mov eax, dword [esi + 0x98e8]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jne 0x45c114
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45c157
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
jne 0x45c0e0
call dword [0x5fca48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x602418]
fsub qword [0x5ff1b8]
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c14d
call dword [0x5fca48]
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 [0x602418]
fsub qword [0x5ff1b8]
fmul qword [ecx + edx*8]
fmul qword [esi + eax*8 + 0x2010]
jmp 0x45c14d
mov edx, dword [esi + 0x2ff8]
lea eax, [edx + edi*8]
mov dword [esp + 0x2c], eax
call dword [0x5fca48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
fild dword [esp + 0x1c]
fmul qword [0x602418]
fsub qword [0x5ff1b8]
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xdc]
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 0x45bfdc
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esi + 0x30f8], eax
mov eax, dword [esp + 0x2b8]
mov dword [esi + 0x30fc], ecx
cmp eax, ebx
mov dword [esi + 0x3124], edx
jne 0x45c1c6
cmp dword [0x63c134], ebx
jne 0x45c1bf
push ebx
call dword [0x5fca40]
add esp, 4
inc eax
mov dword [0x636568], eax
jmp 0x45c1cd
mov eax, dword [0x636568]
jmp 0x45c1cd
mov eax, dword [esp + 0x130]
mov dword [0x62bc10], eax
mov eax, dword [0x63c134]
cmp eax, ebx
jne 0x45c1ea
push 0x1e
push 0x636328
call fcn.00451a30
add esp, 8
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, ebx
jbe 0x45c367
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c2c3
cmp edi, ebx
jne 0x45c228
cmp dword [0x63c134], ebx
jne 0x45c228
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c23b
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x244]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c2c3
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x45c316
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45c350
mov eax, dword [esi + 0x98e8]
mov edx, dword [esi + 0x2ff8]
cmp eax, ebx
push 0x636328
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
jne 0x45c2f4
call fcn.00451a80
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0x2010]
jmp 0x45c342
call fcn.00451a80
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 0x45c342
mov edx, dword [esi + 0x2ff8]
push 0x636328
lea eax, [edx + edi*8]
mov dword [esp + 0x30], eax
call fcn.00451a80
mov ecx, dword [esp + 0x1c]
add esp, 4
fmul qword [esi + ecx*8 + 0x2010]
fmul qword [esp + 0xdc]
fmul qword [0x600300]
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 0x45c1f8
mov eax, dword [0x62bc10]
mov dword [0x636568], eax
jmp case.0x45ac87.10
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
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.0x45ac87.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c451
cmp edi, ebx
jne 0x45c3db
cmp dword [0x63c134], ebx
jne 0x45c3db
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c3ee
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x2cc]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c451
mov dword [esp + 0x14], ebx
cmp edi, ebx
jne 0x45c477
cmp dword [0x63c134], ebx
je 0x45c4c9
mov eax, dword [esp + 0x48]
cmp eax, 7
jne 0x45c472
cmp dword [esp + 0xc0], 1
jne 0x45c4c9
jmp 0x45c477
cmp eax, 0xa
je 0x45c4c9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3124]
cmp ecx, eax
je 0x45c491
cmp eax, ebx
je 0x45c491
cmp dword [esi + 0x9d20], ebx
jne 0x45c4c9
fld qword [esi + 0x30e8]
fadd qword [0x5fd8a8]
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 0x45c4d5
mov dword [esi + 0x30e8], ebx
mov dword [esi + 0x30ec], ebx
fld qword [esi + 0x30e8]
call fcn.005dfdf0
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x45c53d
cmp dword [esi + 0x98e8], ebx
jne 0x45c511
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 0x45c583
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 0x45c583
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45c55f
mov edx, dword [esi + 0x2ff8]
mov dword [edx + edi*8], ebx
mov dword [edx + edi*8 + 4], ebx
jmp 0x45c587
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 + 0xdc]
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 0x45c3ab
jmp case.0x45ac87.10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
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.0x45ac87.10
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c686
cmp edi, ebx
jne 0x45c60c
cmp dword [0x63c134], ebx
jne 0x45c60c
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c61f
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x2e4]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c682
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + ecx*4 + 0x16b0]
cmp eax, 0xc
jne 0x45c6a4
mov edx, dword [esp + 0x38]
shr edx, 1
cmp edi, edx
jae 0x45c6bb
cmp dword [0x63c134], ebx
ja 0x45c6bb
cmp eax, 0xb
jne 0x45c6c3
mov eax, dword [esp + 0x38]
shr eax, 1
cmp edi, eax
jne 0x45c6c3
cmp dword [0x63c134], ebx
jne 0x45c6c3
fld qword [0x5fd8a8]
jmp 0x45c6c9
fld qword [0x5fd8b0]
cmp dword [esp + 0x14], ebx
je 0x45c709
cmp dword [esi + 0x98e8], ebx
jne 0x45c6ed
mov edx, dword [esi + 0x2ff8]
fmul qword [esi + ecx*8 + 0x2010]
lea eax, [edx + edi*8]
fadd qword [eax]
fstp qword [eax]
jmp 0x45c74c
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 0x45c73d
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
fnstsw ax
test ah, 1
je 0x45c72d
mov eax, dword [esi + 0x2ff8]
fstp st(0)
mov dword [eax + edi*8], ebx
mov dword [eax + edi*8 + 4], ebx
jmp 0x45c74c
mov edx, dword [esi + 0x2ff8]
fld qword [esp + 0xdc]
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 0x45c5dc
jmp case.0x45ac87.10
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
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.0x45ac87.10
mov eax, dword [esi + 0x9d0c]
mov dword [esp + 0x14], 1
cmp eax, ebx
je 0x45c869
cmp edi, ebx
jne 0x45c7d1
cmp dword [0x63c134], ebx
jne 0x45c7d1
mov dword [esi + 0x30f8], ebx
mov dword [esi + 0x30fc], ebx
jmp 0x45c7e4
fld qword [esp + 0x10c]
fadd qword [esi + 0x30f8]
fstp qword [esi + 0x30f8]
fld qword [esi + 0x30f8]
call fcn.005dfdf0
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 + 0x104]
fild qword [esp + 0x2c4]
fmulp st(1)
call fcn.005dfdf0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x45c869
fld qword [esi + 0x98e0]
fcomp qword [0x6023f0]
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 1
je 0x45c8c0
mov ecx, dword [esi + 0x2ff8]
mov dword [ecx + edi*8], ebx
mov dword [ecx + edi*8 + 4], ebx
jmp 0x45c8df
cmp dword [esi + 0x98e8], ebx
jne 0x45c895
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 0x45c8df
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 0x45c8df
mov edx, dword [esi + 0x9864]
mov eax, dword [esi + 0x986c]
fld qword [esp + 0xdc]
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 0x45c8fe
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 0x45c7a1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc0]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x45abf5
mov edi, dword [esp + 0xa8]
cmp dword [esp + 0x48], 7
jne 0x45cafe
cmp dword [esi + 0x2f10], ebx
je 0x45c9d1
cmp dword [esi + 0x2c94], ebx
jne 0x45c95f
cmp dword [esi + 0x2ca0], ebx
jne 0x45c9d9
mov eax, dword [esp + 0x11c]
inc edi
cmp edi, eax
mov dword [esp + 0xa8], edi
jb 0x45a997
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 0x45ca34
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 [0x63c134], ebx
je 0x45ca4a
cmp dword [esp + 0x120], 6
jne 0x45cb2f
mov ecx, dword [esi + 0x2ff8]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
fld qword [ecx]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x38]
cmp edx, ebx
mov dword [esp + 0xb0], eax
jbe 0x45caa3
fld qword [esp + 0xac]
fcomp qword [ecx]
fnstsw ax
test ah, 1
je 0x45ca90
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edi
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x45ca9d
fstp st(0)
fld qword [ecx]
add ecx, 8
dec edx
jne 0x45ca6d
fld qword [esp + 0xac]
fabs
fstp qword [esp + 0xfc]
fabs
fld qword [esp + 0xfc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x45cace
fstp st(0)
fld qword [esp + 0xfc]
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 0x40
je 0x45cae3
fstp st(0)
fld qword [0x5fd8a8]
cmp dword [esp + 0x120], 6
jne 0x45cb29
fcom qword [0x5fd8a8]
fnstsw ax
test ah, 0x41
je 0x45cb29
fstp st(0)
jmp 0x45cb17
cmp dword [esp + 0x48], 0xa
je 0x45ca34
cmp dword [esp + 0x120], 6
je 0x45ca34
mov dword [esi + 0x3130], ebx
mov dword [esi + 0x3134], 0x3ff00000
jmp 0x45cb2f
fstp qword [esi + 0x3130]
mov edx, dword [esi + 0x3134]
mov eax, dword [0x63c2f0]
mov ecx, dword [esi + 0x3130]
mov dword [esp + 0xb0], edx
mov edx, 2
mov dword [esp + 0xac], ecx
cmp word [eax + 2], dx
jne 0x45d703
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x45cb77.12
xor ecx, ecx
mov cl, byte [edi + 0x45d8d0]
jmp dword [ecx*4 + 0x45d8bc]
mov edx, dword [ebp + 8]
mov ecx, 1
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45cb77.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 0x45cd17
cmp dword [esi + 0x9d24], 1
jne 0x45cd17
cmp dword [esi + 0x9d6c], ebx
jne 0x45cd17
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45cc57
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45cc57
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 0x45ccaf
cmp eax, ebx
je 0x45cc83
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45ccfa
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45ccf5
cmp eax, ebx
je 0x45cccb
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45ccfa
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a8]
fsub qword [0x6367a8]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45cdc3
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45cd3f
sub eax, ecx
dec eax
jmp 0x45cd41
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45cd6d
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45cd7d
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45cdb1
cmp dword [esi + 0x9d08], ebx
jne 0x45cdb1
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45cde0
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45cde0
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3020]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x305c]
fadd qword [0x6023e8]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
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 0x45cb93
jmp case.0x45cb77.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], edx
cmp dword [ecx + 4], edx
jbe case.0x45cb77.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 0x45cfdf
cmp dword [esi + 0x9d24], 1
jne 0x45cfdf
cmp dword [esi + 0x9d6c], ebx
jne 0x45cfdf
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45cf1f
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45cf1f
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 0x45cf77
cmp eax, ebx
je 0x45cf4b
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45cfc2
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45cfbd
cmp eax, ebx
je 0x45cf93
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45cfc2
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a8]
fsub qword [0x6367a8]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d08b
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d007
sub eax, ecx
dec eax
jmp 0x45d009
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d035
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d045
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d079
cmp dword [esi + 0x9d08], ebx
jne 0x45d079
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d0a8
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d0a8
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3030]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3064]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x45ce5b
jmp case.0x45cb77.12
mov edx, dword [ebp + 8]
mov ecx, 3
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45cb77.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 0x45d2b6
cmp dword [esi + 0x9d24], 1
jne 0x45d2b6
cmp dword [esi + 0x9d6c], ebx
jne 0x45d2b6
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45d1f6
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45d1f6
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 0x45d24e
cmp eax, ebx
je 0x45d222
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45d299
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45d294
cmp eax, ebx
je 0x45d26a
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45d299
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a8]
fsub qword [0x6367a8]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d362
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d2de
sub eax, ecx
dec eax
jmp 0x45d2e0
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d30c
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d31c
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d350
cmp dword [esi + 0x9d08], ebx
jne 0x45d350
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d37f
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d37f
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3040]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x306c]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x45d132
jmp case.0x45cb77.12
mov edx, dword [ebp + 8]
mov ecx, 4
mov dword [esp + 0x2c], ecx
cmp dword [edx + 4], ecx
jbe case.0x45cb77.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 0x45d59b
cmp dword [esi + 0x9d24], 1
jne 0x45d59b
cmp dword [esi + 0x9d6c], ebx
jne 0x45d59b
mov edx, dword [esp + 0x44]
mov eax, dword [0x63c134]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
fmul st(1)
fild qword [esp + 0x6c]
faddp st(1)
fxch st(1)
fmul qword [esi + 0x9cd0]
fdivp st(1)
fld st(0)
call fcn.005dfdf0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x84]
cmp dword [esi + 0x30d8], eax
fsubr st(1)
fstp qword [esp + 0x1c]
fstp st(0)
je 0x45d4db
mov dword [esi + 0x30d8], eax
mov eax, dword [esi + 0x9d8c]
cmp eax, ebx
je 0x45d4db
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 0x45d533
cmp eax, ebx
je 0x45d507
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fadd qword [esi + 0x9cf0]
jmp 0x45d57e
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fsub qword [esp + 0xc]
fmul qword [esp + 0x1c]
fadd qword [esp + 0xc]
jmp 0x45d579
cmp eax, ebx
je 0x45d54f
fld qword [esi + 0x9ce0]
fsub qword [esi + 0x9cf0]
fmul qword [esp + 0x1c]
fsubr qword [esi + 0x9ce0]
jmp 0x45d57e
fldlg2
fld qword [esi + 0x9ce0]
fyl2x
fstp qword [esp + 0xc]
fld qword [0x5ff518]
fldlg2
fld qword [esi + 0x9cf0]
fyl2x
fsubr qword [esp + 0xc]
fmul qword [esp + 0x1c]
fsubr qword [esp + 0xc]
call fcn.005dffc6
fld qword [0x6366a8]
fsub qword [0x6367a8]
fmul qword [0x5ff1b8]
fdivr st(1)
fstp qword [esp + 0xd4]
fstp st(0)
cmp dword [esi + 0x9d50], ebx
je 0x45d647
mov edx, dword [esp + 0xd0]
mov eax, dword [esi + 0x3118]
lea ecx, [edi + edx]
lea edx, [ecx + 1]
cmp eax, edx
jbe 0x45d5c3
sub eax, ecx
dec eax
jmp 0x45d5c5
xor eax, eax
mov edx, dword [esi + 0x3110]
cmp ecx, edx
jae 0x45d5f1
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
fild qword [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fdivp st(1)
fstp qword [esi + 0x3100]
jmp 0x45d601
mov dword [esi + 0x3100], ebx
mov dword [esi + 0x3104], 0x3ff00000
mov ecx, dword [esi + 0x3114]
cmp eax, ecx
jae 0x45d635
cmp dword [esi + 0x9d08], ebx
jne 0x45d635
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fdivp st(1)
fstp qword [esi + 0x3108]
jmp 0x45d664
mov dword [esi + 0x3108], ebx
mov dword [esi + 0x310c], 0x3ff00000
jmp 0x45d664
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 + 0x3108]
fmul qword [esi + 0x3100]
fmul qword [esi + 0x3050]
fmul qword [esp + 0xd4]
fdiv qword [esp + 0xac]
fiadd dword [esi + 0x3074]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x45d417
cmp dword [esp + 0x140], ebx
je 0x45d703
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 + 0xe8]
mov dword [esp + 0x3d0], 0xffffffff
call fcn.005df184
mov ecx, dword [esp + 0x3c8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4