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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x65bd97
push eax
mov dword fs:[0], esp
sub esp, 0x200
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x10e]
test eax, eax
jle 0x6057aa
mov eax, dword [edi + 0xea]
mov dword [esp + 0x10], 0x3f800000
sub eax, 2
jne 0x6057aa
push 0x6c7010
lea ecx, [esp + 0xb8]
call fcn.00643d2c
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 8]
sub eax, esi
mov dword [esp + 0x218], 0
sub eax, 0x5f
cmp eax, 0x72
jle 0x60432e
mov ebx, dword [edi + 0x10]
mov ecx, esi
sub ebx, ecx
sub ebx, 0x5f
jmp 0x604333
mov ebx, 0x72
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
sub ecx, edx
cmp ecx, 0x39
jle 0x604349
mov ecx, dword [edi + 0xc]
mov eax, edx
sub ecx, eax
jmp 0x60434e
mov ecx, 0x39
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
sub eax, esi
sub eax, 0x26
cdq
and edx, 3
add eax, edx
xor edx, edx
sar eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x10e]
test eax, eax
mov dword [esp + 0x1c], edx
jle 0x6043a4
mov esi, dword [edi + 0x116]
mov ebp, dword [esi]
mov dword [edi + 0xfa], ebp
mov ebp, dword [edi + 0xf6]
cmp ebp, dword [esi]
jle 0x6043a0
lea ebp, [eax - 1]
cmp edx, ebp
je 0x6043a0
inc edx
add esi, 0x80
cmp edx, eax
jl 0x60437c
mov dword [esp + 0x1c], edx
cmp edx, eax
jge 0x605793
cmp ebx, ecx
jl 0x604457
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x20], eax
lea eax, [ecx + ecx*2]
cdq
and edx, 3
lea ecx, [ebx - 0x26]
add eax, edx
sar eax, 2
mov dword [esp + 0x2c], eax
mov eax, 0x55555556
imul ecx
mov eax, edx
lea ecx, [ecx + ecx*4]
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
mov ebp, edx
sar esi, 1
lea edx, [ebp + 0x13]
mov dword [esp + 0x24], esi
mov dword [esp + 0x50], edx
imul ecx
mov eax, edx
shr eax, 0x1f
cmp esi, ebp
lea eax, [edx + eax + 0x26]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, esi
jl 0x60441d
mov eax, ebp
add eax, 0xfffffffe
test eax, eax
jge 0x60443c
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
jmp 0x604515
cmp esi, ebp
jl 0x604442
mov esi, ebp
add esi, 0xfffffffe
mov eax, esi
mov dword [esp + 0x18], esi
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
jmp 0x604515
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
mov dword [esp + 0x24], edx
lea edx, [ecx + ecx*4]
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [ebx - 0x13]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], edx
cdq
sub eax, edx
mov esi, eax
mov eax, ebx
sar esi, 1
lea edx, [esi + 0x13]
mov dword [esp + 0x50], edx
cdq
sub eax, edx
sar eax, 1
lea ebp, [eax - 0x13]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x74], eax
add eax, 0x13
mov dword [esp + 0x54], eax
lea eax, [ebp + ebp*2]
cdq
sub eax, edx
sar eax, 1
add eax, 0x26
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
cmp eax, esi
mov edx, eax
jl 0x6044cb
mov edx, esi
add edx, 0xfffffffe
test edx, edx
jge 0x6044dc
mov dword [esp + 0x18], 0
jmp 0x6044e9
cmp eax, esi
jl 0x6044e2
mov eax, esi
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x74]
cmp edx, eax
mov ecx, edx
jl 0x604503
mov ecx, eax
dec ecx
test ecx, ecx
jge 0x60450c
xor ebp, ebp
jmp 0x604515
cmp edx, eax
jge 0x604512
mov eax, edx
lea ebp, [eax - 1]
mov edx, dword [edi + 0xc]
mov esi, dword [edi + 4]
sub edx, esi
mov esi, dword [esp + 0x220]
lea eax, [ebx + 0x26]
push 0xa
dec edx
lea ecx, [ebx + 0x13]
push eax
push edx
push ecx
push 1
push esi
mov ecx, 0x732bc0
mov dword [esp + 0x74], ebp
call fcn.004961f0
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
lea eax, [ebx + 0x13]
sub ecx, edx
push eax
push ecx
push eax
push 0
push esi
mov ecx, 0x732bc0
call fcn.00495d40
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
lea eax, [ebx + 0x26]
sub edx, ecx
push eax
push edx
push eax
push 0
push esi
mov ecx, 0x732bc0
call fcn.00495d40
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
sub eax, edx
push 0xa
dec eax
push 0x13
push eax
push 0
push 1
push esi
mov ecx, 0x732bc0
call fcn.004961f0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
sub ecx, eax
push 0x13
push ecx
push 0x13
push 0
push esi
mov ecx, 0x732bc0
call fcn.00495d40
mov eax, dword [edi + 0xfa]
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x51eb851f
push edx
imul dword [edi + 0xfa]
sar edx, 5
mov ecx, edx
mov eax, edx
shr ecx, 0x1f
add eax, ecx
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x68db8bad
push edx
imul dword [edi + 0xfa]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
mov ecx, dword [0x73a974]
add edx, eax
push edx
push 0x6c1678
push 0
push ecx
push 4
push 4
lea edx, [esp + 0x1b0]
push esi
push edx
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0x3e]
add esp, 0x2c
lea edx, [edi + 0x11e]
push 0x12
lea ecx, [eax - 0x10]
push eax
push 2
push ecx
push edx
call dword [fcn.0065f4dc]
mov eax, dword [edi + 0x11e]
mov ecx, dword [edi + 0x122]
test esi, esi
jne 0x604648
xor edx, edx
jmp 0x60464b
mov edx, dword [esi + 4]
push 0
push ecx
push eax
mov eax, dword [0x6cf89c]
push edx
push 0
push eax
call dword [fcn.0065e034]
mov ecx, dword [0x73a974]
push 0x6c1670
lea eax, [ebx + 0x2a]
push 0
push ecx
push eax
push 7
lea edx, [esp + 0x20c]
push esi
push edx
push 0x732bc0
mov dword [esp + 0x54], eax
call fcn.00496440
mov eax, dword [edi + 0xda]
add esp, 0x20
cmp eax, 0xa
jge 0x6046ba
push eax
mov eax, dword [0x73a974]
push 0x6c1668
lea ecx, [ebx + 0x3d]
push 0
push eax
mov dword [esp + 0x40], ecx
push ecx
push 0xb
lea ecx, [esp + 0x220]
push esi
push ecx
jmp 0x6046ed
mov edx, dword [0x73a974]
push eax
push 0x6c1668
lea ecx, [ebx + 0x3d]
push 0
cmp eax, 0x64
push edx
mov dword [esp + 0x40], ecx
push ecx
jge 0x6046e2
push 7
push esi
lea eax, [esp + 0x14c]
jmp 0x6046ec
push 3
push esi
lea eax, [esp + 0x1bc]
push eax
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0xd6]
add esp, 0x24
cmp eax, 0xa
jge 0x604728
mov edx, dword [0x73a974]
push eax
push 0x6c1668
lea ecx, [ebx + 0x50]
push 0
push edx
push ecx
push 0xb
mov dword [esp + 0x40], ecx
push esi
lea eax, [esp + 0x15c]
jmp 0x60475a
mov edx, dword [0x73a974]
push eax
push 0x6c1668
lea ecx, [ebx + 0x50]
push 0
cmp eax, 0x64
push edx
mov dword [esp + 0x38], ecx
push ecx
jge 0x604750
push 7
push esi
lea eax, [esp + 0x20c]
jmp 0x60475a
push 3
push esi
lea eax, [esp + 0x16c]
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [0x73a974]
add esp, 0x24
add ebx, 0x17
lea edx, [esp + 0x1b0]
push 0x6c1660
push 0
push ecx
push ebx
push 0x29
push esi
push edx
push 0x732bc0
call fcn.00496440
mov eax, dword [0x73a974]
mov ecx, dword [esp + 0x34]
add esp, 0x20
add ecx, 0x29
lea edx, [esp + 0x160]
push 0x6c1658
push 0
push eax
push ebx
push ecx
push esi
push edx
push 0x732bc0
call fcn.00496440
mov ecx, dword [esp + 0x34]
mov eax, dword [0x73a974]
add esp, 0x20
lea edx, [ecx + ecx + 0x29]
push 0x6c1650
push 0
push eax
push ebx
push edx
lea eax, [esp + 0x1f4]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov eax, dword [esp + 0x34]
mov ecx, dword [0x73a974]
add esp, 0x20
lea edx, [eax + eax*2 + 0x29]
lea eax, [esp + 0x170]
push 0x6c1648
push 0
push ecx
push ebx
push edx
push esi
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x70]
add esp, 0x20
lea eax, [ecx + edx]
mov ecx, dword [0x73a974]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x94], eax
push 0x6c1670
push 0
add eax, 4
push ecx
add edx, 0xfffffff6
push eax
push edx
lea eax, [esp + 0x1d4]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [esp + 0x74]
add esp, 0x20
lea eax, [ecx + ebp]
mov dword [esp + 0x8c], eax
mov edx, dword [edi + 0xda]
mov ecx, dword [0x73a974]
push edx
mov edx, dword [esp + 0x24]
push 0x6c163c
push 0
add eax, 4
push ecx
add edx, 0xffffffee
push eax
push edx
lea eax, [esp + 0x198]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [esp + 0x7c]
mov edx, dword [edi + 0xd6]
add esp, 0x24
lea eax, [ecx + ebp]
mov ecx, dword [0x73a974]
push edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
push 0x6c163c
push 0
add eax, 4
push ecx
add edx, 0xffffffee
push eax
push edx
lea eax, [esp + 0x218]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0xe6]
add esp, 0x24
test eax, eax
jle 0x6049c8
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x116]
fld dword [esp + 0x10]
shl ecx, 7
lea ecx, [edx + ecx + 4]
mov edx, eax
fld dword [ecx]
fcomp dword [0x672494]
fnstsw ax
test ah, 0x41
jne 0x604930
fcom dword [0x66812c]
fnstsw ax
test ah, 1
je 0x604930
fstp st(0)
fld dword [0x677c20]
jmp 0x60496b
fld dword [ecx]
fcomp dword [0x66812c]
fnstsw ax
test ah, 0x41
jne 0x604956
fcom dword [0x6680e0]
fnstsw ax
test ah, 1
je 0x604956
fstp st(0)
fld dword [0x668130]
jmp 0x60496b
fcom dword [0x665d50]
fnstsw ax
test ah, 1
je 0x60496b
fstp st(0)
fld dword [0x65f9a8]
add ecx, 4
dec edx
jne 0x60490a
fcom dword [0x66812c]
fst dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x60499f
mov eax, dword [0x73a974]
push 0x6c1634
push 0
push eax
push ebx
push 3
lea ecx, [esp + 0x134]
push esi
fstp st(0)
push ecx
jmp 0x6049e2
fcomp dword [0x6680e0]
fnstsw ax
test ah, 0x41
jne 0x6049c8
mov edx, dword [0x73a974]
push 0x6c162c
push 0
push edx
push ebx
push 3
lea eax, [esp + 0x1e4]
push esi
push eax
jmp 0x6049e2
mov ecx, dword [0x73a974]
push 0x6c1624
push 0
push ecx
push ebx
push 3
lea edx, [esp + 0x13c]
push esi
push edx
push 0x732bc0
call fcn.00496440
mov ebx, dword [esp + 0x3c]
mov eax, dword [edi + 0x116]
shl ebx, 7
add esp, 0x20
mov ecx, dword [0x73a95c]
fld dword [eax + ebx + 0x24]
fdiv dword [esp + 0x10]
sub esp, 8
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x44]
push eax
push edx
push 0x2a
lea eax, [esp + 0x154]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov edx, dword [edi + 0x116]
mov ecx, dword [esp + 0x3c]
mov eax, dword [0x73a968]
add esp, 0x20
fld dword [edx + ebx + 0x28]
fdiv dword [esp + 0x18]
add ecx, 0x2a
mov dword [esp + 0x68], ecx
mov ecx, edi
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push eax
call fcn.006057d0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x70]
push eax
push ecx
push edx
lea eax, [esp + 0x164]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0x116]
mov ecx, dword [esp + 0x3c]
add esp, 0x20
fld dword [eax + ebx + 0x2c]
fdiv dword [esp + 0x18]
lea edx, [ecx + ecx + 0x2a]
mov ecx, dword [0x73a95c]
mov dword [esp + 0x54], edx
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x174]
push esi
push ecx
push 0x732bc0
call fcn.00496440
mov eax, dword [esp + 0x3c]
lea edx, [eax + eax*2 + 0x2a]
mov eax, dword [edi + 0x116]
mov ecx, dword [0x73a968]
add esp, 0x20
mov dword [esp + 0x1c], edx
fld dword [eax + ebx + 0x30]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x184]
push esi
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [edi + 0x116]
mov eax, dword [0x73a95c]
add esp, 0x20
mov ecx, edi
fld dword [edx + ebx + 0x14]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push eax
call fcn.006057d0
mov ecx, dword [esp + 0x40]
push eax
push ecx
push 0x2a
lea edx, [esp + 0x194]
push esi
push edx
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0x116]
mov ecx, dword [0x73a968]
add esp, 0x20
fld dword [eax + ebx + 0x18]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x74]
push edx
push eax
lea ecx, [esp + 0x1a4]
push esi
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [edi + 0x116]
mov eax, dword [0x73a95c]
add esp, 0x20
mov ecx, edi
fld dword [edx + ebx + 0x1c]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push eax
call fcn.006057d0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
lea eax, [esp + 0x1b4]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [edi + 0x116]
mov edx, dword [0x73a968]
add esp, 0x20
fld dword [ecx + ebx + 0x20]
fdiv dword [esp + 0x18]
mov ecx, edi
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push edx
call fcn.006057d0
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x1bc]
push eax
push ecx
push esi
push edx
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0x116]
mov ecx, dword [0x73a95c]
add esp, 0x20
fld dword [eax + ebx + 4]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x38]
push eax
push edx
push 0x2a
lea eax, [esp + 0x1d4]
push esi
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [edi + 0x116]
mov edx, dword [0x73a968]
add esp, 0x20
fld dword [ecx + ebx + 8]
fdiv dword [esp + 0x18]
mov ecx, edi
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3fe33333
push 0x33333333
push edx
call fcn.006057d0
mov ecx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x1dc]
push eax
push ecx
push esi
push edx
push 0x732bc0
call fcn.00496440
mov eax, dword [edi + 0x116]
fld dword [eax + ebx + 0xc]
fdiv dword [esp + 0x38]
mov ecx, dword [0x73a95c]
add esp, 0x20
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push ecx
mov ecx, edi
call fcn.006057d0
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x1f4]
push esi
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [edi + 0x116]
mov eax, dword [0x73a968]
add esp, 0x20
mov ecx, edi
fld dword [edx + ebx + 0x10]
fdiv dword [esp + 0x18]
fstp qword [esp]
push 0x69b0ec
push 0
push 0x3feccccc
push 0xcccccccd
push eax
call fcn.006057d0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x204]
push esi
push eax
push 0x732bc0
call fcn.00496440
add esp, 0x28
xor edx, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], 0x666e8c
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], 0x661a40
mov ecx, dword [edi + 0x116]
mov byte [esp + 0x218], 2
fld dword [ecx + ebx + 8]
fld dword [ecx + ebx + 4]
fld st(0)
fmul dword [ecx + ebx + 4]
fmul st(1)
fld st(2)
fmul st(3)
fmul dword [ecx + ebx + 8]
faddp st(1)
fstp qword [esp + 0xf0]
fstp st(0)
fstp st(0)
fld dword [ecx + ebx + 0x10]
fld dword [ecx + ebx + 0xc]
fld st(0)
fmul st(1)
fmul dword [ecx + ebx + 0xc]
fld st(2)
fmul dword [ecx + ebx + 0x10]
fmul st(3)
faddp st(1)
fstp qword [esp + 0xf8]
fstp st(0)
fstp st(0)
fld dword [ecx + ebx + 0x18]
fld dword [ecx + ebx + 0x14]
fld st(0)
fmul dword [ecx + ebx + 0x14]
lea eax, [ecx + ebx + 0x30]
fmul st(1)
fld st(2)
fmul st(3)
fmul dword [ecx + ebx + 0x18]
faddp st(1)
fstp qword [esp + 0x100]
fstp st(0)
fstp st(0)
fld dword [ecx + ebx + 0x20]
fld dword [ecx + ebx + 0x1c]
fld st(0)
fmul st(1)
fmul dword [ecx + ebx + 0x1c]
fld st(2)
fmul dword [ecx + ebx + 0x20]
fmul st(3)
faddp st(1)
fstp qword [esp + 0x108]
fstp st(0)
fstp st(0)
fld dword [ecx + ebx + 0x28]
fld dword [ecx + ebx + 0x24]
fld st(1)
fmul st(2)
fmul dword [ecx + ebx + 0x28]
fld st(1)
fmul dword [ecx + ebx + 0x24]
lea ebx, [ecx + ebx + 0x2c]
fmul st(2)
faddp st(1)
fstp qword [esp + 0x110]
fstp st(0)
fstp st(0)
fld dword [eax]
fld dword [ebx]
fld st(1)
fmul dword [eax]
fmul st(2)
fld st(1)
fmul dword [ebx]
xor ebx, ebx
fmul st(2)
faddp st(1)
fstp qword [esp + 0x118]
fstp st(0)
fstp st(0)
fld qword [esp + ebx*8 + 0xf0]
fcomp qword [0x662e00]
fnstsw ax
test ah, 1
je 0x604f0b
mov dword [esp + ebx*8 + 0xc0], edx
mov dword [esp + ebx*8 + 0xc4], 0x3fe00000
jmp 0x604f32
mov eax, dword [esp + 0x1c]
shl eax, 4
add eax, ebx
fld dword [ecx + eax*8 + 4]
lea eax, [ecx + eax*8 + 4]
fld st(0)
fmul dword [eax]
fmul st(1)
fdiv qword [esp + ebx*8 + 0xf0]
fstp qword [esp + ebx*8 + 0xc0]
fstp st(0)
inc ebx
cmp ebx, 6
jl 0x604ee3
push 0x808080
push 1
push edx
call dword [fcn.0065e0c4]
push eax
lea ecx, [esp + 0x40]
call fcn.006440f8
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.0064407a
mov edx, dword [0x73a95c]
push 0x3fe33333
push 0x33333333
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.006057d0
push eax
call dword [fcn.0065e140]
push eax
lea ecx, [esp + 0x48]
call fcn.006440f8
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.00644074
fld qword [esp + 0xe0]
fmul qword [0x677c18]
mov dword [esp + 0x1c], eax
fsubr qword [0x677c10]
fild dword [esp + 0x18]
fld st(1)
fcos
fmul st(1)
call fcn.00645030
fxch st(1)
fsin
mov ebx, dword [esp + 0x24]
add eax, ebx
mov dword [esp + 0x38], eax
fmul st(1)
call fcn.00645030
mov ecx, dword [esp + 0x50]
lea edx, [ebx + ebx]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x18]
sub ecx, eax
lea eax, [edx + ebx]
sub ebx, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x50]
sub eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x34]
sub ebx, edx
push ecx
push ebx
mov dword [esp + 0x70], ecx
push ecx
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0x70]
mov ebx, dword [0x65e0a4]
push ecx
mov ecx, dword [esi + 4]
push edx
mov dword [esp + 0x8c], eax
push eax
mov eax, dword [esp + 0x68]
push eax
push ecx
fstp st(0)
call ebx
fld qword [esp + 0xd0]
fmul qword [0x677c18]
fsubr qword [0x677c10]
fild dword [esp + 0x5c]
fst qword [esp + 0xac]
fld st(1)
fcos
fmul st(1)
call fcn.00645030
fxch st(1)
fsin
mov edx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x6c], eax
fmul st(1)
call fcn.00645030
mov ecx, dword [esp + 0x54]
sub ecx, eax
mov eax, dword [esp + 0x20]
push ecx
mov dword [esp + 0x7c], ecx
lea edx, [eax + eax]
mov dword [esp + 0x2c], edx
lea edx, [eax + ebp]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x58]
sub edx, ebp
sub eax, ebp
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
sub edx, eax
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
fstp st(0)
call ebx
fld qword [esp + 0xc0]
fmul qword [0x677c18]
fsubr qword [0x677c10]
fld st(0)
fcos
fmul qword [esp + 0xac]
call fcn.00645030
fsin
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x64], eax
fmul qword [esp + 0xac]
call fcn.00645030
mov ecx, dword [esp + 0x58]
sub ecx, eax
mov eax, dword [esp + 0x2c]
push ecx
mov dword [esp + 0x74], ecx
lea edx, [eax + eax]
mov dword [esp + 0x60], edx
lea edx, [eax + ebp]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x5c]
sub edx, ebp
sub eax, ebp
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x68]
sub edx, eax
push edx
mov edx, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0xa8]
push eax
push ecx
push edx
mov eax, dword [esp + 0x98]
mov ecx, dword [esi + 4]
push eax
push ecx
call ebx
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edx
call fcn.00644074
lea ecx, [esp + 0x44]
call fcn.0064406e
mov eax, dword [0x73a968]
push 0x3fe33333
push 0x33333333
push eax
mov ecx, edi
call fcn.006057d0
push eax
call dword [fcn.0065e140]
push eax
lea ecx, [esp + 0x48]
call fcn.006440f8
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.00644074
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
push ecx
push eax
sub edx, eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call ebx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
push ecx
push eax
sub edx, eax
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0xb0]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call ebx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
push ecx
push eax
sub edx, eax
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x90]
push ecx
push edx
push eax
mov ecx, dword [esi + 4]
push ecx
call ebx
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edx
call fcn.00644074
lea ecx, [esp + 0x44]
call fcn.0064406e
mov eax, dword [esp + 0x10]
mov ecx, esi
push eax
call fcn.0064407a
lea ecx, [esp + 0x3c]
call fcn.0064406e
push 0x808080
push 1
push 0
call dword [fcn.0065e0c4]
push eax
lea ecx, [esp + 0x40]
call fcn.006440f8
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.0064407a
mov edx, dword [0x73a95c]
push 0x3feccccc
push 0xcccccccd
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.006057d0
push eax
call dword [fcn.0065e140]
push eax
lea ecx, [esp + 0x48]
call fcn.006440f8
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.00644074
fld qword [esp + 0xe8]
fmul qword [0x677c18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cdq
fsubr qword [0x677c10]
sub eax, edx
sar eax, 1
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fld st(1)
fcos
fmul st(1)
call fcn.00645030
fxch st(1)
fsin
mov ecx, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x70], eax
fmul st(1)
call fcn.00645030
mov edx, dword [esp + 0x50]
mov ecx, edx
sub ecx, eax
mov eax, dword [esp + 0x38]
add edx, eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x24]
add edx, eax
push ecx
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x54]
sub edx, eax
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x28]
sub edx, eax
fstp st(0)
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x74]
sub edx, eax
push edx
mov edx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call ebx
fld qword [esp + 0xd8]
fmul qword [0x677c18]
mov eax, ebp
cdq
fsubr qword [0x677c10]
sub eax, edx
mov ebp, eax
sar ebp, 1
mov dword [esp + 0x68], ebp
fild dword [esp + 0x68]
fst qword [esp + 0xac]
fld st(1)
fcos
fmul st(1)
call fcn.00645030
fxch st(1)
fsin
mov edx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x78], eax
fmul st(1)
call fcn.00645030
mov edx, dword [esp + 0x54]
mov ecx, edx
sub ecx, eax
lea eax, [edx + ebp]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20]
add eax, ebp
sub edx, ebp
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
sub eax, ebp
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
push ecx
sub edx, eax
mov dword [esp + 0xc0], ecx
push edx
mov edx, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
fstp st(0)
call ebx
fld qword [esp + 0xc8]
fmul qword [0x677c18]
fsubr qword [0x677c10]
fld st(0)
fcos
fmul qword [esp + 0xac]
call fcn.00645030
mov edx, dword [esp + 0x2c]
add eax, edx
fsin
mov dword [esp + 0x68], eax
fmul qword [esp + 0xac]
call fcn.00645030
mov edx, dword [esp + 0x58]
mov ecx, edx
sub ecx, eax
lea eax, [edx + ebp]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2c]
add eax, ebp
sub edx, ebp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
sub eax, ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x68]
mov edx, ebp
sub edx, eax
push ecx
push edx
mov edx, dword [esp + 0x40]
push ecx
push eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call ebx
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edx
call fcn.00644074
lea ecx, [esp + 0x44]
call fcn.0064406e
mov eax, dword [0x73a968]
push 0x3feccccc
push 0xcccccccd
push eax
mov ecx, edi
call fcn.006057d0
push eax
call dword [fcn.0065e140]
push eax
lea ecx, [esp + 0x48]
call fcn.006440f8
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.00644074
mov ecx, dword [esp + 0x70]
mov edi, eax
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x18]
push eax
push ecx
push eax
mov eax, dword [esp + 0x40]
sub eax, ecx
mov ecx, dword [esp + 0xb0]
push eax
mov eax, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esi + 4]
push ecx
push edx
push eax
call ebx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x78]
push eax
mov edx, dword [esp + 0x88]
push ecx
push eax
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call ebx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
push eax
push ecx
sub ebp, ecx
mov ecx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x3c]
push eax
mov eax, dword [esi + 4]
push ecx
push edx
push ebp
push eax
call ebx
push edi
mov ecx, esi
call fcn.00644074
lea ecx, [esp + 0x44]
call fcn.0064406e
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0064407a
lea ecx, [esp + 0x3c]
call fcn.0064406e
push 0x808080
push 1
push 0
call dword [fcn.0065e0c4]
push eax
lea ecx, [esp + 0x40]
call fcn.006440f8
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
call fcn.0064407a
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
push ebx
push eax
mov edi, dword [0x65e148]
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esi + 4]
push ecx
push eax
push edx
call edi
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
push ecx
push eax
push ecx
mov ecx, dword [esp + 0x98]
push eax
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esi + 4]
push ecx
push eax
push edx
call edi
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
push ecx
push eax
push ecx
mov ecx, dword [esp + 0xa4]
push eax
push ecx
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esi + 4]
push ecx
push eax
push edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, esi
push eax
call fcn.0064407a
lea ecx, [esp + 0x3c]
call fcn.0064406e
push 0x808080
push 1
push 0
call dword [fcn.0065e0c4]
push eax
lea ecx, [esp + 0x40]
call fcn.006440f8
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.0064407a
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
push ebx
push eax
push ebx
push eax
push edx
mov edx, dword [esp + 0xb8]
push ecx
push edx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x84]
push ecx
push eax
push ecx
mov ecx, dword [esp + 0xb4]
push eax
push ecx
mov ecx, dword [esp + 0xb0]
push edx
mov edx, dword [esi + 4]
push ecx
push eax
push edx
call edi
mov eax, dword [esp + 0x58]
push eax
push ebp
push eax
mov eax, dword [esp + 0x70]
push ebp
push eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 4]
push ecx
push edx
push ebp
push eax
call edi
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0064407a
lea ecx, [esp + 0x3c]
call fcn.0064406e
mov edi, 0x661578
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0x3c]
mov byte [esp + 0x218], 3
call fcn.0064406e
mov esi, 0x6602dc
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x218], 4
call fcn.0064406e
mov dword [esp + 0x44], esi
lea ecx, [esp + 0xb4]
mov dword [esp + 0x218], 0xffffffff
call fcn.00643d26
mov ecx, dword [esp + 0x210]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20c
ret 4