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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005709d
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
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
push str.xxxx
mov edx, 0x10058438
mov dword [ebp - 4], 0
call fcn.100013b0
push str.xxxxxxx
mov edx, 0x10058448
mov dword [0x100716a4], eax
call fcn.100013b0
push str.xx____xxxx
mov edx, 0x1005845c
mov dword [0x100716c0], eax
call fcn.100013b0
push str.xxxxxxxxxx
mov edx, 0x10058474
mov dword [0x1007167c], eax
call fcn.100013b0
push str.xxxxxxxxx
mov edx, 0x1005848c
mov dword [0x100716b0], eax
call fcn.100013b0
push str.xxxxxx
mov edx, 0x100584a8
mov dword [0x10071694], eax
call fcn.100013b0
push str.xxxxxxxxx
mov edx, 0x100584b0
mov dword [0x10071680], eax
call fcn.100013b0
push str.xxxxxxxxxxxx
mov edx, 0x100584cc
mov dword [0x10071678], eax
call fcn.100013b0
push str.xxxxxxxxxxx
mov edx, 0x100584e8
mov dword [0x10071684], eax
call fcn.100013b0
push str.xxx____xxxxxx
mov edx, 0x10058504
mov dword [0x10071690], eax
call fcn.100013b0
xorps xmm0, xmm0
mov dword [0x10071698], eax
push str.xxxxxx
push 0x10058514
lea ecx, [ebp - 0x24]
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
call fcn.10001260
add esp, 0x30
push str.xxxxxxxxx
mov edx, 0x1005851c
mov byte [ebp - 4], 1
call fcn.100013b0
push str.xxxxxxxxx
mov edx, 0x10058528
mov dword [0x100716c8], eax
call fcn.100013b0
push str.xxxxxxxx
mov edx, 0x10058540
mov dword [0x10071688], eax
call fcn.100013b0
xorps xmm0, xmm0
mov dword [0x1007168c], eax
push str.xx____xxxxxxxxxxxxx
push 0x10058560
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], 0
call fcn.10001260
add esp, 0x14
mov edx, 0x10058580
push str.xx__xxxxxx
call fcn.100013b0
push str.xx__xxxx___xx
mov edx, 0x1005859c
mov dword [0x100716d0], eax
call fcn.100013b0
mov dword [0x100716a8], eax
mov edx, 0x100585c4
push str.xxxxxxxxxxxxxxxxxxxx
call fcn.100013b0
push str.xxxxxxxxxx
mov edx, 0x100585dc
mov dword [0x1007166c], eax
call fcn.100013b0
push str.xxxxxxxxxxxxxxxxx
mov edx, 0x100585fc
mov dword [0x1007169c], eax
call fcn.100013b0
push str.xxxxxxxxxxx
mov edx, 0x10058610
mov dword [0x100716ac], eax
call fcn.100013b0
push str.xxxxxxxxxx
mov edx, 0x1005861c
mov dword [0x100716a0], eax
call fcn.100013b0
push str.xxxxxxxxxxx
mov edx, 0x10058628
mov dword [0x10071560], eax
call fcn.100013b0
push str.xxxxxxxxxxx
mov edx, 0x10058634
mov dword [0x10071564], eax
call fcn.100013b0
push str.xxxxxxxx__xxx
mov edx, 0x10058650
mov dword [0x10071670], eax
call fcn.100013b0
push str.xxxxxxxxxxx
mov edx, str.u.
mov dword [0x100716c4], eax
call fcn.100013b0
mov esi, dword [0x1007166c]
add esp, 0x2c
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [0x100716cc], eax
lea eax, [esi + 6]
mov dword [0x100716b4], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, 0x100015c0
mov byte [esi + 5], 0x90
sub eax, esi
mov byte [esi], 0xe9
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716c4]
lea eax, [esi + 6]
mov dword [0x100716b8], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, 0x100015e0
mov byte [esi + 5], 0x90
sub eax, esi
mov byte [esi], 0xe9
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716cc]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0xeb
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x100716b0]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x10071694]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 0x10
push esi
call edi
movups xmm0, xmmword [0x10058674]
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
movups xmmword [esi], xmm0
push 0x10
push esi
call edi
mov esi, dword [0x10071680]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x10071678]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071684]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071690]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071698]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0xeb
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 4]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716c8]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 7
push esi
call edi
mov eax, dword [0x10058688]
mov dword [esi], eax
movzx eax, word [0x1005868c]
mov word [esi + 4], ax
movzx eax, byte [0x1005868e]
mov byte [esi + 6], al
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 7
push esi
call edi
mov esi, dword [0x10071688]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 7
push esi
call edi
mov eax, dword [0x10058688]
mov dword [esi], eax
movzx eax, word [0x1005868c]
mov word [esi + 4], ax
movzx eax, byte [0x1005868e]
mov byte [esi + 6], al
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 7
push esi
call edi
mov esi, dword [0x1007168c]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x100716d0]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0xd8
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x100716a8]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x10058690]
mov dword [esi], eax
movzx eax, word [0x10058694]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x1005866c]
mov dword [esi], eax
movzx eax, word [0x10058670]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov esi, dword [0x1007169c]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x8e
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x100716ac]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x8e
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x100716a0]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x8e
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071560]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x96
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071564]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x96
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x10071670]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x18]
mov byte [esi], 0x96
push eax
push dword [ebp - 0x18]
push 1
push esi
call edi
mov esi, dword [0x1007167c]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [0x10058698]
mov dword [esi], eax
movzx eax, word [0x1005869c]
mov word [esi + 4], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push esi
call edi
mov edx, dword [ebp - 0x30]
mov byte [0x10071676], 1
test edx, edx
je 0x10001d48
mov ecx, dword [ebp - 0x28]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10001d29
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10001d71
push ecx
push edx
call fcn.10055cc7
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x10001d81
mov ecx, dword [ebp - 0x1c]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10001d77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10001d77
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10055cc7
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.10055c84
mov esp, ebp
pop ebp
ret