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

Disassembly:
mov eax, 0x429179
call fcn.0041e61c
sub esp, 0xe0
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x28], ebx
and dword [esp + 0x8c], 0
and dword [esp + 0x90], 0
push 0x20
pop esi
xor ecx, ecx
push 0x10
pop ebp
lea edx, [ebx + 0x68]
lea eax, [ebx + 0x6c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x94], edx
xor edx, edx
push 4
pop ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
lea eax, [ebx + 0x64]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x104]
mov edx, str..text
mov dword [esp + 0x48], 0xfffffff5
mov dword [esp + 0x50], 0x1d
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], 0x4305e8
mov dword [esp + 0x68], 0x26
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], 0x4305fc
mov dword [esp + 0x88], 0x430614
mov dword [esp + 0x98], 0x1b
mov dword [esp + 0xa0], 0x430624
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0xffffffe8
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], 0x430630
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0xfffffff4
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], 0x430640
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0xffffffec
mov dword [esp + 0xe8], 0x430650
call fcn.0040e14c
mov esi, dword [eax + 0xc]
add esi, dword [esp + 0x104]
mov eax, dword [eax + 8]
xor ecx, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
lea edi, [esp + 0x4c]
mov eax, dword [edi + 8]
test dword [ebx + 0x118], eax
je 0x401abd
mov eax, dword [edi - 8]
test eax, eax
je 0x4019cb
cmp dword [eax], 0
jne 0x401abd
mov eax, dword [edi]
test eax, eax
je 0x4019da
cmp dword [eax], 0
jne 0x401abd
mov edx, dword [edi + 0xc]
lea ecx, [esp + 0x2c]
call fcn.0040dfb5
and dword [esp + 0xf8], 0
jmp 0x401a02
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x40], ebp
jae 0x4019fe
lea ecx, [esp + 0x2c]
mov byte [ecx + eax], 0
push 1
push ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x20], 0xcc
call fcn.004022a5
cmp eax, 0xffffffff
jne 0x4019f0
cmp dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
jae 0x401a2f
lea ebp, [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov eax, edx
test ebx, ebx
je 0x401a9d
movzx ecx, byte [ebp]
mov dword [esp + 0x24], ecx
cmp edx, ebx
jb 0x401a7b
sub eax, ebx
inc eax
push eax
push ecx
push esi
call fcn.0041d6f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x401a7b
push ebx
push ebp
push esi
call fcn.0041bee4
add esp, 0xc
test eax, eax
je 0x401a7d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
inc esi
sub eax, esi
add eax, dword [esp + 0x1c]
cmp eax, ebx
jae 0x401a45
xor esi, esi
test esi, esi
je 0x401a9d
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x401a8f
mov eax, dword [edi - 4]
add eax, esi
mov dword [ecx], eax
mov ecx, dword [edi]
test ecx, ecx
je 0x401a9d
mov eax, dword [edi + 4]
mov eax, dword [esi + eax]
mov dword [ecx], eax
or dword [esp + 0xf8], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.00402161
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
push 0x10
pop ebp
add ecx, 0x18
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp ecx, 0xa8
jb 0x4019ac
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 4