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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea ecx, [ebp - 4]
push ecx
push 0x40
mov eax, 0x10021440
push 5
sub eax, 0x520ed4
mov bl, 0xe8
xor esi, esi
push 0x520ecf
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], eax
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100221e1
mov edx, dword [ebp - 0x10]
mov cl, byte [ebp - 0xc]
mov eax, 0x520ecf
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 5
push 0x520ecf
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100221e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
mov ecx, 0x10021440
push 5
sub ecx, 0x520f24
push 0x520f1f
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], ecx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022236
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x520f1f
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x520f1f
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x1002223c
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021440
push 5
sub edx, 0x63e748
push 0x63e743
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x1002228b
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x63e743
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x63e743
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022291
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021440
push 5
sub edx, 0x640eb7
push 0x640eb2
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100222e0
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x640eb2
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x640eb2
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100222e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021440
push 5
sub edx, 0x7d2dde
push 0x7d2dd9
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022335
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x7d2dd9
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x7d2dd9
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x1002233b
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021440
push 5
sub edx, 0x7e6c14
push 0x7e6c0f
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x1002238a
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x7e6c0f
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x7e6c0f
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022390
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021440
push 5
sub edx, 0x84aefc
push 0x84aef7
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100223df
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x84aef7
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x84aef7
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100223e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0x83
mov ebx, 0x47fc85
call fcn.100560c0
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021470
push 5
sub edx, 0x47fc8a
xor esi, esi
push ebx
mov byte [ebp - 0x10], 0xe9
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x1002243b
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022441
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
push 1
push 0x62ebf8
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022474
mov eax, 0x62ebf8
mov byte [eax], bl
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
push 1
push eax
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x1002247a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x62ebfe
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100224ad
mov ecx, 0x62ebfe
mov byte [ecx], bl
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 1
push ecx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100224b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
push 0x62ee42
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100224e6
mov edx, 0x62ee42
mov byte [edx], bl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 1
push edx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100224ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
push 1
push 0x62ee48
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x1002251f
mov eax, 0x62ee48
mov byte [eax], bl
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
push 1
push eax
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022525
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x62eee5
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022558
mov ecx, 0x62eee5
mov byte [ecx], bl
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 1
push ecx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x1002255e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
push 0x62eeeb
mov bl, 0xeb
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022591
mov edx, 0x62eeeb
mov byte [edx], bl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 1
push edx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022597
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
push 1
push 0x62ebf7
mov bl, 0x69
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x100225ca
mov eax, 0x62ebf7
mov byte [eax], bl
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
push 1
push eax
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x100225d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x62ee41
mov bl, 0x69
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022603
mov ecx, 0x62ee41
mov byte [ecx], bl
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 1
push ecx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022609
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
push 0x62eee4
mov bl, 0x69
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x1002263c
mov edx, 0x62eee4
mov byte [edx], bl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 1
push edx
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022642
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10021f10
push 5
sub edx, 0x4dada9
push 0x4dada4
mov byte [ebp - 0x10], 0xe8
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10022692
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x4dada4
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x4dada4
mov dword [ebp - 8], esi
call edi
test eax, eax
jne 0x10022698
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret