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

Disassembly:
push ebp
push edi
mov ebp, edx
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x74]
lea edx, [eax + 1]
test ecx, ecx
mov dword [ebp], edx
je 0x47c0e0
cmp byte [eax + 1], 0x7a
je 0x47c045
mov eax, ebp
call fcn.0047a420
test eax, eax
mov ebx, eax
mov dword [esp + 0x34], eax
jle 0x47c2c0
mov edx, dword [ebp]
mov dword [esp], edx
mov dword [esp + 0x1c], edx
call sub.msvcrt.dll_strlen
cmp ebx, eax
jg 0x47c2c0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
test byte [eax], 4
je 0x47c472
mov edi, 0x4cd682
mov ecx, 8
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47c472
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x47c5a1
add ebx, edx
mov dword [ebp], ebx
lea edx, [esp + 0x34]
mov eax, ebp
call fcn.0047a470
test eax, eax
je 0x47c2c0
mov eax, dword [esp + 0x34]
test eax, eax
jg 0x47c5f3
xor esi, esi
mov eax, dword [esp + 0x18]
mov edx, 0x4cd690
call fcn.0047abb0
jmp 0x47c274
lea edx, [eax + 2]
mov dword [ebp], edx
cmp byte [eax + 2], 0
je 0x47c2c0
add eax, 3
mov dword [ebp], eax
mov eax, ebp
call fcn.0047a8b0
cmp eax, 0xffffffff
mov ebx, eax
je 0x47c2c0
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x47c081
cmp ebx, dword [eax + 0x44]
jge 0x47c2c0
mov eax, ebp
call fcn.0047a8b0
cmp eax, 0xffffffff
je 0x47c2c0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x47c5cc
mov edx, dword [eax + ebx*4]
test edx, edx
je 0x47c0e0
cmp byte [edx], 0
je 0x47c0e0
mov eax, dword [esp + 0x18]
call fcn.0047abb0
mov edi, dword [esp + 0x70]
test edi, edi
je 0x47c0e0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + ebx*4]
test edx, edx
je 0x47c0e0
cmp byte [edx], 0
je 0x47c0e0
mov eax, dword [esp + 0x70]
call fcn.0047abb0
lea esi, [esi]
mov eax, dword [esp + 0x18]
mov edx, 0x4cd68b
call fcn.0047abb0
lea edx, [esp + 0x34]
mov eax, ebp
call fcn.0047a470
test eax, eax
je 0x47c2c0
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x47c420
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], 0
test edx, edx
jle 0x47c538
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
test edx, edx
mov dword [esp + 0x1c], eax
je 0x47c465
mov eax, dword [ebp]
xor ebx, ebx
mov edi, dword [esp + 0x28]
movzx edx, byte [eax]
cmp dl, 0x5a
je 0x47c204
lea esi, [esi]
cmp dl, 0x7a
je 0x47c2d0
lea ecx, [esp + 0x38]
mov edx, ebp
mov eax, edi
call fcn.0047cab0
mov esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x47c190
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
test esi, esi
je 0x47c4d0
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x47c1b8
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp], esi
mov edx, ebp
mov eax, edi
call fcn.0047b8d0
test eax, eax
mov esi, eax
je 0x47c4a2
mov eax, dword [esp + 0x74]
test eax, eax
je 0x47c350
add ebx, 1
cmp ebx, dword [esp + 0x34]
jge 0x47c249
mov eax, dword [esp + 0x18]
mov edx, 0x4cd68d
call fcn.0047abb0
mov eax, dword [ebp]
movzx edx, byte [eax]
cmp dl, 0x5a
jne 0x47c150
add eax, 1
lea ecx, [esp + 0x38]
mov edx, ebp
mov dword [ebp], eax
mov eax, edi
call fcn.0047cab0
test eax, eax
mov esi, eax
jne 0x47c3d0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x47c249
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x47c032
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp byte [eax - 1], 0x3e
je 0x47c53f
mov eax, dword [esp + 0x18]
mov edx, 0x4cd693
call fcn.0047abb0
mov ebp, dword [esp + 0x74]
test ebp, ebp
je 0x47c2c2
mov edi, dword [esp + 0x78]
test edi, edi
je 0x47c2c2
mov eax, dword [esp + 0x28]
call fcn.0047a6a0
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
cmp edx, ecx
je 0x47c5c5
sub ecx, edx
mov eax, dword [esp + 0x28]
mov dword [esp], ebx
add eax, 0xc
call fcn.0047aa30
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
xor esi, esi
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x18]
add eax, 1
mov edx, ebp
mov dword [ebp], eax
mov eax, edi
call fcn.0047e420
test eax, eax
mov esi, eax
je 0x47c249
mov eax, ebp
call fcn.0047a420
test eax, eax
mov dword [esp + 0x20], eax
jle 0x47c1de
mov eax, dword [ebp]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp dword [esp + 0x20], eax
jg 0x47c1de
mov eax, dword [esp + 0x18]
mov edx, 0x4cd67e
call fcn.0047abb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp]
call fcn.0047ab00
mov eax, dword [esp + 0x74]
test eax, eax
je 0x47c552
mov eax, dword [esp + 0x20]
add dword [ebp], eax
jmp 0x47c1de
mov edx, dword [esp + 0x48]
sub edx, dword [esp + 0x44]
mov eax, dword [edi + 0x40]
lea ecx, [eax + ebx*4]
lea eax, [edx + 1]
mov dword [esp + 0x20], edx
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.00490960
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [edi + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + ebx*4]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004a73c8
mov eax, dword [edi + 0x40]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + ebx*4]
mov byte [eax + edx], 0
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x44]
mov ecx, dword [esp + 0x48]
call fcn.0047ace0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x47c1de
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x47c1de
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x38]
call fcn.0047ace0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x47c4e0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x47c1de
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
jmp 0x47c1de
mov eax, dword [esp + 0x34]
shl eax, 2
mov dword [esp], eax
call fcn.00490960
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
test edx, edx
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], edx
jle 0x47c538
lea edx, [eax + edx*4]
nop
lea esi, [esi]
mov dword [eax], 0
add eax, 4
cmp eax, edx
jne 0x47c450
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x44]
mov dword [esp + 0x1c], eax
jmp 0x47c135
mov eax, dword [esp + 0x18]
mov ecx, ebx
call fcn.0047ab00
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x47c600
mov ebx, dword [esp + 0x34]
xor esi, esi
mov edx, dword [ebp]
test ebx, ebx
jne 0x47c5a6
mov dword [ebp], edx
jmp 0x47c0e0
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x47c4d0
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
test eax, eax
je 0x47c4d0
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi], 0
xor esi, esi
jmp 0x47c249
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x38]
mov eax, dword [edi + 0x40]
lea ecx, [eax + ebx*4]
lea eax, [edx + 1]
mov dword [esp + 0x20], edx
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.00490960
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [edi + 0x40]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ebx*4]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004a73c8
mov eax, dword [edi + 0x40]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + ebx*4]
mov byte [eax + edx], 0
jmp 0x47c3ed
xor esi, esi
jmp 0x47c255
mov eax, dword [esp + 0x18]
mov edx, 0x4cd67e
call fcn.0047abb0
jmp 0x47c266
mov eax, dword [edi + 0x40]
lea edx, [eax + ebx*4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
add eax, 1
mov dword [esp], eax
call fcn.00490960
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [edx], eax
mov eax, dword [edi + 0x40]
mov edx, dword [ebp]
mov eax, dword [eax + ebx*4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a73c8
mov eax, dword [edi + 0x40]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ebx*4]
mov byte [eax + ecx], 0
jmp 0x47c33f
mov esi, 1
mov eax, dword [esp + 0x70]
mov ecx, ebx
call fcn.0047ab00
mov eax, dword [esp + 0x34]
add dword [ebp], eax
test esi, esi
jne 0x47c011
jmp 0x47c0e0
xor ecx, ecx
jmp 0x47c2a2
mov eax, dword [esp + 0x18]
mov edx, ebx
call fcn.0047abf0
mov esi, dword [esp + 0x70]
test esi, esi
je 0x47c0e0
mov eax, dword [esp + 0x70]
mov edx, ebx
call fcn.0047abf0
jmp 0x47c0e0
mov dword [esp + 0x2c], 1
jmp 0x47c121
mov eax, dword [esp + 0x34]
add dword [ebp], eax
jmp 0x47c0e0