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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x655c80
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x6a9fa4]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x24]
mov dword [edi + 0x40], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x1f], bl
call fcn.00405380
push ebx
lea ecx, [edi + 0x44]
push 0x660424
call fcn.00404f80
mov esi, dword [ebp + 8]
push esi
mov ecx, edi
call fcn.005c2200
test al, al
jne 0x5c1028
mov ebx, esi
lea esi, [esp + 0x58]
call fcn.005b5f30
push eax
mov edx, str.Unable_to_open_file:
lea esi, [esp + 0x24]
mov dword [esp + 0x84], 0
call fcn.00548740
add esp, 4
mov byte [esp + 0x80], 1
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x24]
mov ecx, edi
call eax
mov esi, 8
cmp dword [esp + 0x38], esi
mov bl, al
jb 0x5c0feb
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0062414c
add esp, 4
xor eax, eax
cmp dword [esp + 0x70], esi
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], eax
mov word [esp + 0x24], ax
jb 0x5c1011
mov edx, dword [esp + 0x5c]
push edx
call fcn.0062414c
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
mov ecx, edi
call edx
test al, al
jne 0x5c130d
lea esp, [esp]
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
mov byte [esp + 0x19], bl
mov byte [esp + 0x18], 1
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], bl
mov byte [esp + 0x15], bl
mov byte [esp + 0x1a], bl
call edx
cmp eax, 2
je 0x5c11fa
cmp eax, 1
je 0x5c1232
cmp eax, ebx
jne 0x5c129d
mov eax, dword [esp + 0x18]
cmp ax, 0xd
je 0x5c11d3
cmp ax, 0xa
jne 0x5c109c
add dword [esp + 0x1c], 1
jmp 0x5c10b3
cmp ax, 0x20
je 0x5c10a8
cmp ax, 9
jne 0x5c10b3
cmp byte [esp + 0x14], bl
je 0x5c10fb
mov byte [esp + 0x16], 1
cmp byte [esp + 0x14], bl
je 0x5c10fb
cmp ax, 0x20
je 0x5c11d3
cmp ax, 9
je 0x5c11d3
cmp ax, 0xa
je 0x5c11d3
test byte [edi + 0x20], 2
je 0x5c10ec
cmp byte [esp + 0x16], bl
jne 0x5c10ec
cmp dword [edi + 0x58], ebx
ja 0x5c11ec
cmp ax, 0x23
jne 0x5c10f7
mov byte [esp + 0x15], 1
mov byte [esp + 0x14], bl
cmp ax, 0xa
jne 0x5c111d
cmp byte [esp + 0x15], bl
mov byte [esp + 0x16], bl
mov byte [esp + 0x14], 1
je 0x5c119f
mov byte [esp + 0x15], bl
jmp 0x5c11d3
cmp byte [esp + 0x15], bl
jne 0x5c11d3
cmp ax, 0x5c
jne 0x5c1149
cmp byte [esp + 0x12], bl
jne 0x5c1139
cmp byte [esp + 0x13], bl
je 0x5c119f
cmp byte [esp + 0x11], bl
jne 0x5c11a5
mov byte [esp + 0x11], 1
jmp 0x5c11d3
cmp ax, 0x27
jne 0x5c1168
cmp byte [esp + 0x13], bl
jne 0x5c119f
cmp byte [esp + 0x11], bl
jne 0x5c11a5
cmp byte [esp + 0x12], bl
sete cl
mov byte [esp + 0x12], cl
jmp 0x5c11b9
cmp ax, 0x22
jne 0x5c1187
cmp byte [esp + 0x12], bl
jne 0x5c119f
cmp byte [esp + 0x11], bl
jne 0x5c11a5
cmp byte [esp + 0x13], bl
sete dl
mov byte [esp + 0x13], dl
jmp 0x5c11b9
cmp ax, 0x3b
jne 0x5c119f
test byte [edi + 0x20], 1
je 0x5c119f
cmp byte [esp + 0x12], bl
jne 0x5c119f
cmp byte [esp + 0x13], bl
je 0x5c11fa
cmp byte [esp + 0x11], bl
je 0x5c11b9
push 0x5c
push 1
lea ecx, [edi + 0x44]
call fcn.0045d5b0
mov eax, dword [esp + 0x18]
mov byte [esp + 0x11], bl
cmp dword [edi + 0x58], ebx
jne 0x5c11c8
mov ecx, dword [esp + 0x1c]
add ecx, 1
mov dword [edi + 0x40], ecx
push eax
push 1
lea ecx, [edi + 0x44]
call fcn.0045d5b0
mov edx, dword [edi]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call edx
cmp eax, 2
jne 0x5c1070
jmp 0x5c11fa
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call edx
cmp dword [edi + 0x58], ebx
jbe 0x5c121c
lea edx, [edi + 0x44]
mov esi, edi
call fcn.005c0e10
test al, al
je 0x5c1308
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x44]
call fcn.00405380
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
mov ecx, edi
call edx
test al, al
je 0x5c1040
jmp 0x5c130d
push 0x11
push str.Invalid_Character
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.00404f80
mov dword [esp + 0x80], 2
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call edx
cmp dword [esp + 0x38], 8
mov bl, al
jb 0x5c1011
mov eax, dword [esp + 0x24]
push eax
call fcn.0062414c
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xe
push str.Internal_Error
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], bx
call fcn.00404f80
mov dword [esp + 0x80], 3
mov edx, dword [edi]
mov edx, dword [edx + 0x24]
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call edx
cmp dword [esp + 0x54], 8
mov bl, al
jb 0x5c1011
mov eax, dword [esp + 0x40]
push eax
call fcn.0062414c
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [esp + 0x17], 1
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x44]
call fcn.00405380
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
mov dword [edi + 0x40], ebx
call eax
xor eax, eax
cmp byte [esp + 0x17], bl
sete al
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4