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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x415403
sub esp, 0x74
mov eax, dword [0x5c36a0]
test eax, eax
jge 0x415128
mov eax, 0x186a0
mov dword [esp + 0x40], eax
lea ecx, [0x5c6678]
mov dword [esp], ecx
call fcn.004021a0
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
lea edx, [0x5c6680]
mov dword [esp], edx
call fcn.004021a0
mov eax, dword [esp + 0x78]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], ebx
mov dword [esp], eax
call fcn.00402040
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
lea edx, [0x5c50c8]
mov dword [esp], edx
call fcn.004021a0
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp], ebx
call fcn.00452140
movsd xmm0, qword [0x51ce54]
mulsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x40]
add eax, 0x64
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.00451fd0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
setb dl
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
setl bl
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
or ebx, esi
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
test bl, bl
je 0x4153cd
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00452070
movsd xmm0, qword [0x51ce2c]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00451fd0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
sub ebx, ebp
mov ebp, dword [esp + 0x44]
sbb eax, ebp
test eax, eax
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x41529a
xor eax, eax
mov ebx, 0x3e8
mov ebp, dword [esp + 0x24]
sub ecx, ebp
mov ebp, dword [esp + 0x28]
sbb edx, ebp
test edx, edx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test ecx, ecx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x4153c2
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00452070
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
call fcn.00452070
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x5c], xmm0
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00452070
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call fcn.00452070
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x64], xmm0
movsd xmm1, qword [esp + 0x5c]
movsd qword [esp + 0x54], xmm1
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x40]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call fcn.004021c0
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0x4c], xmm0
mov eax, dword [esp + 0x78]
add eax, 0x48
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.004021c0
add esp, 0x74
ret
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x4152d4
mov ebx, dword [esp + 0x48]
cmp esi, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov ecx, dword [esp + 0x44]
cmp ecx, edx
sete dl
setg cl
and edx, ebp
or ecx, edx
test cl, cl
jne 0x415228
mov eax, edi
mov ebx, esi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
jmp 0x415260
call fcn.00458300
jmp fcn.00415100