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

Disassembly:
push ecx
push ebx
push esi
push edi
call fcn.10008230
cmp byte [0x100ad4b4], 0
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
je 0x10008422
mov esi, dword [0x100ad4a0]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad494]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad4a4
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad4b4], 0
cmp byte [0x100ad400], 0
je 0x10008465
mov esi, dword [0x100ad3ec]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad3e0]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad3f0
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad400], 0
cmp byte [0x100ad424], 0
je 0x100084a8
mov esi, dword [0x100ad410]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad404]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad414
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad424], 0
call fcn.10008230
cmp byte [0x100ad4fc], 0
je 0x100084f0
mov esi, dword [0x100ad4e8]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad4dc]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad4ec
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad4fc], 0
cmp byte [0x100ad4d8], 0
je 0x10008533
mov esi, dword [0x100ad4c4]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad4b8]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad4c8
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad4d8], 0
cmp byte [0x100ad490], 0
je 0x10008576
mov esi, dword [0x100ad47c]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad470]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad480
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad490], 0
call fcn.10008230
cmp byte [0x100ad46c], 0
je 0x100085be
mov esi, dword [0x100ad458]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad44c]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad45c
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad46c], 0
cmp byte [0x100ad448], 0
je 0x10008601
mov esi, dword [0x100ad434]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad428]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad438
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad448], 0
cmp byte [0x100ad370], 0
je 0x10008644
mov esi, dword [0x100ad35c]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad350]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad360
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad370], 0
cmp byte [0x100ad3b8], 0
je 0x10008687
mov esi, dword [0x100ad3a4]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad398]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad3a8
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad3b8], 0
cmp byte [0x100ad3dc], 0
je 0x100086ca
mov esi, dword [0x100ad3c8]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad3bc]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad3cc
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad3dc], 0
call fcn.1000a120
call fcn.10008230
mov ecx, dword [0x100ac038]
test ecx, ecx
je 0x100086e5
mov al, byte [0x100aa947]
mov byte [ecx], al
mov ecx, dword [0x100ac034]
test ecx, ecx
je 0x100086f6
mov al, byte [0x100aa946]
mov byte [ecx], al
mov eax, dword [0x100abe74]
test eax, eax
je 0x1000871a
mov eax, dword [eax]
test eax, eax
je 0x1000871a
mov eax, dword [eax + 0x68]
test eax, eax
je 0x1000871a
mov eax, dword [eax + 0x54]
test eax, eax
je 0x1000871a
mov dword [eax + 0x28], 0x3f800000
cmp byte [0x100ad590], 0
je 0x1000875d
mov esi, dword [0x100ad57c]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad570]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad580
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad590], 0
cmp byte [0x100ad520], 0
je 0x100087a0
mov esi, dword [0x100ad50c]
lea eax, [esp + 0xc]
mov edi, dword [0x100ad500]
push eax
push 0x40
push esi
push edi
call ebx
push esi
push 0x100ad510
push edi
call fcn.1004d2f0
add esp, 0xc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push esi
push edi
call ebx
mov byte [0x100ad520], 0
call fcn.1000a330
call fcn.10009c90
mov eax, dword [0x100abf38]
test eax, eax
je 0x100087e7
cmp dword [0x100abee4], 0
je 0x100087e7
lea ecx, [esp + 0xc]
push ecx
push 0x40
push 5
push eax
call ebx
mov ecx, dword [0x100abf38]
mov eax, dword [0x100abee4]
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push 5
push ecx
call ebx
pop edi
pop esi
pop ebx
pop ecx
ret