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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x101f65f8]
sub esp, 0x10
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 3
jne 0x10069642
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 6
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x101f65f8]
cmp eax, 2
jne 0x10069672
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 5
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x101f65f8]
cmp eax, 1
jne 0x1006969d
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 4
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
cmp dword [0x101f6608], 1
jne 0x100696cc
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5528a0
call esi
lea eax, [ebp - 4]
mov byte [0x5528a0], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x5528a0
call esi
cmp dword [0x101f6600], 1
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x10069774
lea eax, [ebp - 4]
push eax
push 0x40
push 0xc8
push 0x8193f0
call esi
push 0xc8
push 0x90
push 0x8193f0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0xc8
push 0x8193f0
call esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7d3a4b
or bl, 0xff
call esi
test eax, eax
je 0x1006975b
lea eax, [ebp - 8]
mov byte [0x7d3a4b], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7d3a4b
call esi
test eax, eax
jne 0x1006975d
call edi
push 0x10069510
push 0x77ece2
push 0xe9
call fcn.100d5c50
add esp, 0xc
cmp dword [0x102c3338], 0
je 0x100697b9
lea eax, [ebp - 4]
push eax
push 0x40
push 0x11e
push 0x771310
call esi
push 0x11e
push 0x90
push 0x771310
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x11e
push 0x771310
call esi
cmp dword [0x102c3334], 0
je 0x100697fe
lea eax, [ebp - 4]
push eax
push 0x40
push 0x10c50
push 0x74cd30
call esi
push 0x10c50
push 0x90
push 0x74cd30
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x10c50
push 0x74cd30
call esi
cmp dword [0x102c3330], 0
je 0x1006987f
lea eax, [ebp - 4]
push eax
push 0x40
push 0x2fe2
push 0x626190
call esi
push 0x2fe2
push 0x90
push 0x626190
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x2fe2
push 0x626190
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x87a2
push 0x72d1b0
call esi
push 0x87a2
push 0x90
push 0x72d1b0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x87a2
push 0x72d1b0
call esi
cmp dword [0x101f667c], 1
jne 0x10069982
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7af176
mov bl, 9
call esi
test eax, eax
je 0x100698c9
lea eax, [ebp - 8]
mov byte [0x7af176], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7af176
call esi
test eax, eax
jne 0x100698cb
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7af416
call esi
test eax, eax
je 0x10069906
lea eax, [ebp - 8]
mov byte [0x7af416], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7af416
call esi
test eax, eax
jne 0x10069908
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7af796
call esi
test eax, eax
je 0x10069943
lea eax, [ebp - 8]
mov byte [0x7af796], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7af796
call esi
test eax, eax
jne 0x10069945
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7b0316
call esi
test eax, eax
je 0x10069980
lea eax, [ebp - 8]
mov byte [0x7b0316], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7b0316
call esi
test eax, eax
jne 0x10069982
call edi
cmp dword [0x101f6604], 1
jne 0x10069ba5
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89c6
call esi
lea eax, [ebp - 4]
mov byte [0x5b89c6], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89c6
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89cc
call esi
lea eax, [ebp - 4]
mov byte [0x5b89cc], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89cc
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89d2
call esi
lea eax, [ebp - 4]
mov byte [0x5b89d2], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89d2
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89d8
call esi
lea eax, [ebp - 4]
mov byte [0x5b89d8], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89d8
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89de
call esi
lea eax, [ebp - 4]
mov byte [0x5b89de], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89de
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5b89e4
call esi
lea eax, [ebp - 4]
mov byte [0x5b89e4], 0
push eax
push dword [ebp - 4]
push 1
push 0x5b89e4
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 2
push 0x5b89ea
call esi
xor eax, eax
mov word [0x5b89ea], ax
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 2
push 0x5b89ea
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c6316
call esi
lea eax, [ebp - 4]
mov byte [0x5c6316], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c6316
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c6329
call esi
lea eax, [ebp - 4]
mov byte [0x5c6329], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c6329
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c633c
call esi
lea eax, [ebp - 4]
mov byte [0x5c633c], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c633c
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c634f
call esi
lea eax, [ebp - 4]
mov byte [0x5c634f], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c634f
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c6362
call esi
lea eax, [ebp - 4]
mov byte [0x5c6362], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c6362
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c6375
call esi
lea eax, [ebp - 4]
mov byte [0x5c6375], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c6375
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 2
push 0x5c6388
call esi
xor eax, eax
mov word [0x5c6388], ax
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 2
push 0x5c6388
call esi
cmp dword [0x102c3358], 0
je 0x10069bdc
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x5f8924
call esi
mov eax, 0x5f8924
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x5f8924
call esi
cmp dword [0x102c3350], 0
je 0x10069d59
push 7
call fcn.10131c6d
mov ebx, eax
mov dword [ebp - 4], 0
mov eax, 0x90909090
add esp, 4
mov dword [ebx], eax
mov word [ebx + 4], ax
mov byte [ebx + 6], al
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x60954d
call esi
test eax, eax
je 0x10069c4b
mov eax, dword [ebx]
mov ecx, 0x60954d
mov dword [ecx], eax
mov ax, word [ebx + 4]
mov word [ecx + 4], ax
mov al, byte [ebx + 6]
mov byte [ecx + 6], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 7
push ecx
call esi
test eax, eax
jne 0x10069c4d
call edi
mov eax, 0x10069520
mov byte [ebp - 0x10], 0xe9
sub eax, 0x609552
mov dword [ebp - 4], 0
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x60954d
call esi
test eax, eax
je 0x10069c9f
mov eax, dword [ebp - 0x10]
mov ecx, 0x60954d
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10069ca1
call edi
push 7
call fcn.10131c6d
mov ebx, eax
mov dword [ebp - 4], 0
mov eax, 0x90909090
add esp, 4
mov dword [ebx], eax
mov word [ebx + 4], ax
mov byte [ebx + 6], al
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x60f04c
call esi
test eax, eax
je 0x10069d03
mov eax, dword [ebx]
mov ecx, 0x60f04c
mov dword [ecx], eax
mov ax, word [ebx + 4]
mov word [ecx + 4], ax
mov al, byte [ebx + 6]
mov byte [ecx + 6], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 7
push ecx
call esi
test eax, eax
jne 0x10069d05
call edi
mov eax, 0x10069590
mov byte [ebp - 0x10], 0xe9
sub eax, 0x60f051
mov dword [ebp - 4], 0
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x60f04c
call esi
test eax, eax
je 0x10069d57
mov eax, dword [ebp - 0x10]
mov ecx, 0x60f04c
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10069d59
call edi
cmp dword [0x102c3354], 0
je 0x10069da1
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x5de2b2
mov bl, 1
call esi
test eax, eax
je 0x10069d9f
lea eax, [ebp - 8]
mov byte [0x5de2b2], bl
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x5de2b2
call esi
test eax, eax
jne 0x10069da1
call edi
cmp dword [0x102c334c], 0
pop edi
pop ebx
je 0x10069dda
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x57655b
call esi
mov eax, 0x57655b
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x57655b
call esi
cmp dword [0x102c3348], 0
je 0x10069e3f
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x576ddb
call esi
mov eax, 0x576ddb
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x576ddb
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x5883f4
call esi
mov eax, 0x5883f4
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x5883f4
call esi
cmp dword [0x102c3344], 0
je 0x10069ec2
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x588661
call esi
mov eax, 0x588661
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x588661
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x51ec90
call esi
lea eax, [ebp - 4]
mov byte [0x51ec90], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x51ec90
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x51ee20
call esi
lea eax, [ebp - 4]
mov byte [0x51ee20], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x51ee20
call esi
cmp dword [0x102c3340], 0
je 0x10069ef1
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x771310
call esi
lea eax, [ebp - 4]
mov byte [0x771310], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x771310
call esi
cmp dword [0x102c333c], 0
je 0x10069f6f
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x74cd30
call esi
lea eax, [ebp - 4]
mov byte [0x74cd30], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x74cd30
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x608fb0
call esi
lea eax, [ebp - 4]
mov byte [0x608fb0], 0xc3
push eax
push dword [ebp - 4]
push 1
push 0x608fb0
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 4
push 0x72d1bd
call esi
lea eax, [ebp - 4]
mov dword [0x72d1bd], 0
push eax
push dword [ebp - 4]
push 4
push 0x72d1bd
call esi
pop esi
mov esp, ebp
pop ebp
ret