Function at 0x414ef0
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 0x415790
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 [0x6dbf88]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dbf8c]
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0x7c]
cmp ebx, dword [0x6b01d4]
ja 0x41514f
jb 0x415049
mov ebx, dword [esp + 0x78]
cmp ebx, dword [0x6b01d0]
ja 0x41514f
mov eax, dword [0x6dbf88]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dbf8c]
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 0x415762
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 [0x619d28]
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 [0x619cf8]
fucomp st(1)
fnstsw ax
sahf
ja 0x4150ef
fld qword [0x619d58]
fucomp st(1)
fnstsw ax
sahf
ja 0x415723
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 [0x6dd504], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6dd508], eax
mov eax, dword [0x6dd504]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd508]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [0x6dd50c], eax
mov eax, dword [esp + 0x7c]
mov dword [0x6dd510], eax
mov eax, dword [0x6dd50c]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd510]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6d9d04]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x41570e
mul esi
mov eax, dword [0x6dd50c]
mov dword [esp + 0x50], eax
mov eax, dword [0x6dd510]
mov dword [esp + 0x54], eax
mov eax, dword [0x6dd50c]
mov dword [esp + 0x78], eax
mov eax, dword [0x6dd510]
mov dword [esp + 0x7c], eax
mov eax, dword [0x6d9d04]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x4156f9
mul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.0044b490
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 [0x6dd4f4]
mov edx, dword [0x6dd4f8]
add ecx, 0x100000
adc edx, 0
cmp ebp, edx
ja 0x415245
jb 0x41522b
cmp edi, ecx
jae 0x415245
mov eax, dword [0x6dd4f4]
mov edx, dword [0x6dd4f8]
add eax, 0x100000
adc edx, 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
cvtsi2sd xmm0, dword [0x6d9d14]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [0x619d10]
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 0x4156c4
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, 0x6c94c0
xor edx, edx
mov edi, 0x101
cmp ecx, 0
je 0x4156bd
cmp edx, edi
jge 0x41535f
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
jne 0x415679
mov ecx, esi
mov eax, dword [0x6dd4fc]
mov dword [esp + 0x80], eax
mov eax, dword [0x6dd500]
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 0x4153bd
jl 0x4153ad
cmp dword [esp + 0x28], 0x3e8
jae 0x4153bd
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x2c], 0
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov eax, dword [0x6dd4f4]
mov dword [esp + 0x80], eax
mov eax, dword [0x6dd4f8]
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 0x415417
jl 0x415407
cmp dword [esp + 0x30], 0
ja 0x415417
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 [0x6d9f70]
cmp ebx, 0
jle 0x415672
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x58], xmm0
mov eax, dword [0x6dd4fc]
mov edx, dword [0x6dd500]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, dword [0x6c9078]
mov dword [esp + 0x78], eax
mov eax, dword [0x6c907c]
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.0042ad20
mov ebx, 0x5fa3de
mov dword [esp], ebx
mov dword [esp + 4], 0x14
call fcn.0042b730
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.0042b020
mov ebx, 0x5f6554
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042b730
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0042b3a0
mov ebx, 0x5f6562
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.0042b730
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.0042b3a0
mov ebx, 0x5f5ae9
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0042b730
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0042b3a0
mov ebx, 0x5f5d95
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.0042b730
mov ebx, 0x5f6cc4
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.0042b730
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0042b540
mov ebx, 0x5f5aac
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042b730
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call fcn.0042b540
mov ebx, 0x5f5ac6
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042b730
call fcn.0042ada0
add esp, 0x88
ret
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ebx, eax
cmp eax, 0
je 0x4156b9
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 0x41534f
mov dword [eax], eax
jmp 0x415696
mov dword [ecx], eax
jmp 0x41534f
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 0x41533a
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4151c9
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x415182
fnstcw word [esp + 0x1e]
mov word [esp + 0x1c], 0xf7f
fldcw word [esp + 0x1c]
fld qword [0x619d50]
fucomp st(1)
fnstsw ax
sahf
jbe 0x41574c
fistp qword [esp + 0x78]
fldcw word [esp + 0x1e]
jmp 0x415103
fld qword [0x619d50]
fsubp st(1)
fistp qword [esp + 0x78]
xor dword [esp + 0x7c], 0x80000000
jmp 0x415743
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 0x415080
call fcn.00450fb0
jmp fcn.00414ef0