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

Disassembly:
sub esp, 0xe8
push ebx
mov ebx, dword [esp + 0xf0]
push ebp
push esi
push edi
push ebx
call fcn.00678ec0
mov esi, eax
add esp, 4
mov ecx, esi
call fcn.00678a20
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.006f6ef0
fstp dword [esp + 0x28]
push ebx
call fcn.006572e0
add esp, 4
test eax, eax
je 0x62ecc9
mov dword [esp + 0x14], 0
jmp 0x62ecdb
mov eax, dword [ebx + 0x4d0]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
call dword [edx + 0x28]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
push eax
call fcn.0067fc60
add esp, 4
neg eax
sbb al, al
inc al
mov ecx, esi
mov byte [esp + 0x24], al
call fcn.00678a30
fld dword [esp + 0x14]
fcomp dword [0x8473c4]
mov edi, eax
fnstsw ax
test ah, 1
jne 0x62ed27
fld dword [esp + 0x14]
fcomp dword [0x8591ec]
fnstsw ax
test ah, 0x41
jp 0x62ed27
mov dword [esp + 0x14], 0x40c00000
jmp 0x62ed40
fld dword [esp + 0x14]
fcomp dword [0x8591ec]
fnstsw ax
test ah, 0x41
jne 0x62ed40
mov dword [esp + 0x14], 0x41100000
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x100]
push ecx
xor ebp, ebp
push ebx
mov dword [esi + 0x38], ebp
call fcn.00653d20
fsubr dword [esp + 0x30]
add esp, 4
fstp dword [esp]
call fcn.006fec00
mov eax, dword [esp + 0x24]
fstp dword [esi + 0x34]
fld dword [0xa83e28]
fsub dword [eax]
fld dword [0xa83e30]
fsub dword [eax + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp]
fstp st(0)
fstp st(0)
call fcn.00798108
mov eax, edi
fstp dword [esp + 0x2c]
shr eax, 4
and al, 1
mov byte [esp + 0x32], al
mov eax, edi
shr eax, 5
and al, 1
mov edx, 0x208
mov byte [esp + 0x17], al
mov ecx, 4
mov eax, 0x104
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], eax
mov eax, 8
mov dword [esp + 0x78], ecx
mov ecx, 0x28
mov dword [esp + 0x9c], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xc8], edx
mov edx, 0x108
mov dword [esp + 0x5c], 2
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], 6
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0x88
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], 0x40
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], 0x44
mov dword [esp + 0xb0], 0x308
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], 0x48
mov dword [esp + 0xc4], 0x288
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ebp
mov edx, dword [ebx + 0x14]
mov eax, dword [edx]
and edi, 0xfffffe4f
push eax
mov dword [esp + 0x2c], edi
call fcn.00618070
add esp, 8
mov ecx, eax
call fcn.006182f0
push ebx
mov byte [esp + 0x37], al
call fcn.00653f10
mov byte [esp + 0x36], al
lea eax, [esp + 0x60]
add esp, 4
xor edi, edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 8
nop
mov ecx, dword [esp + 0x24]
cmp dword [eax - 4], ecx
jne 0x62f0d8
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [edx]
cmp ebx, ebp
je 0x62f0cd
mov al, byte [esp + 0x13]
test al, al
jne 0x62ef99
mov al, byte [esp + 0x2e]
test al, al
jne 0x62ef99
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4d0]
mov edx, dword [ecx + 0xd88]
mov eax, dword [0xa94ddc]
mov ecx, dword [esi + 0x38]
push eax
mov eax, dword [esi + 0x34]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push ebx
mov dword [esp + 0x54], edx
call fcn.0067fe20
add esp, 0x18
jmp 0x62efbc
mov edx, dword [0xa94ddc]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x2e]
push edx
mov edx, dword [esi + 0x34]
push ebp
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
push ebx
call fcn.006813d0
add esp, 0x1c
mov edi, eax
cmp edi, ebp
je 0x62f0b0
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp eax, ebp
sete cl
push ecx
mov ecx, dword [esp + 0x108]
push 0xbf800000
push edi
call fcn.0062a130
fld dword [esp + 0x14]
fcomp dword [0x84ed30]
fnstsw ax
test ah, 0x41
jne 0x62f090
fld dword [esp + 0x14]
fcomp dword [0x87341c]
fnstsw ax
test ah, 5
jp 0x62f090
mov al, byte [esp + 0x13]
test al, al
jne 0x62f055
mov al, byte [esp + 0x2e]
test al, al
jne 0x62f055
mov edx, dword [esp + 0xfc]
mov eax, dword [edx + 0x4d0]
mov ecx, dword [eax + 0xd88]
mov edx, dword [0xa94ddc]
mov eax, dword [esi + 0x38]
push edx
mov edx, dword [esi + 0x34]
push eax
push ecx
push edx
push 0x40400000
push ebx
mov dword [esp + 0x30], ecx
call fcn.0067fe20
add esp, 0x18
jmp 0x62f077
mov eax, dword [0xa94ddc]
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x2e]
push eax
mov eax, dword [esi + 0x34]
push ebp
push ecx
push edx
push eax
push 0x40400000
push ebx
call fcn.006813d0
add esp, 0x1c
mov edi, eax
cmp edi, ebp
je 0x62f090
mov ecx, dword [esp + 0x104]
push ebp
push 0xbf800000
push edi
call fcn.0062a130
test bl, bl
js 0x62f0b0
and ebx, 0x100
jne 0x62f0a4
mov al, byte [esp + 0x33]
test al, al
jne 0x62f0b0
cmp ebx, ebp
je 0x62f0cd
mov al, byte [esp + 0x32]
test al, al
je 0x62f0cd
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], edx
jl 0x62ef45
mov ebx, dword [esp + 0xfc]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
add eax, 0x14
dec ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ecx
jne 0x62ef30
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
imul eax, eax, 0xdc
add eax, 0xa843d8
push eax
call fcn.006048b0
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x4d0]
fld dword [0xa83e28]
add eax, 0xc
mov dword [esp + 0x20], eax
fsub dword [eax]
fld dword [0xa83e30]
fsub dword [eax + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp]
fstp st(0)
fstp st(0)
call fcn.00798108
fld dword [esp + 0x2c]
add esp, 4
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x62f155
fstp st(0)
fld dword [esp + 0x28]
test byte [esp + 0x24], 2
jne 0x62f5a1
fcomp dword [0x87153c]
fnstsw ax
test ah, 5
jp 0x62f5a3
mov ecx, dword [0xa83f60]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 0x4d0]
lea edx, [ecx + 0xc]
mov byte [esp + 0x13], 0
mov dword [esp + 0x24], edx
call fcn.005ffbd0
fstp dword [esp + 0x18]
mov eax, dword [ebx + 0x4d0]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
call dword [edx + 0x28]
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4d0]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
call dword [edx + 0x28]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4d0]
call fcn.005ffbd0
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x18]
fld dword [esp + 0x3c]
fmul dword [0x84671c]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x4c]
push ecx
push edx
push ecx
fstp dword [esp]
push eax
call fcn.00610120
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp ebx, eax
jne 0x62f253
mov edx, dword [esp + 0x20]
fld dword [esp + 0x34]
fmul dword [0x84671c]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ecx
fstp dword [esp]
push eax
call fcn.00610120
fld dword [esp + 0x5c]
fsub dword [esp + 0x50]
add esp, 0x10
fld dword [esp + 0x54]
fsub dword [esp + 0x48]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcomp dword [0x873f88]
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
jp 0x62f253
mov byte [esp + 0x13], 1
mov eax, dword [ebx + 0x4d0]
fld dword [eax + 0xc]
add eax, 0xc
fsub dword [0xa83e28]
push ecx
fld dword [eax + 8]
fsub dword [0xa83e30]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp]
fstp st(0)
fstp st(0)
call fcn.00798108
mov al, byte [esp + 0x17]
add esp, 4
test al, al
fstp dword [esp + 0x1c]
jne 0x62f349
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 8]
push ebp
push 0xffffffffffffffff
push edx
call fcn.00603290
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x62f316
mov eax, dword [eax + 0x4d0]
fld dword [eax + 0xc]
add eax, 0xc
fsub dword [0xa83e28]
push ecx
fld dword [eax + 8]
fsub dword [0xa83e30]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp]
fstp st(0)
fstp st(0)
call fcn.00798108
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0xc]
add esp, 4
cmp ecx, ebp
jne 0x62f2f8
fsub dword [0x846db4]
fld dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x62f314
fcomp dword [0x846db4]
fnstsw ax
test ah, 0x41
jp 0x62f316
jmp 0x62f344
fstp st(0)
push ebx
call fcn.0062cec0
add esp, 4
cmp eax, ebp
je 0x62f37d
push eax
mov ecx, ebx
call fcn.005f5e70
push ecx
fstp dword [esp]
call fcn.00401740
fcomp dword [0x851a38]
add esp, 4
fnstsw ax
test ah, 0x41
jp 0x62f37d
mov byte [esp + 0x13], 1
mov ecx, dword [0xa94ddc]
movzx eax, byte [esp + 0x2e]
mov edx, dword [esi + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
push ecx
mov ecx, dword [esi + 0x34]
fild dword [esp + 0x24]
fstp dword [esp]
push ecx
push edx
push 0x118
call fcn.0067fe20
add esp, 0x18
mov edi, eax
cmp edi, ebp
jne 0x62f583
cmp dword [ebx + 0x190], ebp
jne 0x62f5a3
fld dword [esi + 0x34]
mov eax, dword [esi + 0x34]
fchs
mov dword [esp + 0x24], eax
fcom dword [esi + 0x34]
fnstsw ax
test ah, 5
jp 0x62f3ac
fld dword [esi + 0x34]
jmp 0x62f3ae
fld st(0)
fcomp dword [0x873f84]
fnstsw ax
test ah, 0x41
jne 0x62f3fd
fcom dword [esi + 0x34]
fnstsw ax
test ah, 5
jp 0x62f3ca
fstp st(0)
fld dword [esi + 0x34]
fcomp dword [0x873f80]
fnstsw ax
test ah, 5
jp 0x62f3ff
fld dword [esi + 0x34]
fcomp dword [0x84669c]
fnstsw ax
test ah, 0x41
jne 0x62f3f2
fld dword [0x846c88]
fstp dword [esi + 0x34]
jmp 0x62f3ff
fld dword [0x871e8c]
fstp dword [esi + 0x34]
jmp 0x62f3ff
fstp st(0)
mov al, byte [esp + 0x13]
test al, al
je 0x62f445
mov ecx, dword [0xa94ddc]
movzx eax, byte [esp + 0x2e]
mov edx, dword [esi + 0x38]
mov ebx, dword [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x20], eax
push ecx
mov ecx, dword [esi + 0x34]
fild dword [esp + 0x24]
fstp dword [esp]
push ecx
push ebx
push 0x118
call fcn.0067fe20
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x62f583
jmp 0x62f4af
fld dword [esp + 0x1c]
fcomp dword [0x84f1c8]
fnstsw ax
test ah, 0x41
jp 0x62f5a3
fld dword [0xa81734]
fcomp dword [0x846750]
fnstsw ax
test ah, 1
jne 0x62f5a3
lea edx, [esp + 0x40]
push edx
push 1
push 0xf
call fcn.005fd460
add esp, 0xc
test eax, eax
je 0x62f5a3
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00401710
fcomp dword [esp + 0x24]
add esp, 8
fnstsw ax
test ah, 0x41
jne 0x62f5a3
mov ebx, dword [esp + 0x14]
movzx eax, byte [esp + 0x2e]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esi + 0x34], edx
mov ecx, dword [0xa94ddc]
fild dword [esp + 0x18]
mov edx, dword [esi + 0x38]
push ecx
mov ecx, dword [esp + 0x28]
push edx
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
push eax
push ecx
push ebx
push 0x1118
call fcn.0067fe20
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x62f583
fld dword [esi + 0x34]
fchs
fcom dword [esi + 0x34]
fnstsw ax
test ah, 5
jp 0x62f508
fld dword [esi + 0x34]
jmp 0x62f50a
fld st(0)
fcomp dword [0x873f84]
fnstsw ax
test ah, 0x41
jne 0x62f559
fcom dword [esi + 0x34]
fnstsw ax
test ah, 5
jp 0x62f526
fstp st(0)
fld dword [esi + 0x34]
fcomp dword [0x873f80]
fnstsw ax
test ah, 5
jp 0x62f55b
fld dword [esi + 0x34]
fcomp dword [0x84669c]
fnstsw ax
test ah, 0x41
jne 0x62f54e
fld dword [0x846c88]
fstp dword [esi + 0x34]
jmp 0x62f55b
fld dword [0x871e8c]
fstp dword [esi + 0x34]
jmp 0x62f55b
fstp st(0)
mov edx, dword [0xa94ddc]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esi + 0x34]
push eax
push ecx
push edx
push ebx
push 0x1118
call fcn.0067fe20
mov edi, eax
add esp, 0x18
cmp edi, ebp
je 0x62f5a3
mov ecx, dword [esp + 0x104]
push ebp
push 0xbf800000
push edi
call fcn.0062a130
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret