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

Disassembly:
sub esp, 0x58
fldz
push ebx
push ebp
fst dword [esp + 0x20]
fst dword [esp + 0x1c]
push esi
fst dword [esp + 0x14]
mov esi, eax
mov eax, dword [0x448ec0]
fstp dword [esp + 0x10]
push edi
xor edi, edi
mov ebx, 1
cmp word [eax + 0x12], bx
mov dword [esp + 0x20], edi
jne 0x419029
fld dword [0x43b1c8]
jmp 0x41902f
fld dword [0x43b1c4]
lea ecx, [esp + 0x14]
fstp dword [esp + 0x1c]
push ecx
add eax, 0x11c
push eax
call fcn.0040b310
mov eax, dword [0x448ec0]
lea edx, [esp + 0x20]
push edx
add eax, 0x124
push eax
call fcn.0040b310
fld dword [esp + 0x2c]
fld st(0)
add esp, 0x10
fmul dword [esp + 0x14]
mov dword [0x448fe8], edi
mov dword [0x448fec], edi
call fcn.00439550
fmul dword [esp + 0x18]
mov dword [0x448ff0], eax
call fcn.00439550
mov dword [0x448ff4], eax
mov eax, dword [0x448ec0]
cmp word [eax + 0x10], bx
jne 0x4190e4
lea ecx, [esp + 0x14]
push ecx
add eax, 0x11c
push eax
call fcn.0040b310
mov eax, dword [0x448ec0]
lea edx, [esp + 0x20]
push edx
add eax, 0x124
push eax
call fcn.0040b310
mov edx, dword [0x448ec0]
lea ecx, [esp + 0x34]
push ecx
add edx, 0x12c
push edx
call fcn.0040b310
mov ecx, dword [0x448ec0]
lea eax, [esp + 0x40]
push eax
add ecx, 0x134
push ecx
jmp 0x419132
lea edx, [esp + 0x18]
push edx
add eax, 0x11c
push eax
call fcn.0040b310
mov ecx, dword [0x448ec0]
lea eax, [esp + 0x1c]
push eax
add ecx, 0x124
push ecx
call fcn.0040b310
mov eax, dword [0x448ec0]
lea edx, [esp + 0x38]
push edx
add eax, 0x12c
push eax
call fcn.0040b310
mov edx, dword [0x448ec0]
lea ecx, [esp + 0x3c]
push ecx
add edx, 0x134
push edx
call fcn.0040b310
fld dword [esp + 0x3c]
fld st(0)
add esp, 0x20
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.00439550
fld st(1)
fld dword [esp + 0x28]
mov edi, eax
fld st(0)
mov dword [0x448ff8], edi
fmulp st(2)
fxch st(1)
call fcn.00439550
fld dword [esp + 0x14]
fsubrp st(2)
mov ebp, eax
mov dword [0x448ffc], ebp
fld st(2)
fmulp st(2)
fxch st(1)
call fcn.00439550
fsubr dword [esp + 0x18]
mov ebx, eax
mov dword [0x449000], ebx
fmulp st(1)
call fcn.00439550
mov dword [0x449004], eax
add eax, 0xffffffef
add ebx, 0xffffffff
mov dword [0x449014], eax
lea eax, [esp + 0x40]
mov dword [0x449010], ebx
push eax
xor ebx, ebx
add edi, 1
add ebp, 1
push ebx
mov dword [0x449008], edi
mov dword [0x44900c], ebp
call sub.gnwie.dll_Wquerywinsize
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add esp, 8
mov dword [0x449018], ebx
mov dword [0x44901c], ebx
mov dword [0x449020], ecx
mov dword [0x449024], edx
call fcn.0041f030
mov eax, dword [0x448ec0]
movzx eax, word [eax]
cmp ax, 2
jne 0x419472
push ebx
push ebx
push 0x47
xor ebp, ebp
push esi
mov dword [esp + 0x3c], ebp
call fcn.00407c10
push ebx
push ebx
push 0x26
push eax
call fcn.00407c10
movzx eax, ax
push 4
push eax
call fcn.004097f0
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.00409610
push ebx
push ebx
push 0x48
push esi
xor edi, edi
call fcn.00407c10
add esp, 0x40
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x419280
lea ebx, [ebx]
mov eax, dword [esp + 0x1c]
push 4
lea edx, [esp + 0x14]
push edx
push eax
call fcn.004096c0
add edi, 1
push edi
push ebx
push 0x48
push esi
add ebp, 1
call fcn.00407c10
add esp, 0x1c
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x419250
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x3c], 1
call fcn.00409770
add esp, 8
test ax, ax
jne 0x41944f
mov eax, dword [esp + 0x10]
push ebx
push ebx
push 0x2f
push eax
call fcn.00407c10
add esp, 0x10
test eax, eax
je 0x4192cd
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push 0x24
push ecx
call fcn.00407c10
add esp, 0x10
test al, 2
je 0x4192d6
cmp bp, bx
jle 0x419422
cmp bp, bx
jl 0x4192e2
sub ebp, 1
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x10]
push ebx
push edx
push 0x5f
push esi
call fcn.00407c10
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
push ebx
push edi
push 0x36
push eax
call fcn.00407c10
mov ecx, dword [esi + 0xd8]
add edi, 1
add esp, 0x20
test byte [ecx + 0x104], 1
mov dword [esp + 0x34], edi
je 0x419325
add dword [esp + 0x20], 1
jmp 0x4193ba
push ebx
push ebx
push 0x28
push esi
call fcn.00407c10
push ebx
push ebx
push 0x25
push esi
call fcn.00407c10
push ebx
lea edx, [esp + 0x7c]
push edx
push 0x46
push esi
call fcn.00407c10
lea eax, [esp + 0x78]
push eax
push 1
push 0x3f
push esi
call fcn.00407c10
mov eax, dword [esp + 0x94]
sub eax, dword [esp + 0x8c]
mov edi, dword [esp + 0xa4]
sub edi, dword [esp + 0x9c]
cdq
idiv edi
mov ecx, dword [esp + 0xa0]
sub ecx, dword [esp + 0x98]
add esp, 0x40
mov ebp, eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x48]
mov edi, edx
cdq
idiv ecx
xor ecx, ecx
cmp edx, ebx
setne cl
add cx, ax
xor eax, eax
cmp edi, ebx
setne al
movsx edx, cx
add ax, bp
mov ebp, dword [esp + 0x2c]
movsx ecx, ax
imul edx, ecx
add dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
push ebx
push ebx
push 0x24
push edx
xor edi, edi
call fcn.00407c10
add esp, 0x10
test al, 2
jne 0x419434
mov eax, dword [esp + 0x10]
push ebx
push ebx
push 0x2f
push eax
call fcn.00407c10
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x3c], eax
je 0x419434
lea ebx, [ebx]
mov edx, dword [esp + 0x1c]
push 4
lea ecx, [esp + 0x40]
push ecx
push edx
call fcn.004096c0
mov ecx, dword [esp + 0x1c]
add edi, 1
movzx eax, di
push ebx
push eax
push 0x2f
push ecx
call fcn.00407c10
add esp, 0x1c
cmp eax, ebx
mov dword [esp + 0x3c], eax
jne 0x4193f0
jmp 0x419434
mov edx, dword [esp + 0x10]
push ebx
push 0xffffffffffffffff
push 0x36
push edx
call fcn.00407c10
add esp, 0x10
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.00409770
add esp, 8
test ax, ax
je 0x4192a3
mov edx, dword [esp + 0x1c]
push edx
call fcn.00409690
add esp, 4
call fcn.0041f010
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [0x449034], eax
pop ebx
add esp, 0x58
ret
cmp ax, bx
jne 0x419574
push ebx
push ebx
push 0x28
push esi
call fcn.00407c10
push ebx
push ebx
push 0x25
push esi
call fcn.00407c10
mov ecx, dword [esi + 0xd8]
add esp, 0x20
test byte [ecx + 0x104], 1
je 0x419586
lea edx, [esp + 0x2c]
push edx
push ebx
push 0x49
push esi
call fcn.00407c10
lea eax, [esp + 0x68]
push eax
push 1
push 0x3f
push esi
call fcn.00407c10
push ebx
lea ecx, [esp + 0x6c]
push ecx
push 0x46
push esi
call fcn.00407c10
mov edx, dword [esp + 0x80]
sub edx, dword [esp + 0x78]
mov eax, dword [esp + 0x90]
sub eax, dword [esp + 0x88]
mov dword [esp + 0x6c], edx
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x84]
fidiv dword [esp + 0x6c]
sub ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x94]
sub edx, dword [esp + 0x8c]
mov dword [esp + 0x6c], ecx
add esp, 0x30
fstp dword [esp + 0x34]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
fidiv dword [esp + 0x3c]
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x419546
fstp dword [esp + 0x34]
jmp 0x419548
fstp st(0)
fld dword [esp + 0x38]
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x419561
fstp dword [esp + 0x38]
jmp 0x419563
fstp st(0)
lea eax, [esp + 0x34]
push eax
push ebx
push 0x60
push esi
call fcn.00407c10
add esp, 0x10
pop edi
pop esi
mov eax, 1
pop ebp
mov dword [0x449034], eax
pop ebx
add esp, 0x58
ret
lea ecx, [esp + 0x58]
push ecx
push 1
push 0x3f
push esi
call fcn.00407c10
push ebx
lea edx, [esp + 0x5c]
push edx
push 0x46
push esi
call fcn.00407c10
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
sub esi, dword [esp + 0x6c]
cdq
idiv esi
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x68]
add esp, 0x20
mov edi, eax
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
mov esi, edx
cdq
idiv ecx
xor ecx, ecx
cmp edx, ebx
setne cl
xor edx, edx
add cx, ax
cmp esi, ebx
setne dl
movsx eax, cx
add dx, di
movsx ecx, dx
imul eax, ecx
pop edi
pop esi
pop ebp
mov dword [0x449034], eax
pop ebx
add esp, 0x58
ret