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

Disassembly:
sub esp, 0x40
mov eax, dword [0x1010bb90]
xor eax, esp
mov dword [esp + 0x3c], eax
push ebx
push esi
push edi
push 0x32
lea eax, [esp + 0x18]
push 0x90
push eax
call fcn.100c44c0
mov ecx, 0x100796a0
sub ecx, 0x53ea8d
mov bl, 0xe9
mov dword [esp + 0x21], ecx
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x20], bl
mov edx, dword [esp + 0x20]
mov eax, 0x53ea88
mov dword [eax], edx
push 0x32
lea edx, [esp + 0x24]
push 0x90
push edx
mov byte [eax + 4], cl
call fcn.100c44c0
mov eax, 0x10079730
sub eax, 0x53e293
mov dword [esp + 0x2d], eax
movzx edx, byte [esp + 0x30]
mov byte [esp + 0x2c], bl
mov ecx, dword [esp + 0x2c]
mov eax, 0x53e28e
mov dword [eax], ecx
push 0x32
mov byte [eax + 4], dl
lea eax, [esp + 0x30]
push 0x90
push eax
call fcn.100c44c0
mov ecx, 0x10079760
sub ecx, 0x53ec06
mov dword [esp + 0x39], ecx
movzx ecx, byte [esp + 0x3c]
mov byte [esp + 0x38], bl
mov edx, dword [esp + 0x38]
mov eax, 0x53ec01
mov dword [eax], edx
push 0x32
lea edx, [esp + 0x3c]
push 0x90
push edx
mov byte [eax + 4], cl
call fcn.100c44c0
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x10079790
sub eax, 0x50b8f5
mov dword [esp + 0x45], eax
movzx edx, byte [esp + 0x48]
mov eax, 0x50b8f0
mov byte [esp + 0x44], bl
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov byte [eax + 4], dl
mov byte [0x53eb76], bl
mov byte [0x53eb77], 0x51
mov byte [0x53eb78], 0xfe
mov al, 0xff
mov byte [0x53eb79], al
mov byte [0x53eb7a], al
mov eax, 0x90909090
mov ecx, 0x576e67
mov byte [0x561af6], 0
mov dword [ecx], eax
add esp, 0x30
mov dword [ecx + 4], eax
mov byte [ecx + 8], al
lea eax, [esp + 0xc]
push eax
push 0x40
push 5
push 0x524582
call edi
mov byte [0x524582], 0xe8
mov ecx, 0x10079600
sub ecx, 0x524587
lea edx, [esp + 0x10]
push edx
mov dword [0x524583], ecx
mov eax, dword [esp + 0x10]
push eax
push 5
push 0x524582
call edi
push 0x32
lea ecx, [esp + 0x18]
push 0x90
push ecx
call fcn.100c44c0
push 0
push 0x20
push 0x1f
push 0x1e
push 0x1d
push 0x1c
push 0x1b
push 0x1a
push 0x19
push 0x18
push 0x17
push 0x16
push 0x15
push 0xffffffffffffff88
push 0xffffffffffffff8b
push 0xffffffffffffff86
push 0x3f
push 0x78
push 0xffffffffffffff82
push 0x6f
push 0x7f
push 0x6f
push 0x74
push 0x7e
push 0x77
push 0x69
push 0x6c
push 0x72
push 0x67
push 0x65
mov edx, 0x10079630
sub edx, 0x53e949
mov dword [esp + 0x99], edx
mov dx, word [esp + 0x9c]
push 0x76
mov byte [esp + 0x9c], bl
mov ecx, dword [esp + 0x9c]
mov eax, 0x53e944
push 0x6b
mov dword [eax], ecx
push 0x65
lea esi, [esp + 0xa4]
mov word [eax + 4], dx
call fcn.10070600
add esp, 0x90
cmp dword [eax + 0x18], 0x10
jb 0x10079a6d
mov eax, dword [eax + 4]
jmp 0x10079a70
add eax, 4
push 0x100f4118
push eax
call fcn.100c1120
add esp, 8
test eax, eax
je 0x10079a92
push eax
call fcn.100c190c
add esp, 4
mov esi, 1
jmp 0x10079a94
xor esi, esi
cmp dword [esp + 0x2c], 0x10
jb 0x10079aa8
mov eax, dword [esp + 0x18]
push eax
call fcn.100c14d4
add esp, 4
test esi, esi
je 0x10079ab6
mov dword [0x1019e2ec], 1
mov eax, 0x90909090
mov ecx, 0x53e930
mov dword [ecx], eax
mov byte [ecx + 4], al
mov ecx, 0x748054
mov byte [0x7b33b0], 0xeb
mov dword [ecx], eax
mov dword [ecx + 4], eax
push 0x32
mov word [ecx + 8], ax
lea ecx, [esp + 0x18]
push 0x90
push ecx
call fcn.100c44c0
mov dword [esp + 0x21], 0x4a9
movzx ecx, byte [esp + 0x24]
mov eax, 0x747f98
add esp, 0xc
mov byte [esp + 0x14], bl
mov edx, dword [esp + 0x14]
mov dword [eax], edx
lea edx, [esp + 0xc]
push edx
push 0x40
push 5
push 0x523421
mov byte [eax + 4], cl
call edi
mov eax, 0x10079680
mov byte [0x523421], 0xe8
sub eax, 0x523426
lea ecx, [esp + 0x10]
push ecx
mov dword [0x523422], eax
mov edx, dword [esp + 0x10]
push edx
push 5
push 0x523421
call edi
mov eax, 0x90909090
mov ecx, 0x576e59
mov dword [ecx], eax
mov word [ecx + 4], ax
mov ecx, 0x576dfb
mov dword [ecx], eax
mov word [ecx + 4], ax
push 0x32
mov byte [ecx + 6], al
lea eax, [esp + 0x18]
push 0x90
push eax
call fcn.100c44c0
mov ecx, 0x100797b0
sub ecx, 0x704d2b
mov dword [esp + 0x21], ecx
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x20], bl
mov edx, dword [esp + 0x20]
mov eax, 0x704d26
mov dword [eax], edx
push 0x32
lea edx, [esp + 0x24]
push 0x90
push edx
mov byte [eax + 4], cl
call fcn.100c44c0
mov eax, 0x100797d0
sub eax, 0x728db4
mov dword [esp + 0x2d], eax
movzx edx, byte [esp + 0x30]
mov byte [esp + 0x2c], bl
mov ecx, dword [esp + 0x2c]
mov eax, 0x728daf
mov dword [eax], ecx
push 0x32
mov byte [eax + 4], dl
lea eax, [esp + 0x30]
push 0x90
push eax
call fcn.100c44c0
mov byte [esp + 0x38], bl
mov ecx, 0x10079800
sub ecx, 0x72954b
mov dword [esp + 0x39], ecx
mov edx, dword [esp + 0x38]
movzx ecx, byte [esp + 0x3c]
mov eax, 0x729546
mov dword [eax], edx
push 0x32
lea edx, [esp + 0x3c]
push 0x90
push edx
mov byte [eax + 4], cl
call fcn.100c44c0
add esp, 0x30
mov eax, 0x10079830
sub eax, 0x7295a8
mov dword [esp + 0x15], eax
movzx edx, byte [esp + 0x18]
mov byte [esp + 0x14], bl
mov ecx, dword [esp + 0x14]
pop edi
mov eax, 0x7295a3
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
pop esi
pop ebx
xor ecx, esp
mov byte [eax + 4], dl
call fcn.100bfcbc
add esp, 0x40
ret