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

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x1032827c], 0
mov al, byte [0x1025a34f]
push esi
mov esi, dword [0x1025a258]
mov dword [0x105b0b90], 0
jne 0x100adce9
cmp al, 1
jne 0x100adb8a
mov dword [0x105b0b8c], 1
cmp esi, 2
je 0x100adb60
mov dword [0x105b0b78], 0x75
mov dword [0x105b0b7c], 0x57
jmp 0x100adba8
mov dword [0x105b0b78], 0x68
mov dword [0x105b0b7c], 0xc5
mov dword [0x105b0b80], 0x22
mov dword [0x105b0b84], 0x22
jmp 0x100adbbc
mov dword [0x105b0b78], 0x38
mov dword [0x105b0b7c], 0x2c
mov dword [0x105b0b8c], 0
mov dword [0x105b0b84], 0x16
mov dword [0x105b0b80], 0x16
cmp byte [0x1025a350], 1
mov dword [0x105b0b98], 0x73
mov dword [0x105b0b9c], 0x16
mov dword [0x105b0ba0], 0x16
mov dword [0x105b0bac], 0
jne 0x100adc08
mov dword [0x105b0ba8], 1
cmp esi, 2
jne 0x100adc12
mov dword [0x105b0b94], 0x26
jmp 0x100adc1c
mov dword [0x105b0ba8], 0
mov dword [0x105b0b94], 0x38
cmp dword [0x1025a348], 2
jne 0x100adc70
cmp esi, 2
je 0x100adc36
mov dword [0x105b0bc4], 1
jmp 0x100adc7a
push ecx
mov ecx, 2
push 1
cmp al, 1
jne 0x100adc58
push 0x16
push 0x16
push 0xd2
lea edx, [ecx + 0x50]
call fcn.100adab0
add esp, 0x14
jmp 0x100adc92
push 0x22
push 0x22
push 0xc5
mov edx, 0x64
call fcn.100adab0
add esp, 0x14
jmp 0x100adc92
mov dword [0x105b0bc4], 0
movaps xmm0, xmmword [0x1019e470]
mov dword [0x105b0bc8], 0
movaps xmmword [0x105b0bb0], xmm0
cmp byte [0x1025a351], 1
jne 0x100ade90
mov dword [0x105b0bd0], 0x73
mov dword [0x105b0bd4], 0x16
mov dword [0x105b0bd8], 0x16
mov dword [0x105b0be0], 1
mov dword [0x105b0be4], 0
cmp esi, 2
jne 0x100adec2
mov dword [0x105b0bcc], 0x54
jmp 0x100adecc
cmp al, 1
jne 0x100add3c
mov dword [0x105b0b8c], 1
cmp esi, 2
je 0x100add12
mov dword [0x105b0b78], 0x75
mov dword [0x105b0b7c], 0x57
jmp 0x100add5a
mov dword [0x105b0b78], 0x8c
mov dword [0x105b0b7c], 0xc5
mov dword [0x105b0b80], 0x22
mov dword [0x105b0b84], 0x22
jmp 0x100add6e
mov dword [0x105b0b78], 0x38
mov dword [0x105b0b7c], 0x2c
mov dword [0x105b0b8c], 0
mov dword [0x105b0b84], 0x16
mov dword [0x105b0b80], 0x16
cmp byte [0x1025a350], 1
mov dword [0x105b0b98], 0x73
mov dword [0x105b0b9c], 0x16
mov dword [0x105b0ba0], 0x16
mov dword [0x105b0bac], 0
jne 0x100addba
mov dword [0x105b0ba8], 1
cmp esi, 2
jne 0x100addc4
mov dword [0x105b0b94], 0x37
jmp 0x100addce
mov dword [0x105b0ba8], 0
mov dword [0x105b0b94], 0x38
cmp dword [0x1025a348], 2
jne 0x100ade22
cmp esi, 2
je 0x100adde8
mov dword [0x105b0bc4], 1
jmp 0x100ade2c
push ecx
mov ecx, 2
push 1
cmp al, 1
jne 0x100ade0a
push 0x16
push 0x16
push 0xd2
lea edx, [ecx + 0x72]
call fcn.100adab0
add esp, 0x14
jmp 0x100ade44
push 0x22
push 0x22
push 0xc5
mov edx, 0x8c
call fcn.100adab0
add esp, 0x14
jmp 0x100ade44
mov dword [0x105b0bc4], 0
movaps xmm0, xmmword [0x1019e470]
mov dword [0x105b0bc8], 0
movaps xmmword [0x105b0bb0], xmm0
cmp byte [0x1025a351], 1
jne 0x100ade90
mov dword [0x105b0bd0], 0x73
mov dword [0x105b0bd4], 0x16
mov dword [0x105b0bd8], 0x16
mov dword [0x105b0be0], 1
mov dword [0x105b0be4], 0
cmp esi, 2
jne 0x100adec2
mov dword [0x105b0bcc], 0x74
jmp 0x100adecc
mov dword [0x105b0be4], 0
mov dword [0x105b0be0], 0
mov dword [0x105b0bd8], 0x16
mov dword [0x105b0bd4], 0x16
mov dword [0x105b0bd0], 0x73
mov dword [0x105b0bcc], 0x75
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
push eax
push 0x40
push 0xd
push 0x83503c
call esi
mov eax, 0x83503c
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
mov dword [eax + 8], 0x90909090
mov byte [eax + 0xc], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0xd
push 0x83503c
call esi
push 0x100ae1c0
push 0x83503c
push 0xe9
call fcn.100cd930
push 0x100ae340
push 0x8373a0
push 0xe9
call fcn.100cd930
push 0x100ae6d0
push 0x8373c0
push 0xe9
call fcn.100cd930
add esp, 0x24
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x83b879
call esi
mov eax, 0x83b879
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x83b879
call esi
push 0x100ae820
push 0x83b879
push 0xe9
call fcn.100cd930
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x8353d9
call esi
mov eax, 0x8353d9
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x8353d9
call esi
push 0x100aebc0
push 0x8353d9
push 0xe9
call fcn.100cd930
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x833b26
call esi
mov ecx, 0x90909090
mov eax, 0x833b26
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x833b26
call esi
push 0x100aece0
push 0x833b26
push 0xe9
call fcn.100cd930
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x8380da
call esi
mov eax, 0x8380da
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x8380da
call esi
push 0x100aeef0
push 0x8380da
push 0xe9
call fcn.100cd930
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x7dd2c6
call esi
mov eax, 0x7dd2c6
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x7dd2c6
call esi
push 0x100af110
push 0x7dd2c6
push 0xe9
call fcn.100cd930
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x837b4f
call esi
mov eax, 0x837b4f
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x837b4f
call esi
push 0x100af1e0
push 0x837b4f
push 0xe9
call fcn.100cd930
add esp, 0xc
pop esi
mov esp, ebp
pop ebp
ret