Function at 0x411360
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 0x411c00
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 [0x4d2948]
mov dword [esp + 0x78], eax
mov eax, dword [0x4d294c]
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0x7c]
cmp ebx, dword [0x4c00fc]
ja 0x4115bf
jb 0x4114b9
mov ebx, dword [esp + 0x78]
cmp ebx, dword [0x4c00f8]
ja 0x4115bf
mov eax, dword [0x4d2948]
mov dword [esp + 0x78], eax
mov eax, dword [0x4d294c]
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 0x411bd2
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 [0x48e578]
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 [0x48e550]
fucomp st(1)
fnstsw ax
sahf
ja 0x41155f
fld qword [0x48e5a8]
fucomp st(1)
fnstsw ax
sahf
ja 0x411b93
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 [0x4d3ec4], eax
mov eax, dword [esp + 0x7c]
mov dword [0x4d3ec8], eax
mov eax, dword [0x4d3ec4]
mov dword [esp + 0x78], eax
mov eax, dword [0x4d3ec8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [0x4d3ecc], eax
mov eax, dword [esp + 0x7c]
mov dword [0x4d3ed0], eax
mov eax, dword [0x4d3ecc]
mov dword [esp + 0x78], eax
mov eax, dword [0x4d3ed0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4d0fb4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x411b7e
mul esi
mov eax, dword [0x4d3ecc]
mov dword [esp + 0x50], eax
mov eax, dword [0x4d3ed0]
mov dword [esp + 0x54], eax
mov eax, dword [0x4d3ecc]
mov dword [esp + 0x78], eax
mov eax, dword [0x4d3ed0]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4d0fb4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, edx
or ebp, ecx
jne 0x411b69
mul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.00442ea0
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 [0x4d3eb4]
mov edx, dword [0x4d3eb8]
add ecx, 0x100000
adc edx, 0
cmp ebp, edx
ja 0x4116b5
jb 0x41169b
cmp edi, ecx
jae 0x4116b5
mov eax, dword [0x4d3eb4]
mov edx, dword [0x4d3eb8]
add eax, 0x100000
adc edx, 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
cvtsi2sd xmm0, dword [0x4d0fc4]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [0x48e560]
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 0x411b34
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, 0x4c19e0
xor edx, edx
mov edi, 0x101
cmp ecx, 0
je 0x411b2d
cmp edx, edi
jge 0x4117cf
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
jne 0x411ae9
mov ecx, esi
mov eax, dword [0x4d3ebc]
mov dword [esp + 0x80], eax
mov eax, dword [0x4d3ec0]
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 0x41182d
jl 0x41181d
cmp dword [esp + 0x28], 0x3e8
jae 0x41182d
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x2c], 0
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov eax, dword [0x4d3eb4]
mov dword [esp + 0x80], eax
mov eax, dword [0x4d3eb8]
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 0x411887
jl 0x411877
cmp dword [esp + 0x30], 0
ja 0x411887
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 [0x4d1130]
cmp ebx, 0
jle 0x411ae2
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x58], xmm0
mov eax, dword [0x4d3ebc]
mov edx, dword [0x4d3ec0]
shrd eax, edx, 0x14
shr edx, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, dword [0x4c16f8]
mov dword [esp + 0x78], eax
mov eax, dword [0x4c16fc]
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.00425780
mov ebx, 0x485f5a
mov dword [esp], ebx
mov dword [esp + 4], 0x14
call fcn.00426190
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.00425a80
mov ebx, 0x484263
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.00426190
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00425e00
mov ebx, 0x484271
mov dword [esp], ebx
mov dword [esp + 4], 7
call fcn.00426190
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.00425e00
mov ebx, 0x483fc9
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00426190
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00425e00
mov ebx, 0x484036
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.00426190
mov ebx, 0x484512
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.00426190
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.00425fa0
mov ebx, 0x483fa8
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00426190
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call fcn.00425fa0
mov ebx, 0x483fb3
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00426190
call fcn.00425800
add esp, 0x88
ret
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ebx, eax
cmp eax, 0
je 0x411b29
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 0x4117bf
mov dword [eax], eax
jmp 0x411b06
mov dword [ecx], eax
jmp 0x4117bf
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 0x4117aa
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x411639
imul edx, esi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4115f2
fnstcw word [esp + 0x1e]
mov word [esp + 0x1c], 0xf7f
fldcw word [esp + 0x1c]
fld qword [0x48e5a0]
fucomp st(1)
fnstsw ax
sahf
jbe 0x411bbc
fistp qword [esp + 0x78]
fldcw word [esp + 0x1e]
jmp 0x411573
fld qword [0x48e5a0]
fsubp st(1)
fistp qword [esp + 0x78]
xor dword [esp + 0x7c], 0x80000000
jmp 0x411bb3
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 0x4114f0
call fcn.00448770
jmp fcn.00411360