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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100571ae
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1006b00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], 0
mov edx, 0x10058478
push str.xx____x____xxx____xxx
mov dword [ebp - 4], 0
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x1005849c
mov dword [0x100716a0], eax
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x100584a8
mov dword [0x100716d0], eax
call fcn.100011e0
push str.xxxxxxxxxxxxxxxx
mov edx, 0x100584c8
mov dword [0x100716b0], eax
call fcn.100011e0
push str.xxxxxxxx
mov edx, 0x100584e8
mov dword [0x100716a8], eax
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x100584f4
mov dword [0x10071684], eax
call fcn.100011e0
push str.xx__xxxxxxxxx
mov edx, 0x10058514
mov dword [0x10071690], eax
call fcn.100011e0
push str.xxxxxxxxx
mov edx, 0x10058530
mov dword [0x100716a4], eax
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x1005853c
mov dword [0x100716c8], eax
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x10058548
mov dword [0x100716b4], eax
call fcn.100011e0
push str.xxxxxxxx
mov edx, 0x10058554
mov dword [0x100716c0], eax
call fcn.100011e0
push str.xxxx__xxx
mov edx, 0x1005856c
mov dword [0x10071680], eax
call fcn.100011e0
push str.xxxxxxxxxx
mov edx, 0x10058578
mov dword [0x100716b8], eax
call fcn.100011e0
xorps xmm0, xmm0
mov dword [0x100716c4], eax
add esp, 0x34
movq qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 1
push 0x10071578
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x10001545
push 0xc
lea ecx, [ebp - 0x3c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov ecx, dword [ebp - 0x3c]
xor esi, esi
mov eax, dword [ebp - 0x38]
xorps xmm0, xmm0
movq qword [ebp - 0x2c], xmm0
xor edi, edi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 1
nop dword [eax + eax]
add eax, 0xfffffff9
cmp edi, eax
jae 0x1000161c
cmp byte [edi + ecx + 1], 0x26
lea eax, [edi + ecx]
sete dl
cmp byte [eax], 0x74
sete cl
xor ebx, ebx
and dl, cl
cmp byte [eax + 2], 0xff
movzx ecx, dl
cmove ebx, ecx
cmp byte [eax + 3], 0x75
sete cl
xor edx, edx
and bl, cl
cmp byte [eax + 4], 0x20
movzx ecx, bl
cmove edx, ecx
cmp byte [eax + 5], 0x8d
sete cl
and dl, cl
mov dword [ebp - 0x30], edx
xor edx, edx
mov ecx, dword [ebp - 0x30]
cmp byte [eax + 6], 0x45
movzx ecx, cl
cmove edx, ecx
test dl, dl
je 0x100015f1
mov dword [ebp - 0x30], eax
cmp esi, dword [ebp - 0x24]
je 0x100015fa
mov dword [esi], eax
mov esi, dword [ebp - 0x28]
add esi, 4
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x20]
inc edi
mov ecx, dword [ebp - 0x18]
jmp 0x10001580
lea eax, [ebp - 0x30]
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.100025b0
mov esi, dword [ebp - 0x28]
inc edi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
jmp 0x10001580
mov eax, dword [ebp - 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esi, dword [eax]
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x1c]
mov byte [esi], 0xeb
push eax
push dword [ebp - 0x1c]
push 1
push esi
call edi
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax + 4]
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x1c]
mov byte [esi], 0xeb
push eax
push dword [ebp - 0x1c]
push 1
push esi
call edi
mov esi, dword [0x100716a4]
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x10058584]
mov dword [esi], eax
mov ax, word [0x10058588]
mov word [esi + 4], ax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1c]
push 6
push esi
call edi
mov esi, dword [0x100716a8]
lea eax, [esi + 6]
mov dword [0x100716ac], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, 0x100012e0
mov byte [esi + 5], 0x90
sub eax, esi
mov byte [esi], 0xe9
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716c8]
lea eax, [esi + 6]
mov dword [0x100716bc], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov byte [esi + 5], 0x90
mov eax, 0x10001300
mov byte [esi], 0xe9
sub eax, esi
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x10071690]
lea eax, [esi + 6]
mov dword [0x10071574], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, 0x10001320
mov byte [esi + 5], 0x90
sub eax, esi
mov byte [esi], 0xe9
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716b4]
lea eax, [esi + 8]
mov dword [0x1007169c], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 8
push esi
call edi
mov eax, 0x10001340
mov dword [esi], 0x90909090
sub eax, esi
mov dword [esi + 4], 0x90909090
sub eax, 5
mov byte [esi], 0xe9
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push 8
push esi
call edi
mov esi, dword [0x100716c0]
lea eax, [esi + 8]
mov dword [0x10071698], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 8
push esi
call edi
mov eax, 0x10001360
mov dword [esi], 0x90909090
sub eax, esi
mov dword [esi + 4], 0x90909090
sub eax, 5
mov byte [esi], 0xe9
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push 8
push esi
call edi
mov edx, dword [ebp - 0x2c]
mov byte [0x10071572], 1
test edx, edx
je 0x100017fe
mov ecx, dword [ebp - 0x24]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x100017f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100017f4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10055e07
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10055dc4
mov esp, ebp
pop ebp
ret