Function at 0x10057bb0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x101eaf88], 1
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x10057c47
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x57fccf
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057c2e
mov eax, dword [ebx]
mov ecx, 0x57fccf
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057c30
call edi
push 0xe9
mov edx, 0x10057eb0
mov ecx, 0x57fccf
call fcn.100c7ff0
add esp, 4
cmp dword [0x101eaf9c], 1
jne 0x10057cbf
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x5842b1
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057ca6
mov eax, dword [ebx]
mov ecx, 0x5842b1
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057ca8
call edi
push 0xe9
mov edx, 0x10058030
mov ecx, 0x5842b1
call fcn.100c7ff0
add esp, 4
cmp dword [0x101eafb0], 1
jne 0x10057d37
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x5852e4
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057d1e
mov eax, dword [ebx]
mov ecx, 0x5852e4
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057d20
call edi
push 0xe9
mov edx, 0x100581c0
mov ecx, 0x5852e4
call fcn.100c7ff0
add esp, 4
cmp dword [0x101eafc4], 1
jne 0x10057daf
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x584a4e
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057d96
mov eax, dword [ebx]
mov ecx, 0x584a4e
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057d98
call edi
push 0xe9
mov edx, 0x10058350
mov ecx, 0x584a4e
call fcn.100c7ff0
add esp, 4
cmp dword [0x101eafd8], 1
jne 0x10057e27
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x584b82
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057e0e
mov eax, dword [ebx]
mov ecx, 0x584b82
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057e10
call edi
push 0xe9
mov edx, 0x10058490
mov ecx, 0x584b82
call fcn.100c7ff0
add esp, 4
cmp dword [0x101eafe8], 1
jne 0x10057e9f
push 5
call fcn.100d7d9e
add esp, 4
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x582fe6
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x10057e86
mov eax, dword [ebx]
mov ecx, 0x582fe6
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10057e88
call edi
push 0xe9
mov edx, 0x100585a0
mov ecx, 0x582fe6
call fcn.100c7ff0
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d7712
mov esp, ebp
pop ebp
ret