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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x65b0a8
mov eax, dword fs:[0]
push eax
sub esp, 0x168
push ebx
push esi
push edi
mov eax, dword [0x6af168]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push eax
push ecx
mov eax, edi
call fcn.00526cb0
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0x884], 0
je 0x439022
fldz
fcomp dword [ebx + 0xe4]
fnstsw ax
test ah, 0x44
jnp 0x438710
mov edx, dword [0x6b896c]
push 0xdb
push 0x127
push edx
mov ecx, edi
call fcn.00525c50
mov esi, dword [ebx + 0xb0]
mov eax, esi
cdq
mov ecx, 0xc8
idiv ecx
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
fdiv qword [0x686840]
fmul qword [0x686cb8]
fadd st(0), st(0)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.0062a160
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
lea eax, [esp + 0x94]
fmul qword [0x686e98]
fadd qword [0x687018]
fstp dword [esp + 0x3c]
call fcn.004db140
fld dword [0x66eedc]
sub esp, 8
fstp dword [esp + 4]
fld1
fstp dword [esp]
call fcn.004db180
mov eax, esi
cdq
mov ecx, 0x320
idiv ecx
push ecx
lea eax, [esp + 0x98]
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
fdiv qword [0x687828]
fmul qword [0x686cb8]
fadd st(0), st(0)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.004db1f0
fld dword [esp + 0x3c]
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x9c]
fstp dword [esp]
call fcn.004db230
fld dword [0x686ec8]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x9c]
fld dword [0x687820]
fstp dword [esp]
push edx
mov edx, dword [0x6b8b1c]
push edi
call fcn.00526990
mov eax, dword [0x6b89f8]
push 0x118
push 0x170
push eax
mov ecx, edi
call fcn.00525c50
fld1
fcomp dword [ebx + 0xe4]
fnstsw ax
test ah, 0x41
jne 0x43878e
mov cl, 1
mov eax, edi
call fcn.005252b0
fld dword [ebx + 0xe4]
fsubr qword [0x665830]
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0x58]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov ecx, dword [0x6b8970]
push 0xdc
push 0x127
push ecx
mov ecx, edi
call fcn.00525c50
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
call fcn.005029b0
lea edx, [esp + 0x54]
push edx
mov ecx, edi
call fcn.00525260
xor cl, cl
mov eax, edi
call fcn.005252b0
mov eax, dword [0x6b8a74]
push 5
push 8
push eax
mov ecx, edi
call fcn.00525c50
mov eax, dword [ebx + 0xdc]
cmp eax, 0x10e
jl 0x438d68
lea ebx, [eax - 0x10e]
lea eax, [esp + 0x64]
mov esi, edi
mov dword [esp + 0x64], 0x140
mov dword [esp + 0x68], 0xfa
mov dword [esp + 0x6c], 0x87
mov dword [esp + 0x70], 0xd7
mov dword [esp + 0x48], ebx
call fcn.00526c00
test byte [0x6f4678], 1
jne 0x43880c
or dword [0x6f4678], 1
mov eax, 0x6f45e8
call fcn.00431fc0
push 0x65d840
call fcn.00624e8a
add esp, 4
push str.b0_1_0_3_2Dv_________P
lea ecx, [esp + 0x7c]
call fcn.00402130
lea edi, [esp + 0x78]
mov esi, 0x6f45e8
mov dword [esp + 0x180], 0
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0x90], 0x10
jb 0x438855
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0062493b
add esp, 4
test byte [0x6f4678], 2
jne 0x43887c
or dword [0x6f4678], 2
mov eax, 0x6f4558
call fcn.00431fc0
push 0x65d810
call fcn.00624e8a
add esp, 4
push str.b0_1_0_3_sAD_________E_S
lea ecx, [esp + 0x7c]
call fcn.00402130
lea edi, [esp + 0x78]
mov esi, 0x6f4558
mov dword [esp + 0x180], 1
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0x90], 0x10
jb 0x4388c5
mov edx, dword [esp + 0x7c]
push edx
call fcn.0062493b
add esp, 4
mov eax, 0x68db8bad
imul ebx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
sub ebx, eax
mov dword [esp + 0x34], ebx
sub esp, 8
fild dword [esp + 0x3c]
mov eax, 0x6f45e8
fdiv qword [0x6867f0]
fstp qword [esp]
call fcn.00432ec0
fstp dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x180], 2
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x180], 3
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], eax
call fcn.00441a20
mov edi, 0x32
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], edi
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], edi
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0x14
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], edi
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0xffffffb0
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], 0x23
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0x50
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], edi
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0xffffffce
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
mov dword [esp + 0x34], edi
call fcn.00441a20
lea ebx, [esp + 0x34]
lea esi, [esp + 0x94]
mov dword [esp + 0x34], 0x1e
call fcn.00441a20
mov dword [esp + 0x34], edi
lea ebx, [esp + 0x34]
lea esi, [esp + 0x54]
call fcn.00441a20
fld1
mov ecx, dword [esp + 0x48]
fstp dword [esp + 0x4c]
xor esi, esi
lea eax, [esp + 0x54]
mov byte [esp + 0x53], 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], esi
call fcn.004427f0
test eax, eax
jbe 0x438c03
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
test edi, edi
je 0x438aa0
mov eax, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
cmp esi, eax
jb 0x438ab0
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
cmp edx, dword [edi + esi*4]
jl 0x438b25
test ebx, ebx
je 0x438acd
mov eax, dword [esp + 0x9c]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x438add
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov eax, dword [ebx + esi*4]
add dword [esp + 0x40], eax
test edi, edi
je 0x438af5
mov eax, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
cmp esi, eax
jb 0x438b05
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov ecx, dword [edi + esi*4]
sub dword [esp + 0x44], ecx
lea eax, [esp + 0x54]
add esi, 1
call fcn.004427f0
cmp esi, eax
jb 0x438a8f
jmp 0x438c03
test ebx, ebx
je 0x438b39
mov eax, dword [esp + 0x9c]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x438b49
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
test edi, edi
lea edx, [ebx + esi*4]
mov dword [esp + 0x34], edx
je 0x438b61
mov eax, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
cmp esi, eax
jb 0x438b71
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
fild dword [esp + 0x44]
mov eax, dword [esp + 0x34]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fidiv dword [edi + esi*4]
fimul dword [eax]
fiadd dword [esp + 0x40]
call fcn.0062a660
test ebx, ebx
mov dword [esp + 0x40], eax
je 0x438ba7
mov eax, dword [esp + 0x9c]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x438bb7
call fcn.0062492b
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
cmp dword [ebx + esi*4], 0
setl byte [esp + 0x53]
test edi, edi
jne 0x438bc8
xor eax, eax
jmp 0x438bd1
mov eax, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
add eax, 0xffffffff
cmp esi, eax
jne 0x438c03
test edi, edi
je 0x438be9
mov eax, dword [esp + 0x5c]
sub eax, edi
sar eax, 2
cmp esi, eax
jb 0x438bf2
call fcn.0062492b
mov edi, dword [esp + 0x58]
fld dword [esp + 0x3c]
fidiv dword [edi + esi*4]
fsubr qword [0x665830]
fstp dword [esp + 0x4c]
lea eax, [esp + 0xfc]
call fcn.004db140
fild dword [esp + 0x48]
sub esp, 8
mov eax, 0x6f4558
fdiv qword [0x6867f0]
fstp qword [esp]
call fcn.00432ec0
fmul qword [0x687468]
cmp byte [esp + 0x53], 0
fadd qword [0x686e98]
fstp dword [esp + 0x34]
je 0x438c48
fld qword [0x686d00]
jmp 0x438c4e
fld qword [0x665830]
fld dword [esp + 0x34]
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x104]
fmulp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.004db230
fld1
mov esi, dword [ebp + 0xc]
fld dword [esp + 0x4c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x438cb6
mov cl, 1
mov eax, esi
call fcn.005252b0
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0xe4]
call fcn.005029f0
push eax
mov ecx, esi
call fcn.00525260
jmp 0x438cb8
fstp st(0)
fld dword [esp + 0x64]
mov edx, dword [0x6b8790]
fmul qword [0x687818]
sub esp, 8
lea ecx, [esp + 0x104]
fsubr qword [0x687810]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fstp dword [esp + 4]
fild dword [esp + 0x48]
fadd qword [0x687808]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fstp dword [esp]
push ecx
push esi
call fcn.005269e0
xor cl, cl
mov eax, esi
call fcn.005252b0
push 0xffffffffffffffff
lea ecx, [esp + 0x68]
call fcn.005029b0
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.00525260
mov edx, esi
call fcn.00526b50
mov eax, dword [esp + 0x58]
xor esi, esi
cmp eax, esi
je 0x438d3a
push eax
call fcn.0062493b
add esp, 4
mov dword [esp + 0x180], 0xffffffff
mov eax, dword [esp + 0x98]
cmp eax, esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
je 0x438d65
push eax
call fcn.0062493b
add esp, 4
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x4c], 0
je 0x438d7e
lea edi, [ebx + 0x8b4]
mov esi, eax
call fcn.00402af0
mov eax, dword [ebp + 0xc]
mov ecx, 1
call fcn.00525290
fldz
lea esi, [ecx + 0x24]
mov dword [esp + 0x3c], 0x29a
mov dword [esp + 0x44], 0x359f
mov dword [esp + 0x4c], 0x18b7
mov dword [esp + 0x40], 0xf2
mov dword [esp + 0x48], 0x972
mov ecx, dword [ebx + 0xb0]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x2aaaaaab
imul edi, edi, 0x529
imul ecx
add edi, dword [esp + 0x48]
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x305
add eax, edi
cdq
mov ecx, 0x35
idiv ecx
add edx, 0xc9
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
fmul dword [ebx + 0xac]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0xe4]
call fcn.005029f0
mov ecx, dword [ebp + 0xc]
push eax
call fcn.00525260
mov eax, esi
and eax, reloc.WSOCK32.dll_closesocket
jns 0x438e3d
dec eax
or eax, 0xfffffffc
inc eax
add eax, 0xd9
call fcn.00425570
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x4c]
cdq
mov ecx, 0x21
idiv ecx
mov eax, dword [esp + 0x44]
mov ecx, 0x2f
mov edi, dword [ebx + 0xb0]
mov dword [esp + 0x38], edx
cdq
idiv ecx
mov eax, 0x55555556
mov dword [esp + 0x54], edx
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esi + eax*2]
add ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
add edx, 0x50
imul eax, edx
cdq
mov ecx, 0xb
idiv ecx
mov eax, edi
add edx, 0x64
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
cdq
sub eax, edx
sar eax, 1
fdiv qword [0x687378]
add eax, dword [esp + 0x3c]
lea ecx, [eax*8]
sub ecx, eax
mov eax, 0x30c30c31
imul ecx
fmul dword [ebx + 0xac]
fstp dword [esp + 0x34]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [esp + 0x40]
cdq
mov ecx, 7
idiv ecx
add edx, 0x1d
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
fdiv qword [0x687800]
fmul dword [ebx + 0xac]
fstp dword [esp + 0x64]
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x438fc2
fld dword [esp + 0x64]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x438fc0
mov edi, dword [esp + 0x94]
fstp st(2)
fild dword [edi + 0x28]
fstp dword [esp + 0x94]
fild dword [edi + 0x24]
fstp dword [esp + 0x64]
fld dword [esp + 0x94]
fld st(0)
fmul st(3)
call fcn.0062a660
fld dword [esp + 0x64]
fld st(0)
push eax
fmul st(3)
call fcn.0062a660
mov edx, dword [esp + 0x58]
add edx, 0x190
mov dword [esp + 0x58], edx
fild dword [esp + 0x58]
fxch st(4)
push eax
fmul qword [0x686e28]
fmulp st(2)
fxch st(3)
fsubrp st(1)
call fcn.0062a660
push eax
mov eax, dword [esp + 0x44]
add eax, 0x24
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fxch st(1)
fmul qword [0x686830]
fmulp st(2)
fsubrp st(1)
call fcn.0062a660
push eax
mov eax, dword [ebp + 0xc]
call fcn.00526180
fldz
jmp 0x438fc4
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x48]
add dword [esp + 0x4c], 0xab
add dword [esp + 0x44], 0x173
add dword [esp + 0x3c], 0x12
add dword [esp + 0x40], 3
add eax, 0x1f
add esi, 1
cmp eax, 0xa4b
mov dword [esp + 0x48], eax
jl 0x438db8
mov eax, dword [ebp + 0xc]
fstp st(0)
xor ecx, ecx
call fcn.00525290
xor cl, cl
call fcn.005252b0
mov ecx, dword [0x6b87bc]
push 0x1a8
push 0x12
push ecx
mov ecx, eax
call fcn.00525c50
mov edi, dword [ebp + 0xc]
cmp byte [ebx + 0x885], 0
je 0x43904a
mov edx, dword [ebx + 0x880]
mov eax, dword [0x6b8a58]
push 0x1a4
sub edx, 0x12c
push edx
push eax
mov ecx, edi
call fcn.00525c50
xor edx, edx
mov dword [esp + 0x48], edx
mov ecx, dword [ebx + 0x8a0]
test ecx, ecx
je 0x439508
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x439508
test ecx, ecx
je 0x439084
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x439089
call fcn.0062492b
mov ecx, dword [ebx + 0x8a0]
mov edx, dword [esp + 0x48]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi + 0x50]
test ecx, ecx
mov dword [esp + 0x4c], esi
je 0x43911b
fld dword [esi + 0x80]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4390b8
fldz
jmp 0x4390be
fld dword [esi + 0x80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fcomp qword [0x665830]
fnstsw ax
test ah, 0x41
jne 0x4390e6
fstp st(0)
fld1
fstp dword [esp + 0x3c]
call fcn.00433230
fmul dword [esp + 0x3c]
jmp 0x439121
fld dword [esi + 0x80]
fcompp
fnstsw ax
test ah, 5
jp 0x439106
fldz
fstp dword [esp + 0x3c]
call fcn.00433230
fmul dword [esp + 0x3c]
jmp 0x439121
fld dword [esi + 0x80]
fstp dword [esp + 0x3c]
call fcn.00433230
fmul dword [esp + 0x3c]
jmp 0x439121
fld qword [0x665830]
fmul dword [ebx + 0xe4]
mov ecx, dword [esi + 0x54]
test ecx, ecx
fstp dword [esp + 0x3c]
je 0x43913d
call fcn.00433230
fstp dword [esp + 0x40]
jmp 0x439143
fldz
fstp dword [esp + 0x40]
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x439155
call fcn.00433230
fstp dword [esp + 0x44]
jmp 0x43915b
fldz
fstp dword [esp + 0x44]
fld1
fld dword [esp + 0x3c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x43919c
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0xe4]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov cl, 1
mov eax, edi
call fcn.005252b0
jmp 0x43919e
fstp st(0)
cmp byte [esi + 0x68], 0
jne 0x4391ce
fild dword [esi + 0x60]
fadd dword [esp + 0x44]
call fcn.0062a660
fild dword [esi + 0x5c]
push eax
fadd dword [esp + 0x44]
call fcn.0062a660
push eax
mov eax, dword [esi + 0x20]
push eax
mov ecx, edi
call fcn.00525c50
jmp 0x4393e0
fild dword [ebx + 0xb0]
mov edi, dword [esi + 0x20]
fmul dword [esi + 0x6c]
call fcn.0062a660
mov ecx, dword [edi + 0x30]
imul ecx, dword [edi + 0x2c]
cdq
idiv ecx
mov dword [esp + 0x54], edx
mov edx, edi
cmp edx, dword [0x6b8560]
jne 0x439388
lea ecx, [ebx + 0xf0]
call fcn.00433230
fcomp qword [0x6867e8]
fnstsw ax
test ah, 1
jne 0x439222
mov eax, dword [ebx + 0xbe8]
call fcn.00550ef0
test al, al
jne 0x439245
cmp dword [ebx + 0xe8], 0x12c
jge 0x439388
mov eax, dword [ebx + 0xbe8]
call fcn.00550ef0
test al, al
jne 0x439388
cmp dword [ebx + 0x180], 0
jle 0x439388
cmp dword [ebx + 0xe8], 0
jl 0x439388
test byte [0x6f4678], 4
jne 0x439286
or dword [0x6f4678], 4
mov eax, 0x6f44c8
call fcn.00431fc0
push 0x65d7e0
call fcn.00624e8a
add esp, 4
push 0x25
push str.b0_1_0_1__________zPjP
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb4], 0xf
mov dword [esp + 0xb0], 0
mov byte [esp + 0xa0], 0
call fcn.00402300
lea edi, [esp + 0x94]
mov esi, 0x6f44c8
mov dword [esp + 0x180], 4
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0xac], 0x10
jb 0x4392f8
mov eax, dword [esp + 0x98]
push eax
call fcn.0062493b
add esp, 4
fild dword [ebx + 0xe8]
mov eax, dword [ebx + 0xbe8]
fidiv dword [ebx + 0x180]
fstp dword [esp + 0x38]
call fcn.00550ef0
test al, al
je 0x43931f
fld dword [0x6877fc]
jmp 0x439325
fld dword [0x6877f8]
fstp dword [esp + 0x34]
sub esp, 8
fld dword [esp + 0x40]
mov eax, 0x6f44c8
fstp qword [esp]
call fcn.00432ec0
fmul dword [esp + 0x34]
call fcn.0062a660
mov edi, dword [esp + 0x4c]
fild dword [edi + 0x5c]
mov esi, eax
fadd dword [esp + 0x40]
call fcn.0062a660
fild dword [edi + 0x60]
mov dword [esp + 0x64], eax
fadd dword [esp + 0x44]
call fcn.0062a660
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x68], eax
call fcn.00527e70
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], esi
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x64]
call fcn.00526c00
mov edi, dword [esp + 0x4c]
mov eax, dword [edi + 0x20]
fild dword [edi + 0x60]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x54]
fadd dword [esp + 0x44]
cdq
idiv ecx
push edx
mov dword [esp + 0x3c], eax
call fcn.0062a660
fild dword [edi + 0x5c]
push eax
fadd dword [esp + 0x48]
call fcn.0062a660
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x9c]
push eax
push esi
call fcn.005272c0
mov edx, esi
call fcn.00526b50
mov esi, dword [esp + 0x4c]
mov edi, edx
fldz
fcomp dword [esi + 0x7c]
fnstsw ax
test ah, 0x44
jnp 0x4394d8
mov ecx, 1
mov eax, edi
call fcn.00525290
call fcn.005252b0
fld dword [esp + 0x3c]
fmul qword [0x686cd0]
fmul dword [esi + 0x7c]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0x7c]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
cmp byte [esi + 0x68], 0
jne 0x439457
fild dword [esi + 0x60]
fadd dword [esp + 0x44]
call fcn.0062a660
fild dword [esi + 0x5c]
push eax
fadd dword [esp + 0x44]
call fcn.0062a660
mov ecx, dword [esi + 0x20]
push eax
push ecx
mov ecx, edi
call fcn.00525c50
jmp 0x4394c8
fild dword [ebx + 0xb0]
fmul dword [esi + 0x6c]
call fcn.0062a660
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 0x30]
imul edx, dword [ecx + 0x2c]
mov ecx, edx
cdq
idiv ecx
mov eax, dword [esi + 0x20]
cmp eax, dword [0x6b8560]
jne 0x4394c8
cmp dword [ebx + 0xe8], 0
jge 0x4394c8
mov edi, dword [esp + 0x4c]
mov esi, dword [edi + 0x20]
fild dword [edi + 0x60]
mov ecx, dword [esi + 0x30]
mov eax, edx
cdq
fadd dword [esp + 0x44]
idiv ecx
push edx
mov dword [esp + 0x3c], eax
call fcn.0062a660
fild dword [edi + 0x5c]
push eax
fadd dword [esp + 0x48]
call fcn.0062a660
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.005272c0
mov edi, dword [ebp + 0xc]
xor cl, cl
mov eax, edi
call fcn.005252b0
xor ecx, ecx
call fcn.00525290
fld1
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x44
jnp 0x4394fa
xor cl, cl
mov eax, edi
call fcn.005252b0
push 0x6bac38
mov ecx, edi
call fcn.00525260
add dword [esp + 0x48], 1
mov edx, dword [esp + 0x48]
jmp 0x439050
cmp byte [edi + 0x4c], 0
je 0x43954a
fldz
mov edx, dword [ebx + 0x530]
mov eax, dword [edx + 4]
sub esp, 8
lea ecx, [ebx + 0x530]
fst dword [esp + 4]
fstp dword [esp]
push edi
call eax
fldz
mov edx, dword [ebx + 0x6c0]
mov eax, dword [edx + 4]
sub esp, 8
lea ecx, [ebx + 0x6c0]
fst dword [esp + 4]
fstp dword [esp]
push edi
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x120]
mov ecx, ebx
call eax
test al, al
jne 0x43956e
mov edx, dword [ebx]
mov eax, dword [edx + 0x11c]
mov ecx, ebx
call eax
test al, al
je 0x43975a
cmp byte [ebx + 0x88c], 0
je 0x43975a
cmp byte [edi + 0x4c], 0
je 0x43975a
fldz
fcomp dword [ebx + 0x890]
fnstsw ax
test ah, 5
jp 0x43975a
lea eax, [esp + 0x94]
call fcn.004daff0
mov eax, dword [ebx + 0xb0]
cdq
mov ecx, 0x168
idiv ecx
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
fmul qword [0x686cb8]
fdiv qword [0x686cd0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
call fcn.0062a160
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
sub esp, 8
fmul qword [0x686e20]
lea esi, [esp + 0x9c]
fstp dword [esp + 0x3c]
fld dword [0x6871e4]
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.004db010
mov edx, dword [ebx]
mov eax, dword [edx + 0x120]
mov ecx, ebx
call eax
fld dword [esp + 0x34]
sub esp, 8
test al, al
je 0x43962a
fadd qword [0x687618]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
jmp 0x439638
fadd qword [0x6877f0]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 4]
fstp dword [esp]
call fcn.004db100
mov eax, dword [ebx + 0xb0]
cdq
mov ecx, 0x168
idiv ecx
push ecx
lea esi, [esp + 0x98]
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
fstp dword [esp]
call fcn.004db0d0
fld dword [esp + 0xa0]
mov cl, 1
fld qword [0x686d60]
mov eax, edi
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xa0]
fmul dword [esp + 0xa4]
fstp dword [esp + 0xa4]
fld1
fstp dword [esp + 0xb0]
call fcn.005252b0
mov ecx, 1
call fcn.00525290
fld dword [ebx + 0xe4]
fmul dword [ebx + 0x890]
fmul qword [0x6876c0]
call fcn.0062a660
mov ecx, dword [ebx + 0x894]
push eax
lea eax, [esp + 0x7c]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov edx, dword [ebx]
mov eax, dword [edx + 0x120]
mov ecx, ebx
call eax
mov esi, dword [0x6b844c]
sub esp, 8
test al, al
mov eax, edi
je 0x439713
fld dword [0x6877e8]
lea ecx, [esp + 0x9c]
fstp dword [esp + 4]
fld dword [0x6875d8]
fstp dword [esp]
push ecx
jmp 0x43972e
fld dword [0x6877e4]
lea edx, [esp + 0x9c]
fstp dword [esp + 4]
fld dword [0x6874dc]
fstp dword [esp]
push edx
call fcn.005265e0
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
call fcn.005029b0
lea eax, [esp + 0x54]
push eax
mov ecx, edi
call fcn.00525260
xor ecx, ecx
mov eax, edi
call fcn.00525290
xor cl, cl
call fcn.005252b0
mov edx, dword [ebx]
mov eax, dword [edx + 0x11c]
mov ecx, ebx
call eax
test al, al
je 0x439885
cmp byte [edi + 0x4c], 0
je 0x4397e9
cmp byte [ebx + 0x88c], 0
je 0x4397e9
fld dword [0x6877e0]
mov edx, dword [ebx + 0x290]
mov eax, dword [edx + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [ebx + 0x290]
fld dword [ebx + 0xa0]
fadd qword [0x6877d8]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
push edi
call eax
fld dword [0x6877e0]
mov edx, dword [ebx + 0x184]
mov eax, dword [edx + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [ebx + 0x184]
fld dword [ebx + 0xa0]
fadd qword [0x6877d8]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
push edi
call eax
fld dword [ebx + 0xa0]
push 0x46
call fcn.0062a660
mov ecx, dword [0x6b8468]
mov edi, dword [ebp + 0xc]
push eax
push ecx
mov ecx, edi
call fcn.00525c50
mov esi, ebx
call fcn.0043dba0
fldz
fcomp dword [ebx + 0x8b0]
fnstsw ax
test ah, 5
jp 0x439885
mov cl, 1
mov eax, edi
call fcn.005252b0
fld dword [ebx + 0x8b0]
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xffaaff
lea eax, [esp + 0x7c]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov ecx, 1
mov eax, edi
call fcn.00525290
fld dword [ebx + 0xa0]
push 0x46
call fcn.0062a660
mov edx, dword [0x6b8468]
push eax
push edx
mov ecx, edi
call fcn.00525c50
xor ecx, ecx
mov eax, edi
call fcn.00525290
call fcn.0043dba0
mov eax, dword [ebx]
mov edx, dword [eax + 0x120]
mov ecx, ebx
call edx
test al, al
je 0x439aaa
cmp byte [ebx + 0x88c], 0
je 0x4398f5
fld dword [ebx + 0xa8]
sub esp, 8
fadd qword [0x6877d0]
lea eax, [ebx + 0x3a0]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 4]
fld dword [ebx + 0xa4]
fadd qword [0x686e38]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.0043eaf0
fldz
mov edx, dword [eax]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
mov ecx, eax
mov eax, dword [edx + 4]
push edi
call eax
cmp byte [ebx + 0x87c], 0
je 0x439951
lea eax, [esp + 0xfc]
call fcn.004db140
fld dword [0x6870e8]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x6877c8]
fstp dword [esp]
call fcn.004db230
fld dword [ebx + 0xa8]
mov edx, dword [0x6b87f4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esp + 0x104]
fld dword [ebx + 0xa4]
fstp dword [esp]
push ecx
push edi
call fcn.00526990
jmp 0x439977
fld dword [ebx + 0xa8]
call fcn.0062a660
fld dword [ebx + 0xa4]
push eax
call fcn.0062a660
mov edx, dword [0x6b87f4]
push eax
push edx
mov ecx, edi
call fcn.00525c50
mov edi, dword [ebp + 0xc]
mov esi, ebx
call fcn.0043dba0
fldz
fcomp dword [ebx + 0x8b0]
fnstsw ax
test ah, 5
jp 0x439a00
mov cl, 1
mov eax, edi
call fcn.005252b0
fld dword [ebx + 0x8b0]
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xaaaaff
lea eax, [esp + 0x7c]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov ecx, 1
mov eax, edi
call fcn.00525290
fld dword [ebx + 0xa8]
call fcn.0062a660
fld dword [ebx + 0xa4]
push eax
call fcn.0062a660
push eax
mov eax, dword [0x6b87f4]
push eax
mov ecx, edi
call fcn.00525c50
xor ecx, ecx
mov eax, edi
call fcn.00525290
call fcn.0043dba0
mov edi, dword [ebp + 0xc]
cmp byte [edi + 0x4c], 0
je 0x439a67
cmp byte [ebx + 0x88c], 0
je 0x439a67
xor esi, esi
mov ecx, dword [ebx + 0x854]
test ecx, ecx
je 0x439a67
mov eax, dword [ebx + 0x858]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x439a67
test ecx, ecx
je 0x439a40
mov eax, dword [ebx + 0x858]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x439a45
call fcn.0062492b
mov ecx, dword [ebx + 0x854]
fldz
mov ecx, dword [ecx + esi*4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
push edi
call eax
add esi, 1
jmp 0x439a14
cmp byte [ebx + 0x87c], 0
jne 0x439aaa
mov ecx, edi
cmp byte [ecx + 0x4c], 0
je 0x439aaa
fld dword [ebx + 0xa8]
fadd qword [0x6877c0]
call fcn.0062a660
fld dword [ebx + 0xa4]
fadd qword [0x6877b8]
push eax
call fcn.0062a660
mov edx, dword [0x6b8b28]
push eax
push edx
mov ecx, edi
call fcn.00525c50
mov edi, dword [ebp + 0xc]
xor cl, cl
mov eax, edi
call fcn.005252b0
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
call fcn.005029b0
lea eax, [esp + 0x54]
push eax
mov ecx, edi
call fcn.00525260
fldz
fcomp dword [ebx + 0x864]
fnstsw ax
test ah, 5
jp 0x439b46
fld1
fcomp dword [ebx + 0x864]
fnstsw ax
test ah, 0x41
jne 0x439b1c
fld dword [ebx + 0x864]
fmul qword [0x686838]
call fcn.0062a660
push eax
mov ecx, 0xffffff
lea eax, [esp + 0x7c]
call fcn.005029f0
push eax
mov ecx, edi
call fcn.00525260
mov cl, 1
mov eax, edi
call fcn.005252b0
mov ecx, dword [0x6b8ad4]
push 0xce
push 0x38
push ecx
mov ecx, edi
call fcn.00525c50
xor cl, cl
mov eax, edi
call fcn.005252b0
push 0x6bac38
mov ecx, edi
call fcn.00525260
xor esi, esi
jmp 0x439b50
mov ecx, dword [ebx + 0x94]
test ecx, ecx
je 0x439b95
mov eax, dword [ebx + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x439b95
test ecx, ecx
je 0x439b7c
mov eax, dword [ebx + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x439b81
call fcn.0062492b
mov edx, dword [ebx + 0x94]
mov eax, dword [edx + esi*4]
push edi
call fcn.00434e90
add esi, 1
jmp 0x439b50
xor edi, edi
mov eax, ebx
call fcn.0055c010
mov edi, dword [ebp + 0xc]
cmp byte [edi + 0x4c], 0
je 0x439c62
xor esi, esi
lea ecx, [ecx]
mov ecx, dword [ebx + 0x8a0]
test ecx, ecx
je 0x439c62
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x439c62
test ecx, ecx
je 0x439be4
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x439be9
call fcn.0062492b
mov eax, dword [ebx + 0x8a0]
mov ecx, dword [eax + esi*4]
cmp dword [ecx + 0x1c], 0
je 0x439c5a
mov ecx, eax
test ecx, ecx
je 0x439c0d
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x439c12
call fcn.0062492b
mov edx, dword [ebx + 0x8a0]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax + 0x1c]
call fcn.004366f0
mov ecx, dword [ebx + 0x8a0]
test ecx, ecx
je 0x439c3c
mov eax, dword [ebx + 0x8a4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x439c41
call fcn.0062492b
mov ecx, dword [ebx + 0x8a0]
mov edx, dword [ecx + esi*4]
mov ebx, edi
mov edi, dword [edx + 0x1c]
call fcn.00436710
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add esi, 1
jmp 0x439bb0
mov eax, dword [ebp + 0x14]
neg eax
push eax
mov eax, dword [ebp + 0x10]
neg eax
push eax
mov eax, edi
call fcn.00526cb0
mov eax, dword [ebx + 0xdc]
sub eax, 0x28
mov dword [esp + 0x34], eax
js 0x439fb7
test byte [0x6f4678], 8
jne 0x439caf
or dword [0x6f4678], 8
mov eax, 0x6f4438
call fcn.00431fc0
push 0x65d7b0
call fcn.00624e8a
add esp, 4
push 0x25
push str.b0_1_0_3_5B__tG_kG______a0F
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], 0
mov byte [esp + 0x84], 0
call fcn.00402300
lea edi, [esp + 0x78]
mov esi, 0x6f4438
mov dword [esp + 0x180], 5
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0x90], 0x10
jb 0x439d1b
mov eax, dword [esp + 0x7c]
push eax
call fcn.0062493b
add esp, 4
test byte [0x6f4678], 0x10
jne 0x439d42
or dword [0x6f4678], 0x10
mov eax, 0x6f43a8
call fcn.00431fc0
push 0x65d780
call fcn.00624e8a
add esp, 4
push 0x3f
push str.b0_1_0_3______ku__vnP:eo
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], 0
mov byte [esp + 0x84], 0
call fcn.00402300
lea edi, [esp + 0x78]
mov esi, 0x6f43a8
mov dword [esp + 0x180], 6
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0x90], 0x10
jb 0x439dae
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0062493b
add esp, 4
fild dword [esp + 0x34]
sub esp, 8
mov eax, 0x6f4438
fdiv qword [0x6867f0]
fst qword [esp + 0x6c]
fstp qword [esp]
call fcn.00432ec0
fstp dword [esp + 0x94]
mov ecx, dword [esp + 0x34]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
mov dword [esp + 0x38], ecx
sub esp, 8
mov eax, 0x6f43a8
fild dword [esp + 0x40]
fdiv qword [0x6867f0]
fstp qword [esp]
call fcn.00432ec0
fstp dword [esp + 0x54]
mov eax, 0x20
test byte [0x6f4678], al
jne 0x439e3c
or dword [0x6f4678], eax
mov eax, 0x6f4318
call fcn.00431fc0
push 0x65d750
call fcn.00624e8a
add esp, 4
push 0x33
push str.b0_1_0_3___tP_Y_C_H____
lea ecx, [esp + 0xe8]
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], 0
mov byte [esp + 0xec], 0
call fcn.00402300
lea edi, [esp + 0xe0]
mov esi, 0x6f4318
mov dword [esp + 0x180], 7
call fcn.00432cd0
mov dword [esp + 0x180], 0xffffffff
cmp dword [esp + 0xf8], 0x10
jb 0x439eae
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.0062493b
add esp, 4
fld qword [esp + 0x64]
sub esp, 8
mov eax, 0x6f4318
fstp qword [esp]
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], 0
mov byte [esp + 0xec], 0
call fcn.00432ec0
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
mov esi, dword [ebp + 0xc]
fmul qword [0x6877b0]
mov edx, dword [0x6b8570]
sub esp, 8
mov eax, esi
fstp dword [esp + 0x40]
fld dword [esp + 0x5c]
fmul qword [0x687250]
fst qword [esp + 0x5c]
fld dword [esp + 0x40]
fadd qword [0x686840]
fadd qword [0x6867e8]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x9c]
fmul qword [0x6877a8]
fst qword [esp + 0x9c]
fsub qword [0x6877a0]
fstp dword [esp + 0x44]
fld dword [esp + 0x3c]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00526290
fld qword [esp + 0x54]
mov edx, dword [0x6b87f4]
fadd qword [0x6875b8]
sub esp, 8
mov eax, esi
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 4]
fldz
fsub qword [0x687208]
fadd qword [esp + 0x9c]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.00526290
fld dword [esp + 0x34]
mov edx, dword [0x6b8414]
sub esp, 8
fstp dword [esp + 4]
mov eax, esi
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00526290
mov edi, esi
cmp byte [ebx + 0x884], 0
je 0x439fd5
mov edx, dword [0x6b8464]
push 0x1b8
push 8
push edx
mov ecx, edi
call fcn.00525c50
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10