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

Disassembly:
mov ecx, dword [0x62920c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x420395
sub esp, 0xc4
mov eax, dword [esp + 0xc8]
test byte [eax], al
mov dword [esp], eax
call fcn.00402910
mov eax, dword [esp + 4]
test eax, eax
jge 0x41fcfc
mov eax, 0x186a0
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xc8]
lea edx, [ecx + 0x68]
lea ebx, [ecx + 0x70]
mov dword [esp + 0xc0], ebx
lea ebp, [ecx + 0xa0]
mov dword [esp + 0xbc], ebp
lea esi, [ecx + 0xa8]
mov dword [esp + 0xb8], esi
lea edi, [ecx + 0xb0]
mov dword [esp + 0xb4], edi
lea eax, [ecx + 0x80]
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x90]
mov dword [esp + 0xac], eax
lea eax, [ecx + 0x88]
mov dword [esp + 0xa8], eax
nop
mov dword [esp], edx
call fcn.00402aa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
call fcn.00402aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call fcn.00402920
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
call fcn.00402920
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0xb4]
mov dword [esp], edx
call fcn.00402920
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
nop
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
call fcn.00421640
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
call fcn.00402aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xac]
mov dword [esp], edx
call fcn.00402aa0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0xa4], ecx
mov edx, dword [eax + 0x7c]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x48], ebp
nop
mov esi, dword [esp + 0xa8]
mov dword [esp], esi
call fcn.00402aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xac]
mov dword [esp], edx
call fcn.00402aa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
adc ebx, ebp
mov ebp, dword [esp + 0x24]
add edx, ebp
mov dword [esp + 0x58], edx
mov ebp, dword [esp + 0x40]
adc ebx, ebp
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x20]
add ebp, esi
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x4c]
adc esi, edi
mov edi, dword [esp + 0x1c]
add ebp, edi
mov dword [esp + 0x68], ebp
mov edi, dword [esp + 0x48]
adc esi, edi
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
add edi, edx
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x50]
adc edx, ebp
add eax, edi
mov dword [esp + 0x70], eax
adc edx, ecx
mov dword [esp + 0x74], edx
cmp esi, ebx
sete cl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
cmp edi, eax
setb dl
and ecx, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x41ff64
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
jmp 0x420174
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x5c]
mov ebx, dword [esp + 0x84]
sub ebx, ecx
mov ecx, dword [esp + 0x80]
sbb ecx, edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.004507c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp], edx
call fcn.004507c0
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0044f600
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
call fcn.004507c0
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0044f1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00450850
mov eax, dword [esp + 8]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0x58]
mov dword [esp + 0x9c], ebx
mov ebp, dword [edx + 0x5c]
mov dword [esp + 0x98], ebp
mov esi, dword [esp + 0x8c]
mov dword [esp], esi
call fcn.00450770
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.0044f600
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.0044eb90
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
call fcn.004507c0
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.0044f1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00450850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x9c]
add edx, ebx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
adc ebx, ebp
cmp eax, ebx
sete al
xchg ebp, ebx
setl bl
xchg ebp, ebx
cmp edx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, eax
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x420162
mov ebx, dword [esp + 0xc]
jmp 0x420164
mov ecx, edx
mov edx, ecx
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ecx, ebx
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x54]
cmp ecx, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
setl bl
mov eax, dword [esp + 0x34]
cmp edx, eax
setb al
and ebp, eax
or ebx, ebp
test bl, bl
je 0x4201e9
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004507c0
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.0044f1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00450850
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
sub edi, eax
mov eax, dword [esp + 0x5c]
sbb esi, eax
test esi, esi
setl al
sete bl
cmp edi, 0x3e8
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x42021b
xor esi, esi
mov edi, 0x3e8
mov eax, dword [esp + 0x34]
sub edx, eax
mov eax, dword [esp + 0x54]
sbb ecx, eax
test ecx, ecx
setl al
sete bl
test edx, edx
xchg ebp, ebx
setbe bl
xchg ebp, ebx
and ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x420249
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x78], edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004507c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
call fcn.004507c0
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0044f600
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call fcn.004507c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x60]
mov dword [esp], edx
call fcn.004507c0
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.0044f600
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0xc8]
lea ebx, [edx + 0xf8]
add edx, 0x100
mov dword [esp + 0xc0], edx
nop
nop
mov dword [esp], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 4], ebx
call fcn.00402ac0
nop
nop
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.00402ac0
add esp, 0xc4
ret
call fcn.00468500
jmp fcn.0041fcc0