Function at 0x414000
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 0x4148a0
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 [0x6d1f28]
mov dword [esp + 0x78], eax
mov eax, dword [0x6d1f2c]
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0x7c]
cmp ebx, dword [0x6a61d4]
ja 0x41425f
jb 0x414159
mov ebx, dword [esp + 0x78]
cmp ebx, dword [0x6a61d0]
ja 0x41425f
mov eax, dword [0x6d1f28]
mov dword [esp + 0x78], eax
mov eax, dword [0x6d1f2c]
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 0x414872
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 [0x611e80]
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 [0x611e58]
fucomp st(1)
fnstsw ax
sahf
ja 0x4141ff
fld qword [0x611eb0]
fucomp st(1)
fnstsw ax
sahf
ja 0x414833
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 [0x6d34a4], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6d34a8], eax
mov eax, dword [0x6d34a4]
mov dword [esp + 0x78], eax
mov eax, dword [0x6d34a8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [0x6d34ac], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6d34b0], eax
mov eax, dword [0x6d34ac]
mov dword [esp + 0x78], eax
mov eax, dword [0x6d34b0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6cfca4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x41481e
mul esi
mov eax, dword [0x6d34ac]
mov dword [esp + 0x50], eax
mov eax, dword [0x6d34b0]
mov dword [esp + 0x54], eax
mov eax, dword [0x6d34ac]
mov dword [esp + 0x78], eax
mov eax, dword [0x6d34b0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6cfca4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x414809
mul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.0044a440
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 [0x6d3494]
mov edx, dword [0x6d3498]
add ecx, 0x100000
adc edx, 0
cmp ebp, edx
ja 0x414355
jb 0x41433b
cmp edi, ecx
jae 0x414355
mov eax, dword [0x6d3494]
mov edx, dword [0x6d3498]
add eax, 0x100000
adc edx, 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
cvtsi2sd xmm0, dword [0x6cfcb4]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [0x611e68]
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 0x4147d4
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, 0x6bf460
xor edx, edx
mov edi, 0x101
cmp ecx, 0
je 0x4147cd
cmp edx, edi
jge 0x41446f
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
jne 0x414789
mov ecx, esi
mov eax, dword [0x6d349c]
mov dword [esp + 0x80], eax
mov eax, dword [0x6d34a0]
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 0x4144cd
jl 0x4144bd
cmp dword [esp + 0x28], 0x3e8
jae 0x4144cd
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x2c], 0
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov eax, dword [0x6d3494]
mov dword [esp + 0x80], eax
mov eax, dword [0x6d3498]
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 0x414527
jl 0x414517
cmp dword [esp + 0x30], 0
ja 0x414527
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 [0x6cff10]
cmp ebx, 0
jle 0x414782
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x58], xmm0
mov eax, dword [0x6d349c]
mov edx, dword [0x6d34a0]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, dword [0x6bf018]
mov dword [esp + 0x78], eax
mov eax, dword [0x6bf01c]
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.00429e30
mov ebx, 0x5f2b14
mov dword [esp], ebx
mov dword [esp + 4], 0x14
call fcn.0042a840
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.0042a130
mov ebx, 0x5eecf6
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042a840
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0042a4b0
mov ebx, 0x5eed04
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042a840
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0042a4b0
mov ebx, 0x5ee2a8
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0042a840
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0042a4b0
mov ebx, 0x5ee554
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.0042a840
mov ebx, 0x5ef45e
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.0042a840
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0042a650
mov ebx, 0x5ee26c
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a840
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call fcn.0042a650
mov ebx, 0x5ee286
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a840
call fcn.00429eb0
add esp, 0x88
ret
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ebx, eax
cmp eax, 0
je 0x4147c9
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 0x41445f
mov dword [eax], eax
jmp 0x4147a6
mov dword [ecx], eax
jmp 0x41445f
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 0x41444a
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4142d9
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x414292
fnstcw word [esp + 0x1e]
mov word [esp + 0x1c], 0xf7f
fldcw word [esp + 0x1c]
fld qword [0x611ea8]
fucomp st(1)
fnstsw ax
sahf
jbe 0x41485c
fistp qword [esp + 0x78]
fldcw word [esp + 0x1e]
jmp 0x414213
fld qword [0x611ea8]
fsubp st(1)
fistp qword [esp + 0x78]
xor dword [esp + 0x7c], 0x80000000
jmp 0x414853
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 0x414190
call fcn.0044ff60
jmp fcn.00414000