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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x41f750
sub esp, 0x98
mov eax, dword [esp + 0x9c]
test byte [eax], al
mov dword [esp], eax
call fcn.004020d0
mov eax, dword [esp + 4]
test eax, eax
jge 0x41f15e
mov eax, 0x186a0
mov dword [esp + 0x6c], eax
nop
mov ecx, dword [esp + 0x9c]
lea edx, [ecx + 0x50]
mov dword [esp], edx
call fcn.00402260
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 0x58]
mov dword [esp], ebx
call fcn.00402260
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 0x88]
mov dword [esp], ebx
call fcn.004020e0
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 0x90]
mov dword [esp], ebx
call fcn.004020e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x28]
adc eax, ecx
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x9c]
lea ebx, [ecx + 0x98]
mov dword [esp], ebx
call fcn.004020e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x8c]
adc eax, ecx
mov dword [esp + 0x3c], eax
nop
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
call fcn.004208a0
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 4]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + 0x68]
mov dword [esp], ebp
call fcn.00402260
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 0x78]
mov dword [esp + 0x94], ebx
mov dword [esp], ebx
call fcn.00402260
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
mov ebx, dword [esp + 0x18]
add ecx, ebx
mov ebx, dword [esp + 0x2c]
adc edx, ebx
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
add ecx, ebx
mov dword [esp + 0x48], ecx
adc edx, ebp
mov dword [esp + 0x4c], edx
nop
lea ebx, [eax + 0x70]
mov dword [esp], ebx
call fcn.00402260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x30]
adc ecx, edx
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call fcn.00402260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x8c]
adc eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
cmp ecx, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
cmp esi, edi
sete dl
setl al
and edx, ebp
or eax, edx
test al, al
jne 0x41f360
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
jmp 0x41f533
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [esp + 0x64]
sub ebx, ecx
mov ecx, dword [esp + 0x60]
sbb ecx, edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.0044e8a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call fcn.0044e8a0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0044d210
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x50]
mov dword [esp], ebx
call fcn.0044e8a0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0044cdd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044e980
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + 0x40]
mov ebp, dword [edx + 0x44]
add eax, ebx
mov dword [esp + 0x70], eax
adc ecx, ebp
mov dword [esp + 0x74], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
call fcn.0044e810
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.0044d210
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.0044c770
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x64]
mov dword [esp], edx
call fcn.0044e8a0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0044cdd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044e980
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
cmp ecx, eax
seta dl
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x74]
cmp ebx, ebp
sete bl
xchg esi, ebx
setl bl
xchg esi, ebx
and edx, ebx
or edx, esi
mov ebx, dword [esp + 0xc]
test dl, dl
jne 0x41f51f
mov ebx, ebp
mov eax, ecx
mov edi, dword [esp + 0x3c]
mov edx, eax
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov eax, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
cmp eax, ebp
xchg edi, ebx
setl bl
xchg edi, ebx
mov ebx, dword [esp + 0x24]
cmp edx, ebx
setb bl
cmp eax, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41f5b0
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044e8a0
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.0044cdd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044e980
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
sub ecx, ebx
mov ebx, dword [esp + 0x3c]
sbb esi, ebx
test esi, esi
setl bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ecx, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x41f5e6
xor esi, esi
mov ecx, 0x3e8
mov ebx, dword [esp + 0x24]
sub edx, ebx
mov ebx, dword [esp + 0x34]
sbb eax, ebx
test eax, eax
setl bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x41f618
xor eax, eax
mov edx, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 4], esi
mov dword [esp], ecx
call fcn.0044e8a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
call fcn.0044e8a0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0044d210
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp], edx
call fcn.0044e8a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0044e8a0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0044d210
mov eax, dword [esp + 0x14]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
nop
nop
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 0xe0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
call fcn.00402280
nop
nop
mov eax, dword [esp + 0x9c]
add eax, 0xe8
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.00402280
add esp, 0x98
ret
call fcn.004649b0
jmp fcn.0041f120