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

Disassembly:
mov eax, 0x42923d
call fcn.0041e758
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 + 0x6c]
lea eax, [ebx + 0x70]
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 + 0x68]
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], 0x4305fc
mov dword [esp + 0x68], 0x26
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], 0x430610
mov dword [esp + 0x88], 0x430628
mov dword [esp + 0x98], 0x1b
mov dword [esp + 0xa0], 0x430638
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0xffffffe8
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], 0x430644
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0xfffffff4
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], 0x430654
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0xffffffec
mov dword [esp + 0xe8], 0x430664
call fcn.0040e151
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 + 0x11c], eax
je 0x401b43
mov eax, dword [edi - 8]
test eax, eax
je 0x401a51
cmp dword [eax], 0
jne 0x401b43
mov eax, dword [edi]
test eax, eax
je 0x401a60
cmp dword [eax], 0
jne 0x401b43
mov edx, dword [edi + 0xc]
lea ecx, [esp + 0x2c]
call fcn.0040dfba
and dword [esp + 0xf8], 0
jmp 0x401a88
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x40], ebp
jae 0x401a84
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.0040235b
cmp eax, 0xffffffff
jne 0x401a76
cmp dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
jae 0x401ab5
lea ebp, [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov eax, edx
test ebx, ebx
je 0x401b23
movzx ecx, byte [ebp]
mov dword [esp + 0x24], ecx
cmp edx, ebx
jb 0x401b01
sub eax, ebx
inc eax
push eax
push ecx
push esi
call fcn.0041d790
mov esi, eax
add esp, 0xc
test esi, esi
je 0x401b01
push ebx
push ebp
push esi
call fcn.0041bf84
add esp, 0xc
test eax, eax
je 0x401b03
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
inc esi
sub eax, esi
add eax, dword [esp + 0x1c]
cmp eax, ebx
jae 0x401acb
xor esi, esi
test esi, esi
je 0x401b23
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x401b15
mov eax, dword [edi - 4]
add eax, esi
mov dword [ecx], eax
mov ecx, dword [edi]
test ecx, ecx
je 0x401b23
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.00402217
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 0x401a32
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 4