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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
call fcn.10017860
test al, al
je 0x10017ec9
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea eax, [ebp - 8]
push esi
push edi
push eax
push 1
lea eax, [ebp - 4]
mov byte [ebp - 4], 0xe9
push eax
push 0x4348a6
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push eax
call edi
mov eax, 0x100177d0
sub eax, 0x4348ab
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push 0x4348a7
call ebx
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x4348ab
call esi
mov eax, 0x4348ab
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x4348ab
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x5c90b6
call ebx
push eax
call edi
mov eax, 0x100177f0
sub eax, 0x5c90bb
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x5c90b7
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x5c90bb
call esi
mov eax, 0x5c90bb
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x5c90bb
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x4349d6
call ebx
push eax
call edi
mov eax, 0x10017810
sub eax, 0x4349db
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x4349d7
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x4349db
call esi
mov eax, 0x4349db
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x4349db
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x434457
call ebx
push eax
call edi
mov eax, 0x10017830
sub eax, 0x43445c
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x434458
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 2
push 0x43445c
call esi
mov eax, 0x43445c
mov ecx, 0x90909090
mov word [eax], cx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 2
push 0x43445c
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x42efef
call ebx
push eax
call edi
mov eax, 0x10017720
sub eax, 0x42eff4
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x42eff0
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x4138a0
call ebx
push eax
call edi
mov eax, 0x100176a0
sub eax, 0x4138a5
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x4138a1
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x4138a5
call esi
mov eax, 0x4138a5
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x4138a5
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x46974b
call ebx
push eax
call edi
mov eax, 0x100176c0
sub eax, 0x469750
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x46974c
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x5677c1
call ebx
push eax
call edi
mov eax, 0x10017530
sub eax, 0x5677c6
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x5677c2
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x457227
call ebx
push eax
call edi
mov eax, 0x10017500
sub eax, 0x45722c
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x457228
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x4160e1
call ebx
push eax
call edi
mov eax, 0x10016da0
sub eax, 0x4160e6
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x4160e2
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 3
push 0x4160e6
call esi
mov eax, 0x4160e6
mov ecx, 0x90909090
mov word [eax], cx
mov byte [eax + 2], cl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 3
push 0x4160e6
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x415894
call ebx
push eax
call edi
mov eax, 0x10017380
sub eax, 0x415899
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x415895
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x415899
call esi
mov eax, 0x415899
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x415899
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x414d7b
call ebx
push eax
call edi
mov eax, 0x100173e0
sub eax, 0x414d80
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x414d7c
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x414d80
call esi
mov eax, 0x414d80
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x414d80
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x5ff722
call ebx
push eax
call edi
mov eax, 0x100171f0
sub eax, 0x5ff727
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x5ff723
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x557154
call ebx
push eax
call edi
mov eax, 0x10017230
sub eax, 0x557159
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x557155
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x557159
call esi
mov eax, 0x557159
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x557159
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 3
push 0x570a18
call esi
mov eax, 0x570a18
mov ecx, 0x90909090
mov word [eax], cx
mov byte [eax + 2], cl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 3
push 0x570a18
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 3
push 0x4d1bcc
call esi
mov eax, 0x4d1bcc
mov ecx, 0x90909090
mov word [eax], cx
mov byte [eax + 2], cl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 3
push 0x4d1bcc
call esi
lea eax, [ebp - 0xc]
mov byte [ebp - 4], 0xe9
push eax
push 1
lea eax, [ebp - 4]
push eax
push 0x55776c
call ebx
push eax
call edi
mov eax, 0x100176f0
sub eax, 0x557771
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push 4
lea eax, [ebp - 8]
push eax
push 0x55776d
call ebx
push eax
call edi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x557771
call esi
mov eax, 0x557771
mov byte [eax], 0x90
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 1
push 0x557771
call esi
push 0
push 1
lea eax, [ebp - 4]
mov byte [ebp - 4], 0xeb
push eax
push 0x41583f
call ebx
push eax
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret