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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4156b0
sub esp, 0x88
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 4], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 0xc], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 0x14], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 0x1c], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 0x24], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [ebp + 0x2c], eax
mov eax, dword [0x6dbf68]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dbf6c]
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0x7c]
cmp ebx, dword [0x6b01d4]
ja 0x41506f
jb 0x414f69
mov ebx, dword [esp + 0x78]
cmp ebx, dword [0x6b01d0]
ja 0x41506f
mov eax, dword [0x6dbf68]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dbf6c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
cmp dword [esp + 0x64], 0
jl 0x415682
fild qword [esp + 0x60]
fstp qword [esp + 0x68]
movsd xmm0, qword [esp + 0x68]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [ebp + 0x60]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
addsd xmm0, qword [0x6199a8]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x68]
divsd xmm1, xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm0, qword [esp + 0x68]
movsd qword [esp + 0x68], xmm0
fld qword [esp + 0x68]
fld qword [0x619978]
fucomp st(1)
fnstsw ax
sahf
ja 0x41500f
fld qword [0x6199d8]
fucomp st(1)
fnstsw ax
sahf
ja 0x415643
fistp qword [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x78]
mov dword [0x6dd4e4], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6dd4e8], eax
mov eax, dword [0x6dd4e4]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd4e8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [0x6dd4ec], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6dd4f0], eax
mov eax, dword [0x6dd4ec]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd4f0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6d9ce4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x41562e
mul esi
mov eax, dword [0x6dd4ec]
mov dword [esp + 0x50], eax
mov eax, dword [0x6dd4f0]
mov dword [esp + 0x54], eax
mov eax, dword [0x6dd4ec]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd4f0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6d9ce4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x415619
mul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.0044b3b0
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
add eax, ebx
adc edx, ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov edi, dword [esi + 0x38]
mov ebp, dword [esi + 0x3c]
mov ecx, dword [0x6dd4d4]
mov edx, dword [0x6dd4d8]
add ecx, 0x100000
adc edx, 0
cmp ebp, edx
ja 0x415165
jb 0x41514b
cmp edi, ecx
jae 0x415165
mov eax, dword [0x6dd4d4]
mov edx, dword [0x6dd4d8]
add eax, 0x100000
adc edx, 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
cvtsi2sd xmm0, dword [0x6d9cf4]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [0x619990]
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fnstcw word [esp + 0x1a]
mov word [esp + 0x18], 0xf7f
fldcw word [esp + 0x18]
fistp qword [esp + 0x80]
fldcw word [esp + 0x1a]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x4c], eax
fild qword [esp + 0x48]
fstp qword [esp + 0x58]
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x20]
subsd xmm1, xmm0
movsd qword [esp + 0x58], xmm1
movsd xmm0, qword [esp + 0x58]
movsd qword [esi + 0x58], xmm0
movsd xmm0, qword [esi + 0x58]
movsd qword [esp + 0x58], xmm0
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x58]
ucomisd xmm1, xmm0
ja 0x4155e4
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [esi + 0xa8], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0xac], eax
mov ecx, 0x6c94a0
xor edx, edx
mov edi, 0x101
cmp ecx, 0
je 0x4155dd
cmp edx, edi
jge 0x41527f
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
jne 0x415599
mov ecx, esi
mov eax, dword [0x6dd4dc]
mov dword [esp + 0x80], eax
mov eax, dword [0x6dd4e0]
mov dword [esp + 0x84], eax
mov ebp, dword [esi]
mov ebx, dword [esi + 4]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
sub eax, ebp
sbb edx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x2c], 0
jg 0x4152dd
jl 0x4152cd
cmp dword [esp + 0x28], 0x3e8
jae 0x4152dd
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x2c], 0
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov eax, dword [0x6dd4d4]
mov dword [esp + 0x80], eax
mov eax, dword [0x6dd4d8]
mov dword [esp + 0x84], eax
mov eax, edx
mov edx, ebx
sub eax, dword [esp + 0x80]
sbb edx, dword [esp + 0x84]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
cmp dword [esp + 0x34], 0
jg 0x415337
jl 0x415327
cmp dword [esp + 0x30], 0
ja 0x415337
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
fild qword [esp + 0x28]
fstp qword [esp + 0x58]
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm1
fild qword [esp + 0x30]
fstp qword [esp + 0x38]
movsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x58]
divsd xmm0, xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm1, qword [esp + 0x58]
movsd qword [ecx + 0x48], xmm1
fild qword [esp + 0x30]
fstp qword [esp + 0x58]
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm1
fild qword [esp + 0x28]
fstp qword [esp + 0x38]
movsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x58]
divsd xmm0, xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm1, qword [esp + 0x58]
movsd qword [ecx + 0x50], xmm1
mov ebx, dword [0x6d9f50]
cmp ebx, 0
jle 0x415592
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x58], xmm0
mov eax, dword [0x6dd4dc]
mov edx, dword [0x6dd4e0]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, dword [0x6c9058]
mov dword [esp + 0x78], eax
mov eax, dword [0x6c905c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov eax, dword [esi + 0x40]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0xac]
mov dword [esp + 0x84], eax
call fcn.0042ac40
mov ebx, 0x5fa0aa
mov dword [esp], ebx
mov dword [esp + 4], 0x14
call fcn.0042b650
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.0042af40
mov ebx, 0x5f6234
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042b650
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0042b2c0
mov ebx, 0x5f6242
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042b650
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0042b2c0
mov ebx, 0x5f57c9
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0042b650
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0042b2c0
mov ebx, 0x5f5a75
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.0042b650
mov ebx, 0x5f69a4
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.0042b650
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0042b460
mov ebx, 0x5f578c
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042b650
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call fcn.0042b460
mov ebx, 0x5f57a6
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042b650
call fcn.0042acc0
add esp, 0x88
ret
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ebx, eax
cmp eax, 0
je 0x4155d9
mov eax, dword [esp + 0x80]
mov dword [ebx + 0x91c], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x920], eax
add ecx, 4
inc edx
jmp 0x41526f
mov dword [eax], eax
jmp 0x4155b6
mov dword [ecx], eax
jmp 0x41526f
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x80]
mov dword [esi + 0xa8], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0xac], eax
jmp 0x41525a
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4150e9
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4150a2
fnstcw word [esp + 0x1e]
mov word [esp + 0x1c], 0xf7f
fldcw word [esp + 0x1c]
fld qword [0x6199d0]
fucomp st(1)
fnstsw ax
sahf
jbe 0x41566c
fistp qword [esp + 0x78]
fldcw word [esp + 0x1e]
jmp 0x415023
fld qword [0x6199d0]
fsubp st(1)
fistp qword [esp + 0x78]
xor dword [esp + 0x7c], 0x80000000
jmp 0x415663
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
shrd eax, edx, 1
xor ecx, ecx
setae cl
or eax, ecx
shr edx, 1
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
fild qword [esp + 0x60]
fld st(0)
faddp st(1)
fstp qword [esp + 0x68]
jmp 0x414fa0
call fcn.00450ed0
jmp fcn.00414e10