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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x41df68
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
test byte [eax], al
mov dword [esp], eax
call fcn.00402050
mov eax, dword [esp + 4]
test eax, eax
jge 0x41d8de
mov eax, 0x186a0
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + 0x80]
mov dword [esp], edx
call fcn.004021c0
mov eax, dword [esp + 0xb4]
lea ecx, [eax + 0x88]
mov edx, dword [esp + 4]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x54], ebx
mov dword [esp], ecx
call fcn.004021c0
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xb4]
lea ebx, [edx + 0xb8]
mov dword [esp], ebx
call fcn.00402060
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xb4]
lea ebx, [edx + 0xc0]
mov dword [esp], ebx
call fcn.00402060
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [esp + 8]
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0xb4]
lea esi, [ebp + 0xc8]
mov dword [esp], esi
call fcn.00402060
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 8]
mov dword [esp + 0x2c], ebx
nop
mov ebp, dword [esp + 0xb4]
mov dword [esp], ebp
call fcn.0041f1f0
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x90]
mov dword [esp + 0xa4], ecx
mov edx, dword [eax + 0x98]
mov dword [esp + 0xa0], edx
add ecx, edx
mov dword [esp + 0x9c], ecx
mov ebp, dword [eax + 0xa8]
mov dword [esp + 0x98], ebp
add ecx, ebp
mov dword [esp + 0x40], ecx
mov edi, dword [eax + 0x94]
mov dword [esp + 0x94], edi
mov ecx, dword [eax + 0x9c]
mov dword [esp + 0x90], ecx
mov ebp, dword [eax + 0xac]
mov dword [esp + 0x8c], ebp
lea ebp, [eax + 0xa0]
mov esi, dword [esp + 8]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x64], esi
mov dword [esp], ebp
call fcn.004021c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov edx, eax
add eax, ecx
mov dword [esp + 0x88], eax
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0xa8]
mov esi, ebp
add ebp, eax
mov dword [esp + 0x84], ebp
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
add edi, ebp
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
adc ebp, edi
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xa8]
add edi, eax
mov eax, dword [esp + 0x2c]
adc ebp, eax
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
add eax, edi
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
adc eax, edi
mov edi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
add edi, ebp
mov ebp, dword [esp + 0x8c]
adc eax, ebp
mov ebp, dword [esp + 8]
add edx, ecx
mov ecx, dword [esp + 0x4c]
adc ebp, ecx
mov ecx, dword [ebx + 0xac]
mov edx, dword [esp + 0x88]
add esi, edx
adc ecx, ebp
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
cmp edx, ebp
xchg esi, ebx
setb bl
xchg esi, ebx
mov edi, dword [esp + 0x34]
cmp eax, edi
sete cl
setl bl
and ecx, esi
or ebx, ecx
test bl, bl
jne 0x41db31
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
jmp 0x41dd44
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x70]
mov edx, dword [esp + 0x64]
sub edx, ecx
mov ecx, dword [eax + 0x74]
mov ebp, dword [esp + 0x60]
sbb ebp, ecx
mov dword [esp + 4], ebp
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.0044a060
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
call fcn.0044b310
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00449be0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044b3a0
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0x70]
mov dword [esp + 0xa4], edx
add eax, edx
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 0xa0], ebp
mov esi, dword [ecx + 0x74]
mov dword [esp + 0x9c], esi
mov edi, dword [esp + 0x6c]
mov dword [esp], edi
call fcn.0044b2c0
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.0044a060
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.00449570
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x64]
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00449be0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044b3a0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
add eax, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
adc eax, ecx
mov ecx, dword [esp + 0xc]
cmp ecx, eax
setl cl
sete dl
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x70]
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 0x41dd31
mov ecx, eax
mov ebx, ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x50]
cmp ebx, esi
xchg esi, ebx
setb bl
xchg esi, ebx
mov edi, dword [esp + 0x54]
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
xchg ebp, ebx
setl bl
xchg ebp, ebx
and edi, esi
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41ddc6
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.0044b310
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.00449be0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044b3a0
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x30]
sub edx, ebp
mov ebp, dword [esp + 0x34]
sbb eax, ebp
test eax, eax
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x41de00
xor eax, eax
mov edx, 0x3e8
mov ebp, dword [esp + 0x50]
sub ebx, ebp
mov ebp, dword [esp + 0x54]
sbb ecx, ebp
test ecx, ecx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test ebx, ebx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x41de36
xor ecx, ecx
mov ebx, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
call fcn.0044b310
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.0044a060
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x38]
mov dword [esp], edx
call fcn.0044b310
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.0044a060
mov eax, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
nop
nop
mov edx, dword [esp + 0xb4]
lea ebx, [edx + 0x110]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
call fcn.004021e0
nop
nop
mov eax, dword [esp + 0xb4]
add eax, 0x118
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.004021e0
add esp, 0xb0
ret
call fcn.0045f7f0
jmp fcn.0041d8a0