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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
xor eax, eax
mov edi, SysReAllocString
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x18], edi
call fcn.0041bc92
push eax
push dword [esi + 0x1c4]
push 0x200000c8
push 1
call fcn.0040c33a
add esp, 0x10
lea ecx, [ebp - 0x24]
lea eax, [esi + 0xa8]
push ecx
push eax
call fcn.00416c98
mov ebx, eax
test ebx, ebx
jns 0x41875f
push 0x4423d4
jmp 0x418cb2
mov eax, dword [esi + 0xb8]
push dword [esi + 0x1c4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x38]
push eax
push 1
lea eax, [esi + 0xa8]
push eax
call fcn.00416d70
mov ebx, eax
test ebx, ebx
jns 0x4187a0
push ebx
push 0x157
push 0x441888
call fcn.004314ce
push 0x4423bc
jmp 0x418cb2
lea eax, [esi + 0x1b8]
push eax
lea ebx, [esi + 0x208]
push ebx
call fcn.0041df94
mov eax, dword [esi + 0xf4]
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x20c], eax
lea eax, [esi + 0x78]
push eax
push ecx
mov dword [ebx], ecx
call fcn.0041d5c0
mov ebx, eax
test ebx, ebx
jns 0x4187de
push 0x4423a2
jmp 0x418cb2
xor eax, eax
cmp dword [esi + 0xf0], eax
jne 0x4187ee
cmp dword [esi + 0x30], 4
jne 0x4187f1
xor eax, eax
inc eax
mov dword [esi + 0x214], eax
lea eax, [esi + 0x1f0]
push eax
lea eax, [esi + 0x1c]
push eax
push dword [ebp + 0xc]
lea ecx, [esi + 0xe8]
push ecx
call fcn.0041d94e
mov ebx, eax
test ebx, ebx
jns 0x418821
push 0x442384
jmp 0x418cb2
lea eax, [esi + 0x208]
push eax
push esi
call fcn.00427c0c
mov ebx, eax
test ebx, ebx
jns 0x41883e
push 0x442350
jmp 0x418cb2
cmp dword [ebp + 0xc], 2
jne 0x41887b
lea eax, [ebp - 0x10]
push eax
lea eax, [esi + 0x1b0]
push eax
lea eax, [esi + 0x78]
push eax
push dword [esi + 0x4c]
lea eax, [esi + 0x208]
push dword [esi + 0x48]
push dword [esi + 0x12c]
push eax
call fcn.0041eb30
mov ebx, eax
test ebx, ebx
jns 0x41888e
push 0x442326
jmp 0x418cb2
cmp dword [esi + 0xe8], 0
je 0x41888e
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x244]
and dword [ebp + 8], 0
cmp dword [esi + 0x1c4], 0
mov dword [ebp - 0x28], eax
jbe 0x418ad7
cmp dword [ebp + 0xc], 3
jne 0x4188ba
mov edi, dword [esi + 0x1c4]
sub edi, dword [ebp + 8]
dec edi
jmp 0x4188bd
mov edi, dword [ebp + 8]
imul edi, edi, 0xc8
add edi, dword [esi + 0x1c0]
cmp dword [ebp + 0xc], 3
jne 0x4188d4
mov eax, dword [edi + 0x3c]
jmp 0x4188d7
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x418919
cmp dword [ebp - 0x1c], 0
je 0x4188fa
lea eax, [esi + 0x208]
push eax
call fcn.0041e41a
mov ebx, eax
test ebx, ebx
js 0x418b37
push dword [ebp - 0x14]
lea eax, [esi + 0x208]
push eax
call fcn.0041d8e0
mov ebx, eax
test ebx, ebx
js 0x418bee
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x4c]
push eax
push dword [esi + 0x38]
lea eax, [esi + 0x78]
push dword [edi + 0xc]
push eax
push dword [ebp + 0xc]
xor eax, eax
cmp dword [edi + 0x18], eax
sete al
push eax
push dword [edi + 0x40]
push dword [edi + 0x80]
call fcn.0041e07a
mov ebx, eax
test ebx, ebx
js 0x418b41
mov eax, dword [edi + 0x4c]
lea ecx, [edi + 0x50]
push ecx
push dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 0xb8]
mov edx, dword [eax]
push eax
call dword [edx + 0x40]
push eax
push 1
lea eax, [esi + 0xa8]
push eax
call fcn.00416d70
mov ebx, eax
test ebx, ebx
js 0x418b4b
cmp dword [edi + 0x50], 0
je 0x418a30
cmp dword [ebp + 0xc], 2
jne 0x4189af
push dword [ebp - 0x10]
lea eax, [esi + 0x208]
push edi
push eax
call fcn.0041ecd0
mov ebx, eax
test ebx, ebx
jns 0x418a7e
push 0x442306
jmp 0x418cb2
cmp dword [edi + 0x18], 0
je 0x4189c7
cmp dword [ebp - 8], 0x80000000
jne 0x4189c7
mov eax, dword [esi + 0x24c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x128]
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1f0]
push eax
push edi
lea eax, [esi + 0x208]
push eax
lea eax, [esi + 0xa8]
push eax
push dword [esi + 0x20]
push dword [esi + 0xe8]
call fcn.0041f090
mov ebx, eax
test ebx, ebx
js 0x418b65
cmp dword [edi + 0x18], 0
je 0x418a7e
cmp dword [ebp - 4], 0x80000000
jne 0x418a1c
mov eax, dword [esi + 0x244]
dec eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x244]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 0x18], eax
jmp 0x418a7e
cmp dword [ebp + 0xc], 2
je 0x418a7e
push dword [esi + 0x128]
lea eax, [esi + 0x208]
push eax
push edi
push dword [esi + 0xe8]
push 0
call fcn.00427ca2
mov ebx, eax
test ebx, ebx
js 0x418b6f
push dword [esi + 0x128]
lea eax, [esi + 0x208]
push eax
push edi
push dword [esi + 0xe8]
call fcn.00427ede
mov ebx, eax
test ebx, ebx
js 0x418b78
xor eax, eax
cmp dword [edi + 0x5c], eax
jne 0x418a8f
cmp dword [edi + 0x60], eax
jne 0x418a8f
cmp dword [edi + 0x64], eax
je 0x418aa5
lea eax, [esi + 0x208]
push eax
call fcn.0041e41a
mov ebx, eax
test ebx, ebx
js 0x418b8d
push dword [edi + 0x60]
mov eax, dword [esi + 0xb8]
push dword [edi + 0x5c]
mov ecx, dword [eax]
push dword [edi + 0x50]
push dword [edi + 0x40]
push ebx
push dword [edi]
push eax
call dword [ecx + 0x4c]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x1c4]
jb 0x4188a8
mov edi, SysReAllocString
cmp dword [esi + 0xf0], 0
jne 0x418b97
cmp dword [ebp + 0xc], 4
je 0x418afa
cmp dword [ebp + 0xc], 5
je 0x418afa
cmp dword [ebp + 0xc], 6
jne 0x418b97
cmp dword [ebp - 4], edi
jne 0x418b11
mov eax, dword [esi + 0x244]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 8], eax
push dword [ebp - 8]
lea eax, [esi + 0x208]
push dword [ebp - 4]
push eax
call fcn.0041d7e4
mov ebx, eax
test ebx, ebx
jns 0x418bd6
push 0x4422dc
jmp 0x418cb2
push 0x4422b0
jmp 0x418cb2
push 0x44228a
jmp 0x418cb2
push ebx
push 0x19e
push 0x441888
call fcn.004314ce
push 0x44226a
jmp 0x418cb2
push 0x44224a
jmp 0x418cb2
push dword [edi]
push 0x44220c
jmp 0x418b7f
push dword [edi]
push 0x4421d0
push ebx
call fcn.004314ba
add esp, 0xc
jmp 0x418cd8
push 0x4421aa
jmp 0x418cb2
cmp dword [ebp + 0xc], 3
jne 0x418bd6
cmp dword [ebp - 0xc], edi
jne 0x418bb4
mov eax, dword [esi + 0x244]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [esi + 0x208]
push dword [ebp - 0xc]
push eax
call fcn.0041d862
mov ebx, eax
test ebx, ebx
jns 0x418bd6
push 0x44217c
jmp 0x418cb2
cmp dword [ebp - 0x1c], 0
je 0x418bf8
lea eax, [esi + 0x208]
push eax
call fcn.0041e41a
mov ebx, eax
test ebx, ebx
jns 0x418bf8
push 0x442154
jmp 0x418cb2
lea edi, [esi + 0x208]
push edi
call fcn.0041e7d0
mov ebx, eax
test ebx, ebx
jns 0x418c14
push 0x442124
jmp 0x418cb2
and dword [ebp + 8], 0
cmp dword [esi + 0x1c4], 0
jbe 0x418c60
cmp dword [ebp + 0xc], 3
jne 0x418c33
mov eax, dword [esi + 0x1c4]
sub eax, dword [ebp + 8]
dec eax
jmp 0x418c36
mov eax, dword [ebp + 8]
imul eax, eax, 0xc8
add eax, dword [esi + 0x1c0]
push eax
push edi
push dword [ebp + 0xc]
call fcn.0041d5f2
mov ebx, eax
test ebx, ebx
js 0x418cbc
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x1c4]
jb 0x418c21
cmp dword [ebp + 0xc], 2
je 0x418cc3
push dword [ebp - 0x28]
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x128]
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1f0]
push eax
push edi
push dword [esi + 0x124]
lea eax, [esi + 0x198]
push dword [esi + 0x120]
push eax
lea eax, [esi + 0xa8]
push eax
push dword [ebp + 0xc]
push dword [esi + 0xe8]
call fcn.0041e156
mov ebx, eax
test ebx, ebx
jns 0x418cc3
push 0x442104
push ebx
call fcn.004314ba
pop ecx
pop ecx
jmp 0x418cd8
push 0x4420e6
jmp 0x418cb2
push dword [ebp + 0xc]
lea eax, [esi + 0x1b8]
lea edi, [esi + 0x198]
push eax
call fcn.00417fd2
cmp dword [ebp - 0x24], 0
je 0x418cea
lea eax, [esi + 0xa8]
push eax
call fcn.00416966
mov esi, dword [esi + 0xb8]
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x50]
push ebx
push 0x2000012b
push 1
call fcn.0040c33a
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x418d15
push dword [ebp - 0x10]
call fcn.0042ead8
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 8