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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x41d036
sub esp, 0xa8
mov eax, dword [esp + 0xac]
test byte [eax], al
mov dword [esp], eax
call fcn.00401ce0
mov eax, dword [esp + 4]
test eax, eax
jge 0x41cb5e
mov eax, 0x186a0
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 0x70]
mov dword [esp], edx
call fcn.00401e50
mov eax, dword [esp + 0xac]
lea ecx, [eax + 0x78]
mov edx, dword [esp + 4]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x4c], ebx
mov dword [esp], ecx
call fcn.00401e50
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xac]
lea ebx, [edx + 0xa8]
mov dword [esp], ebx
call fcn.00401cf0
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0xac]
lea ebx, [edx + 0xb0]
mov dword [esp], ebx
call fcn.00401cf0
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x7c], ecx
mov ebx, dword [esp + 8]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0xac]
lea esi, [ebp + 0xb8]
mov dword [esp], esi
call fcn.00401cf0
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
add eax, ecx
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0xac]
lea esi, [ebp + 0x60]
mov dword [esp], esi
call fcn.00401e50
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x88]
mov dword [esp + 0x78], edx
mov ebx, ecx
add ecx, edx
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x74], ebp
mov esi, ebp
add ebp, ecx
mov dword [esp + 0x38], ebp
mov edi, dword [esp + 0x40]
add edx, edi
mov dword [esp + 0x70], edx
add esi, edx
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
adc ebp, esi
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
add esi, edx
mov edx, dword [esp + 0x20]
adc ebp, edx
mov dword [esp + 0x2c], ebp
mov edx, dword [eax + 0x84]
mov esi, dword [eax + 0x8c]
mov ebp, dword [esp + 0x78]
add ebx, ebp
adc edx, esi
mov ebx, dword [eax + 0x9c]
mov eax, dword [esp + 0x74]
add ecx, eax
adc edx, ebx
add ebp, edi
mov ecx, dword [esp + 0x44]
adc esi, ecx
mov ecx, dword [esp + 0x70]
add eax, ecx
adc ebx, esi
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x2c]
cmp edx, eax
setl cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
cmp esi, edi
setb bl
mov eax, dword [esp + 8]
mov edi, dword [esp + 4]
and ebx, ebp
or ecx, ebx
mov ebx, dword [esp + 8]
test cl, cl
je 0x41ce5a
mov dword [esp + 0x68], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x18]
sub edi, ecx
mov ecx, dword [eax + 0x1c]
sbb ebx, ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004585e0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004585e0
movsd xmm0, qword [esp + 0xa0]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call fcn.004585e0
movsd xmm0, qword [esp + 0xa0]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00458540
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x78], edx
add eax, edx
mov dword [esp + 0x64], eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x74], ebp
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x5c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x58]
mov dword [esp], edi
call fcn.004585e0
mov eax, dword [esp + 0x60]
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x5eaf58]
divsd xmm0, xmm1
movsd xmm1, qword [0x5eaf10]
addsd xmm1, xmm0
mulsd xmm1, qword [esp + 8]
movsd qword [esp], xmm1
call fcn.00458540
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
add eax, ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
adc eax, ecx
mov ecx, dword [esp + 0xc]
cmp ecx, eax
setl cl
sete dl
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x64]
cmp ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, edx
or esi, ecx
mov ecx, dword [esp + 0xc]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x41ce4e
mov ecx, eax
mov ebx, ebp
mov eax, ecx
mov edi, ebx
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
setl bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ecx, dword [esp + 0x48]
cmp edi, ecx
setb cl
and ecx, ebp
or ebx, ecx
test bl, bl
je 0x41ceaf
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004585e0
movsd xmm0, qword [0x5eaf18]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00458540
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
sub esi, ecx
mov ecx, dword [esp + 0x2c]
sbb edx, ecx
test edx, edx
setl cl
sete bl
cmp esi, 0x3e8
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41cee1
xor edx, edx
mov esi, 0x3e8
mov ecx, dword [esp + 0x48]
sub edi, ecx
mov ecx, dword [esp + 0x4c]
sbb eax, ecx
test eax, eax
setl cl
sete bl
test edi, edi
xchg ebp, ebx
setbe bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41cf0f
xor eax, eax
mov edi, 1
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004585e0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
call fcn.004585e0
movsd xmm0, qword [esp + 0xa0]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x90], xmm0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004585e0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004585e0
movsd xmm0, qword [esp + 0xa0]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x98], xmm0
movsd xmm1, qword [esp + 0x90]
movsd qword [esp + 0x88], xmm1
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xac]
lea ebx, [edx + 0xf8]
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.00401e70
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xac]
add edx, 0x100
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.00401e70
add esp, 0xa8
ret
call fcn.0045c2f0
jmp fcn.0041cb20