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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [ebp + 0xc]
push esi
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
mov dword [eax], esi
call fcn.00613c88
test eax, eax
jne 0x5d957d
push ebx
push edi
mov edi, dword [ebp + 0x10]
cmp byte [0x78478c], al
je 0x5d91ce
test edi, 0x8000
je 0x5d91d2
mov ebx, esi
jmp 0x5d91e6
test edi, 0x10000
je 0x5d91df
xor ebx, ebx
inc ebx
jmp 0x5d91e6
movzx ebx, byte [0x78478d]
test edi, 0x40000
je 0x5d91f6
and edi, 0xfffdffff
jmp 0x5d9204
cmp dword [0x784850], esi
je 0x5d9204
or edi, 0x20000
push esi
and edi, 0xfff600e7
push 0x218
mov dword [ebp + 0x10], edi
call fcn.005f6cd9
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x5d954a
test ebx, ebx
je 0x5d9252
cmp byte [0x78478c], 0
jne 0x5d9235
xor eax, eax
jmp 0x5d923e
push 1
call dword [0x7847d0]
pop ecx
mov dword [esi + 0xc], eax
test eax, eax
jne 0x5d9252
push esi
call fcn.005bc3c6
xor esi, esi
jmp 0x5d9549
push dword [esi + 0xc]
call fcn.005bdbbc
mov eax, edi
mov dword [esi + 0x14], 2
and eax, 0x2000000
mov byte [esi + 0x61], 0x6d
neg eax
push 0x30
sbb eax, eax
xor ebx, ebx
and eax, 0xffffff00
inc ebx
add eax, 0xff
mov dword [esi + 0x130], ebx
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1cc]
mov dword [esi + 0x10], eax
xor eax, eax
mov word [esi + 0x134], ax
lea eax, [esi + 0x78]
push 0x718c40
push eax
call fcn.00643300
xor ecx, ecx
mov dword [esi + 0xa4], ecx
mov byte [esi + 0x55], bl
mov byte [esi + 0x5a], 0xff
mov eax, dword [0x784830]
push ecx
mov dword [esi + 0x30], eax
mov eax, dword [0x784834]
or dword [esi + 0x20], 0xe00480e0
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x24]
push fcn.005c5ce2
push ecx
mov dword [esi + 0x64], ecx
mov dword [esi + 0xb8], 0x7848a4
mov dword [esi + 0x24], eax
push ebx
mov dword [esi + 0x1b8], ecx
mov ebx, 0x718624
mov dword [esi + 0x1b4], ecx
mov dword [esi + 0x1b0], ecx
mov dword [esi + 0x1bc], ecx
push ebx
push esi
mov dword [esi + 0x18c], ecx
mov dword [esi + 0x188], ecx
mov dword [esi + 0x184], ecx
mov dword [esi + 0x190], ecx
call fcn.005cb62e
push 0
push fcn.005c5ce2
push 0
push 3
push ebx
push esi
call fcn.005cb62e
add esp, 0x40
push 0
push fcn.005c5ce2
push 0
push 2
push ebx
push esi
call fcn.005cb62e
xor ebx, ebx
push ebx
push 0x5d90cb
push ebx
push 1
push str.NOCASE
push esi
call fcn.005cb62e
push ebx
push 0x5e0d27
push ebx
push 1
push str.RTRIM
push esi
call fcn.005cb62e
add esp, 0x48
cmp byte [esi + 0x57], bl
jne 0x5d9541
push 7
pop eax
mov ecx, edi
mov dword [esi + 0x3c], edi
and ecx, eax
xor eax, eax
inc eax
shl eax, cl
test al, 0x46
jne 0x5d93a2
push 0x2be61
call fcn.005f7033
pop ecx
jmp 0x5d93c0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 8]
push dword [ebp + 0x14]
call fcn.005f8ec9
mov edi, dword [ebp + 0x10]
add esp, 0x18
mov ebx, eax
test ebx, ebx
je 0x5d93fa
push 7
pop ecx
cmp ebx, ecx
jne 0x5d93d4
push esi
call fcn.005f732e
pop ecx
mov edi, dword [ebp - 8]
xor ecx, ecx
test edi, edi
mov eax, 0x71ddfc
push edi
cmove eax, ecx
push eax
push ebx
push esi
call fcn.005ec8e6
push edi
call fcn.005bc3c6
add esp, 0x14
jmp 0x5d9541
mov eax, dword [esi + 0x10]
or edi, 0x100
push edi
xor ebx, ebx
add eax, 4
push ebx
push eax
push esi
push dword [ebp - 4]
push dword [esi]
call fcn.005e7149
add esp, 0x18
test eax, eax
je 0x5d9436
push 7
pop ecx
cmp eax, 0xc0a
cmove eax, ecx
push eax
push esi
call fcn.005ec7d8
pop ecx
pop ecx
jmp 0x5d9541
mov eax, dword [esi + 0x10]
push dword [eax + 4]
call fcn.005e62b3
mov eax, dword [esi + 0x10]
push dword [eax + 4]
push esi
call fcn.005fea30
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [ecx + 0xc], eax
cmp byte [esi + 0x57], bl
jne 0x5d946e
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x4d]
push eax
push esi
call fcn.006008a3
pop ecx
pop ecx
mov eax, dword [esi + 0x10]
push dword [eax + 4]
call fcn.005e703f
push ebx
push esi
call fcn.005fea30
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [eax], str.main
mov eax, dword [esi + 0x10]
mov byte [eax + 8], 3
mov eax, dword [esi + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [esi + 0x10]
mov byte [eax + 0x18], 1
mov byte [esi + 0x61], 0x76
cmp byte [esi + 0x57], bl
jne 0x5d9541
push ebx
push esi
call fcn.005ec7d8
push 2
push str.MATCH
push esi
call fcn.005bcc5d
add esp, 0x14
push 7
pop ecx
cmp eax, ecx
jne 0x5d94dc
push esi
call fcn.005f732e
pop ecx
push esi
call fcn.005be0d2
pop ecx
test eax, eax
jne 0x5d9517
mov edi, 0x719a24
cmp edi, 0x719a2c
jge 0x5d94ff
push esi
call dword [edi]
add edi, 4
pop ecx
test eax, eax
je 0x5d94ec
test eax, eax
jne 0x5d9517
push esi
call fcn.005e4de7
push esi
call fcn.005be0d2
pop ecx
pop ecx
test eax, eax
jne 0x5d9541
jmp 0x5d9520
push eax
push esi
call fcn.005ec7d8
pop ecx
pop ecx
push dword [0x7847a0]
push dword [0x78479c]
push ebx
push esi
call fcn.005e26f4
push 0x3e8
push esi
call fcn.005b48b8
add esp, 0x18
push dword [esi + 0xc]
call fcn.005bdc31
pop ecx
push esi
call fcn.005be0d2
mov ebx, eax
pop ecx
cmp bl, 7
jne 0x5d9563
push esi
call fcn.005b8ab0
pop ecx
xor esi, esi
jmp 0x5d956b
test ebx, ebx
je 0x5d956b
mov byte [esi + 0x61], 0xba
mov eax, dword [ebp + 0xc]
push dword [ebp - 4]
mov dword [eax], esi
call fcn.005be0a9
pop ecx
pop edi
mov eax, ebx
pop ebx
pop esi
mov esp, ebp
pop ebp
ret