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

Disassembly:
push ebp
mov ebp, ecx
push edi
mov edi, eax
push esi
push ebx
mov ebx, edx
sub esp, 0x4c
mov eax, dword [edx + 0x94]
or byte [edx + 0x14], 0x10
mov edx, dword [eax + 0xc0]
test edx, edx
je 0x4271ab
test byte [edx + 0x14], 0x10
je 0x427378
mov eax, 1
test byte [ebx + 0x10], 4
je 0x427389
mov edx, dword [ebx + 0x50]
test edx, edx
je 0x427389
mov esi, dword [ebx + 0x9c]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xa4]
mov eax, dword [eax + 0x178]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x354]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0x368]
test eax, eax
jne 0x427398
mov eax, dword [ecx + 0xa4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0xb8]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x427420
mov eax, dword [esp + 0x24]
test eax, eax
je 0x427420
mov dword [esp + 8], eax
lea eax, [ecx + 0x78]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x2c], ecx
call fcn.0042ee80
mov ecx, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x28], eax
je 0x427387
movzx eax, byte [edi + 1]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
shr al, 5
mov dword [esp + 4], ebx
and eax, 1
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
call fcn.00423a80
mov ecx, dword [esp + 0x2c]
test eax, eax
mov edx, eax
je 0x427498
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xd4]
movzx eax, byte [eax + 9]
imul eax, dword [ebx + 0x50]
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
mov dword [esp + 0x20], eax
cmp edx, eax
jae 0x4273c8
mov dword [esp + 0x2c], ebp
mov esi, edx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
jmp 0x42734b
mov ecx, dword [esp + 0x28]
mov edx, eax
shl edx, 5
add edx, ecx
movzx ecx, byte [edx + 0x14]
shr cl, 4
jne 0x42735a
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edi
mov dword [esp], ebx
call eax
mov edx, eax
test eax, eax
je 0x427340
movzx eax, byte [eax + 0x14]
test al, 0x10
jne 0x427340
mov ecx, dword [edx + 0x9c]
mov ecx, dword [ecx + 8]
cmp dword [ecx + 4], 5
je 0x427460
or eax, 0x10
mov byte [edx + 0x14], al
lea esi, cs:[esi]
mov eax, dword [esp + 0x20]
add esi, 0x18
cmp esi, eax
jae 0x4273c0
mov eax, dword [esi + 9]
test eax, eax
je 0x427340
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jb 0x4272e0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], 0
sub eax, ecx
mov eax, dword [ebp + eax*4]
mov dword [esp + 0xc], eax
jmp 0x427300
mov eax, edi
call fcn.00427180
test eax, eax
jne 0x4271ab
xor eax, eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ecx + 0x90]
mov edx, dword [ecx + 0x94]
mov dword [esp + 0x30], 0
shrd eax, edx, 4
mov dword [esp + 0x24], eax
jmp 0x427204
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, 1
mov ebx, dword [ebx + 0x94]
cmp dword [ebx + 0xb0], edx
je 0x4273f3
mov dword [esp], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call sub.msvcrt.dll_free
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x427389
mov esi, dword [esp + 0x28]
cmp dword [ecx + 0xb8], esi
je 0x427389
test byte [edi + 1], 0x20
je 0x427480
mov edi, dword [esp + 0x28]
mov dword [ecx + 0xb8], edi
jmp 0x427389
movzx eax, byte [edi + 1]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
shr al, 5
mov dword [esp + 4], ebx
and eax, 1
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
call fcn.00423a80
mov ecx, dword [esp + 0x2c]
test eax, eax
mov edx, eax
jne 0x4272a5
xor eax, eax
jmp 0x4273f3
mov ecx, dword [esp + 0x2c]
mov eax, edi
call fcn.00427180
test eax, eax
jne 0x427340
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
jmp 0x4273cd
mov dword [esp], esi
mov dword [esp + 0x20], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x20]
jmp 0x427389
xor eax, eax
jmp 0x4273fb