Function at 0x5a2e3c
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x28
push ebx
call fcn.005a2b9c
cmp byte [eax], 0
jne 0x5a2e51
xor al, al
pop ebx
add esp, 0x28
ret
mov eax, dword [esp + 0x30]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
mov byte [esp + 0x23], 0
call dword [fcn.005181dc]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x28], ebx
jne 0x5a2e85
xor al, al
pop ebx
add esp, 0x28
ret
push edi
push 0
push 0
push 0
push 2
push 0
push ebx
call dword [fcn.005181b4]
mov edi, eax
test edi, edi
mov dword [esp + 0x28], edi
je 0x5a31e3
push esi
push 0
push 0
push 0
push 4
push edi
call dword [fcn.005181b0]
mov esi, eax
test esi, esi
mov dword [esp + 0x38], esi
je 0x5a31db
mov ebx, dword [esi + 0x3c]
push ebp
add ebx, esi
mov dword [esp + 0x2c], ebx
cmp dword [ebx], 0x4550
jne 0x5a31cb
cmp word [ebx + 4], 0x8664
jne 0x5a31cb
call fcn.005a2dec
test eax, eax
je 0x5a31cb
xor eax, eax
mov ax, word [ebx + 0x18]
cmp eax, 0x10b
je 0x5a2f3e
cmp eax, 0x20b
jne 0x5a31cb
push 0x554d70
push ebx
push esi
call fcn.005a31fc
add esp, 0xc
test al, al
jne 0x5a2f34
push 0x554d68
push ebx
push esi
call fcn.005a31fc
add esp, 0xc
test al, al
je 0x5a31cb
mov byte [esp + 0x13], 1
jmp 0x5a31cb
xor ecx, ecx
mov edi, dword [ebx + 0x78]
mov cx, word [ebx + 0x14]
xor ebp, ebp
lea eax, [ecx + ebx + 0x18]
xor ecx, ecx
mov cx, word [ebx + 6]
test ecx, ecx
jbe 0x5a3096
mov edx, dword [eax + 8]
test edx, edx
jne 0x5a2f65
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x5a2f72
add esi, edx
cmp edi, esi
jb 0x5a2f7f
inc ebp
add eax, 0x28
cmp ebp, ecx
jb 0x5a2f5b
jmp 0x5a3096
test eax, eax
je 0x5a3096
mov esi, dword [esp + 0x3c]
push esi
push ebx
push edi
call fcn.005a352c
mov edi, eax
push esi
push ebx
mov edx, dword [edi + 0x1c]
push edx
call fcn.005a352c
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x24]
push esi
push ebx
push eax
call fcn.005a352c
mov ecx, dword [edi + 0x20]
push esi
push ebx
push ecx
mov dword [esp + 0x58], eax
call fcn.005a352c
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x54], eax
add esp, 0x30
xor eax, eax
test ecx, ecx
mov dword [esp + 0x20], eax
jbe 0x5a3096
mov edx, dword [esp + 0x18]
cmp dword [edx], 0
je 0x5a307b
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x1c], 0
test ecx, ecx
jbe 0x5a307b
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dx, word [ecx]
cmp edx, eax
jne 0x5a305d
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp]
push edx
push ebx
push eax
call fcn.005a352c
add esp, 0xc
mov esi, eax
mov ecx, 0x554d70
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x5a304c
test al, al
je 0x5a3048
mov dl, byte [ecx + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x5a304c
add ecx, 2
add esi, 2
test al, al
jne 0x5a3028
xor eax, eax
jmp 0x5a3051
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5a31c2
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edx, 2
inc ecx
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x18]
add ebp, 4
cmp ecx, edx
mov dword [esp + 0x1c], ecx
jb 0x5a3002
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x14]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
jb 0x5a2fd6
mov esi, dword [ebx + 0x78]
push ebx
push esi
call fcn.005a34dc
add esp, 8
test eax, eax
je 0x5a31c7
push ebx
push esi
call fcn.005a34dc
add esp, 8
test eax, eax
jne 0x5a30c1
mov esi, dword [esp + 0x3c]
xor edi, edi
jmp 0x5a30d1
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub edi, edx
add edi, esi
mov esi, dword [esp + 0x3c]
add edi, esi
mov eax, dword [edi + 0x1c]
push esi
push ebx
push eax
call fcn.005a352c
mov ecx, dword [edi + 0x24]
push esi
push ebx
push ecx
mov dword [esp + 0x2c], eax
call fcn.005a352c
mov edx, dword [edi + 0x20]
push esi
push ebx
push edx
mov dword [esp + 0x48], eax
call fcn.005a352c
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x4c], eax
add esp, 0x24
xor eax, eax
test ecx, ecx
mov dword [esp + 0x20], eax
jbe 0x5a31c7
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
je 0x5a31a5
mov ecx, dword [edi + 0x18]
xor ebx, ebx
test ecx, ecx
jbe 0x5a31a5
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov cx, word [edx]
cmp ecx, eax
jne 0x5a318f
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp]
push eax
push ecx
push edx
call fcn.005a352c
add esp, 0xc
mov esi, eax
mov ecx, 0x554d68
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x5a3182
test al, al
je 0x5a317e
mov dl, byte [ecx + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x5a3182
add ecx, 2
add esi, 2
test al, al
jne 0x5a315e
xor eax, eax
jmp 0x5a3187
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5a31c2
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ecx, dword [edi + 0x18]
inc ebx
add esi, 2
add ebp, 4
cmp ebx, ecx
mov dword [esp + 0x18], esi
jb 0x5a3134
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 0x14]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edx
jb 0x5a3112
jmp 0x5a31c7
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x3c]
push esi
call dword [fcn.005181b8]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
pop ebp
push edi
call dword [fcn.00518370]
pop esi
push ebx
call dword [fcn.00518370]
mov al, byte [esp + 0xb]
pop edi
pop ebx
add esp, 0x28
ret