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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x41a0ad
sub esp, 0x58
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x18]
mov edx, dword fs:[0x14]
mov edx, dword [edx]
cmp dword [ecx], edx
je 0x41a0a9
mov ecx, dword [edx + 0x18]
mov edx, dword [ecx + 0x78]
test edx, edx
jle 0x419c63
add esp, 0x58
ret
mov ecx, dword [ecx + 0x74]
test ecx, ecx
jne 0x419c5f
xor ecx, ecx
jmp 0x419c77
mov eax, dword [esp + 0x5c]
movzx ecx, byte [esp + 0x17]
mov byte [esp + 0x17], cl
mov edx, dword [eax + 0xd0]
xor ebx, ebx
sub ebx, edx
mov dword [esp + 0x28], ebx
mov edx, dword [eax + 0xd4]
movsd xmm0, qword [0x9ec500]
movsd qword [esp + 0x40], xmm0
mov dword [esp], ebx
mov ebp, 0
sbb ebp, edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 4], ebp
call fcn.00447a70
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.004479d0
mov eax, dword [esp + 0xc]
test eax, eax
setl cl
sete dl
mov ebx, dword [esp + 8]
cmp ebx, 0x10000
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x41a05d
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
lea ebp, [0x9ec4c8]
mov dword [esp], ebp
call fcn.00402200
mov eax, dword [esp + 8]
test eax, eax
setg cl
sete dl
mov ebx, dword [esp + 4]
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x419ed9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movzx edx, byte [0x9e3ca8]
test dl, dl
je 0x419ecf
movzx edx, byte [esp + 0x17]
test dl, dl
je 0x419e8b
mov edx, 1
mov byte [esp + 0x17], dl
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea ebx, [0x4490c0]
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.0044b050
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x44]
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x419e78
mov dword [eax + 0x44], 0
test ecx, ecx
jne 0x419e6a
mov ecx, dword [eax + 0xd4]
test ecx, ecx
setl cl
sete dl
mov ebx, dword [eax + 0xd0]
test ebx, ebx
setb bl
and ebx, edx
or ebx, ecx
test bl, bl
je 0x419e31
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x419e20
nop
nop
lea eax, [0x695994]
mov dword [esp], eax
call fcn.0044aff0
mov eax, dword [esp + 0x5c]
movzx ecx, byte [esp + 0x17]
jmp 0x419c77
call fcn.0041a520
movzx eax, byte [esp]
test al, al
je 0x419c6e
movzx eax, byte [esp + 0x17]
test al, al
jne 0x419e3e
add esp, 0x58
ret
nop
mov byte [esp], 0x2c
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00440a60
jmp 0x419e3a
call fcn.00416510
mov eax, dword [esp + 0x5c]
jmp 0x419dd9
lea edi, [eax + 0x44]
mov edx, eax
xor eax, eax
call fcn.0044c8c0
mov eax, edx
jmp 0x419dd1
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
nop
mov byte [esp], 0x2b
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00440a60
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, 1
jmp 0x419d6b
movzx edx, byte [esp + 0x17]
jmp 0x419d6b
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
setl dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x18]
cmp ebx, esi
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x419fc9
mov eax, dword [esp + 0x5c]
mov edx, dword [eax + 0xd0]
mov ebx, dword [esp + 0x28]
add ebx, edx
mov edx, dword [eax + 0xd4]
mov dword [eax + 0xd0], ebx
mov ebx, dword [esp + 0x2c]
adc edx, ebx
mov dword [eax + 0xd4], edx
mov edx, esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
xor eax, eax
sub eax, esi
sub edx, esi
mov dword [esp + 0x20], edx
lea ebp, [0x9ec4c8]
mov dword [esp], ebp
mov dword [esp + 4], eax
xor eax, eax
sub eax, esi
mov eax, 0
sbb eax, ecx
mov dword [esp + 8], eax
call fcn.00402210
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
sub eax, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
sbb eax, ecx
test eax, eax
sete cl
mov edx, dword [esp + 0x20]
test edx, edx
sete bl
and ecx, ebx
test cl, cl
jne 0x419f90
mov ecx, edx
jmp 0x419d4a
movzx eax, byte [esp + 0x17]
test al, al
jne 0x419f9d
add esp, 0x58
ret
nop
mov byte [esp], 0x2c
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00440a60
jmp 0x419f99
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0xd4]
mov dword [esp + 0x34], edx
mov ebp, dword [ecx + 0xd0]
mov dword [esp + 0x30], ebp
movsd xmm0, qword [0x9ec508]
movsd qword [esp + 0x40], xmm0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00447a70
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.004479d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, eax
add eax, ecx
mov ebx, eax
add eax, 1
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x5c]
mov dword [esi + 0xd0], eax
add edx, ecx
mov eax, dword [esp + 0x34]
adc ebp, eax
add ebx, 1
adc ebp, 0
mov dword [esi + 0xd4], ebp
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
jmp 0x419f2e
movsd xmm0, qword [0x9ec508]
movsd qword [esp + 0x40], xmm0
mov dword [esp], 0x10000
mov dword [esp + 4], 0
call fcn.00447a70
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.004479d0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, 0x10000
xor eax, eax
jmp 0x419cfd
add esp, 0x58
ret
call fcn.0044b170
jmp fcn.00419c20