Function at 0x58ec80
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
dec dword [ebx + 0xcc248c]
add byte [eax], al
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
cmp eax, edx
jge 0x58eee4
push ebx
mov ecx, edi
call 0x5e46a8
mov ebx, eax
mov ecx, edi
push ebx
mov dword [esp + 0x38], ebx
call 0x5e4668
mov edx, dword [esp + 0x1c]
push ebx
cmp edx, eax
mov eax, dword [esi + 0x336c]
sete byte [esp + 0x17]
lea ecx, [eax + 8]
call fcn.005a4578
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x336c]
lea ecx, [ebx + 1]
push ecx
lea ecx, [eax + 8]
call fcn.005a4578
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x336c]
insb byte es:[edi], dx
xor eax, dword [eax]
add byte [ebx - 0x73], dl
dec eax
or al, ch
aas
push ecx
add dword [eax], eax
mov ebx, eax
mov al, byte [esp + 0x13]
test al, al
jne 0x58eba5
xor ebx, ebx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov ecx, edx
and eax, 0xfff
and ecx, 0xfff
mov dword [esp + 0x18], eax
test byte [esp + 0x15], 0x20
je 0x58ec51
mov al, byte [esp + 0x13]
test al, al
je 0x58ec41
mov eax, dword [esp + 0x34]
mov ecx, edi
push eax
call 0x5e4ae8
test al, al
mov eax, dword [esp + 0x18]
je 0x58ec13
cmp eax, 0x400
jne 0x58ebfc
or ebx, 0x80000000
mov byte [esp + 0x12], 0
jmp 0x58ece3
mov ecx, dword [esp + 0x78]
mov edx, 1
shl edx, cl
mov byte [esp + 0x12], 0
or ebx, edx
jmp 0x58ece3
cmp eax, 0x400
jne 0x58ec2a
or ebx, 0x40000000
mov byte [esp + 0x12], 0
jmp 0x58ece3
mov ecx, dword [esp + 0x7c]
mov eax, 1
shl eax, cl
mov byte [esp + 0x12], 0
or ebx, eax
jmp 0x58ece3
or ebx, 0x20000000
mov byte [esp + 0x12], 0
jmp 0x58ece3
invalid
test dword [esp + 0x14], 0x1000
je 0x58eca3
cmp byte [esp + 0x12], 0
je 0x58ec88
test dh, 0x10
jne 0x58ecdd
cmp eax, 0x400
jle 0x58ec7b
or ebx, 0x8000000
mov byte [esp + 0x12], 0
jmp 0x58ece3
or ebx, 0x10000000
mov byte [esp + 0x12], 0
jmp 0x58ece3
cmp eax, 0x400
jle 0x58ece3
cmp ecx, eax
jge 0x58ecdd
cmp ecx, 0x400
jle 0x58ecd5
or ebx, 0x8000000
jmp 0x58ece3
cmp eax, 0x400
jle 0x58ece3
cmp ecx, eax
jge 0x58ecdd
test dh, 0x10
mov byte [esp + 0x12], 0
je 0x58ecc5
or ebx, 0x20000000
mov byte [esp + 0x12], 1
jmp 0x58ece3
cmp ecx, 0x400
jle 0x58ecd5
or ebx, 0x8000000
jmp 0x58ece3
or ebx, 0x10000000
jmp 0x58ece3
or ebx, 0x20000000
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x20]
and ebx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x2d78]
mov dword [esp + 0x5c], edx
pop esp
add eax, edx
mov dl, byte [ecx - 8]
mov dword [esp + 0x64], eax
test dl, dl
jne 0x58ee78
mov cl, byte [esp + 0x13]
mov byte [esp + 0x80], 0
test cl, cl
je 0x58ed5b
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x80]
lea eax, [ecx + 1]
push eax
push 0xc721c4
push edx
call 0x656e55
mov eax, dword [esp + 0x70]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x60]
mov ecx, ebp
call dword [edx + 0x48]
test ebx, ebx
je 0x58eeb6
lea ecx, [esi + 0x2a18]
xor edi, edi
mov dword [esp + 0x18], ecx
test ebx, ebx
je 0x58eeb6
test bl, 1
je 0x58eea3
lea eax, [esi + 0xc94]
lea edx, [esp + 0x58]
push eax
push edx
push ebp
call 0x5e5e48
mov ecx, dword [esp + 0x18]
sar ebx, 1
inc edi
add ecx, 0x18
cmp edi, 0x20
mov dword [esp + 0x18], ecx
jl 0x58ee88
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0x2d78]
mov edx, dword [esp + 0x20]
lea edi, [esi + 0x3320]
add byte [eax], al
inc ebx
add edx, eax
mov ecx, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
call 0x5e4648
cmp ebx, eax
jl 0x58eb2c
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
add ebx, 0x10
dec ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x54], ecx
jne 0x58e9f7
mov ebx, dword [esi + 0xc24]
mov ecx, dword [esp + 0x40]
push ebx
mov edx, dword [esp + 0x4c]
sub esp, 0x10
mov edi, dword [esp + 0x60]