Function at 0x4b57da
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
call fcn.004f1c09
xor edi, edi
push 7
inc edi
push edi
call fcn.004eeb78
mov ebx, eax
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.004f0d60
push 0x25
pop esi
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f18f9
lea eax, [ebp - 0x3c]
push 0x28
push eax
call fcn.004f18f9
lea eax, [ebp - 0x3c]
push 0x29
push eax
call fcn.004f18f9
push 0x10
push 4
lea eax, [ebp - 0x3c]
push 3
push eax
call fcn.004f15b7
push 0x18
push esi
lea eax, [ebp - 0x3c]
push 0x23
push eax
call fcn.004f1426
add esp, 0x48
lea eax, [ebp - 0x3c]
push 0x23
push edi
push edi
push 4
push esi
push edi
push eax
call fcn.004f120d
push 0x22
pop edi
push edi
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.004f1997
push 2
push str.loadlibrary_failed
lea eax, [ebp - 0x3c]
push 0x104
push eax
call fcn.004f12f7
push edi
lea eax, [ebp - 0x3c]
push 0x28
push eax
call fcn.004f1540
add esp, 0x44
lea eax, [ebp - 0x3c]
push 0x222
push esi
push 0x24
pop esi
push esi
push eax
call fcn.004f1426
push esi
push 1
push 0x28
push 1
push 2
push 8
push 0x25
lea eax, [ebp - 0x3c]
push 1
push eax
call fcn.004f120d
push 0x322
push 0x25
lea eax, [ebp - 0x3c]
push 0x23
push eax
call fcn.004f1426
add esp, 0x44
lea eax, [ebp - 0x3c]
push 0
push 0x25
push esi
push eax
call fcn.004f1426
xor eax, eax
push eax
push eax
push eax
push esi
push 1
push 0x23
push 1
push 3
push edi
xor esi, esi
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f124f
push esi
push 0x25
pop edi
push edi
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f15b7
add esp, 0x4c
lea eax, [ebp - 0x3c]
push esi
push esi
push eax
call fcn.004f1997
push esi
mov esi, str.skip_unload
lea eax, [ebp - 0x3c]
push esi
push 0x109
push eax
call fcn.004f138a
push 0x28
push 1
push 1
push 0xc
push edi
lea eax, [ebp - 0x3c]
push 1
push eax
call fcn.004f120d
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f13e0
add esp, 0x40
lea eax, [ebp - 0x3c]
push 0
push 0
push eax
call fcn.004f1ab8
mov esi, str.return_result
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f13b1
push str.loadlibrary_failed
lea eax, [ebp - 0x3c]
push eax
call fcn.004f13e0
push 0
push 0x14
push edi
lea eax, [ebp - 0x3c]
push 1
push eax
call fcn.004f120d
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004f13e0
lea eax, [ebp - 0x3c]
push 0x29
push eax
call fcn.004f1785
add esp, 0x40
lea eax, [ebp - 0x3c]
push 0x28
push eax
call fcn.004f1785
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.004f1785
lea eax, [ebp - 0x3c]
push eax
call fcn.004f197e
lea eax, [ebp - 0x3c]
push eax
call fcn.004f0ca1
lea eax, [ebp - 0x3c]
push eax
call fcn.004f0d83
mov dword [ebp - 4], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004f0bf7
mov esi, dword [ebp + 8]
push 0x430
push 0
push esi
call fcn.004b6f20
push esi
push 0x4b5702
push str.kernel32.dll
call fcn.004f0a56
mov edi, dword [ebp + 0xc]
xor eax, eax
add esp, 0x38
cmp dword [esi + 4], eax
je 0x4b5af0
cmp dword [esi + 8], eax
je 0x4b5af0
cmp dword [esi + 0xc], eax
je 0x4b5af0
cmp dword [esi + 0x10], eax
je 0x4b5af0
push dword [edi + 4]
lea eax, [esi + 0x18]
push 0x20a
push eax
call fcn.004b53c2
push dword [edi + 8]
lea eax, [esi + 0x222]
push 0x100
push eax
call fcn.004b535b
push dword [edi + 0xc]
lea eax, [esi + 0x322]
push 0x105
push eax
call fcn.004b535b
mov eax, dword [ebp - 4]
push 0x40
push 0x1000
add eax, 0x434
push eax
push 0
push dword [edi]
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [esi + 0x428], eax
test eax, eax
jne 0x4b5a99
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Unexpected_error_allocating_memory_in_target_process__VirtualAlloc_returned_0x_08lx_
push 0xa
call fcn.004aa483
push eax
push dword [ebp + 0x10]
call fcn.004418a5
add esp, 0x14
jmp 0x4b5b08
push 0
push dword [ebp - 4]
push ebx
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x4b5ae2
mov ecx, dword [ebp - 4]
push 0
add ecx, 3
add ecx, dword [esi + 0x428]
push 0x430
and ecx, 0xfffffffc
push esi
push ecx
mov dword [esi + 0x42c], ecx
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x4b5ae2
push ebx
call fcn.004f07a2
xor eax, eax
pop ecx
inc eax
jmp 0x4b5b1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Unexpected_error_writing_to_memory_in_target_process__WriteProcessMemory_returned_0x_08lx_
jmp 0x4b5a84
push str.Unexpected_error_while_resolving_kernel32_functions
push 0xa
call fcn.004aa483
push eax
push dword [ebp + 0x10]
call fcn.004418a5
add esp, 0x10
push edi
push esi
call fcn.004b57ac
push ebx
call fcn.004f07a2
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret