Function at 0x41fab0
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 0x4200a6
sub esp, 0x88
mov eax, dword [esp + 0x8c]
test byte [eax], al
mov dword [esp], eax
call fcn.00401c90
mov eax, dword [esp + 4]
test eax, eax
jge 0x41faee
mov eax, 0x186a0
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x8c]
lea edx, [ecx + 0x70]
mov dword [esp], edx
call fcn.004023d0
mov eax, dword [esp + 0x8c]
lea ecx, [eax + 0x78]
mov edx, dword [esp + 4]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], ecx
call fcn.004023d0
mov eax, dword [esp + 0x8c]
lea ecx, [eax + 0xa8]
mov edx, dword [esp + 4]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
call fcn.00401d10
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x8c]
lea ebx, [edx + 0xb0]
mov dword [esp], ebx
call fcn.00401d10
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x78], ecx
mov ebx, dword [esp + 8]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0x8c]
lea esi, [ebp + 0xb8]
mov dword [esp], esi
call fcn.00401d10
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x78]
add eax, ecx
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 8]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x8c]
lea esi, [ebp + 0x60]
mov dword [esp], esi
call fcn.004023d0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x88]
mov dword [esp + 0x68], edx
mov ebx, ecx
add ecx, edx
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x64], ebp
mov esi, ecx
add ecx, ebp
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x30]
add edx, edi
mov dword [esp + 0x60], edx
add ebp, edx
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
add ebp, ecx
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x74]
adc ecx, ebp
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
add ebp, edx
mov edx, dword [esp + 0x6c]
adc ecx, edx
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x84]
mov ebp, dword [eax + 0x8c]
mov ecx, dword [esp + 0x68]
add ebx, ecx
adc edx, ebp
mov ebx, dword [eax + 0x9c]
mov eax, dword [esp + 0x64]
add esi, eax
adc edx, ebx
add ecx, edi
mov ecx, dword [esp + 0x34]
adc ebp, ecx
mov ecx, dword [esp + 0x60]
add eax, ecx
adc ebp, ebx
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x1c]
cmp edx, eax
setl cl
sete bl
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
cmp esi, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [esp + 4]
and ebp, ebx
or ebp, ecx
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 8]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41fe9b
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0x18]
sub eax, ebx
mov ebx, dword [edx + 0x1c]
sbb ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0044d560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28]
mov dword [esp], edx
call fcn.0044d560
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0044c1a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call fcn.0044d560
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0044bf70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044d5f0
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x80], edx
add eax, edx
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x7c], ebp
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x50]
mov dword [esp], edi
call fcn.0044d4d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x40590000
mov dword [esp + 8], 0
call fcn.0044c1a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], 0x3ff00000
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
call fcn.0044ba70
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call fcn.0044d560
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0044bf70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044d5f0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
add eax, ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
adc eax, ecx
mov ecx, dword [esp + 0xc]
cmp ecx, eax
setl cl
sete dl
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x54]
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 0x41fe8b
mov ecx, eax
mov ebx, ebp
mov edi, dword [esp + 0x18]
mov eax, ebx
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
mov ebx, ecx
mov ecx, dword [esp + 0x3c]
cmp ebx, ecx
xchg ebp, ebx
setl bl
xchg ebp, ebx
sete cl
mov edi, dword [esp + 0x38]
cmp eax, edi
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ecx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x41ff16
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0044d560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x3ff19999
mov dword [esp + 8], 0x9999999a
call fcn.0044bf70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044d5f0
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
sub esi, ecx
mov ecx, dword [esp + 0x1c]
sbb edx, ecx
test edx, edx
setl cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp esi, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x41ff4c
xor edx, edx
mov esi, 0x3e8
mov ecx, dword [esp + 0x38]
sub eax, ecx
mov ecx, dword [esp + 0x3c]
sbb ebx, ecx
test ebx, ebx
setl cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test eax, eax
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebp
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x41ff7e
xor ebx, ebx
mov eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0044d560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x40]
mov dword [esp], ebx
call fcn.0044d560
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0044c1a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0044d560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x20]
mov dword [esp], edx
call fcn.0044d560
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.0044c1a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x8c]
lea ebx, [edx + 0xf8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 8], ebx
call fcn.00402110
mov eax, dword [esp + 0x8c]
add eax, 0x100
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00402110
add esp, 0x88
ret
call fcn.00462e70
jmp fcn.0041fab0