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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
push ebx
push esi
push edi
test cl, cl
je 0x10014da1
mov dword [0x100a7cb0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100a7cb0]
cmp eax, 0xa
jge 0x10014db4
inc eax
mov dword [0x100a7cb0], eax
cmp eax, 0xa
jne 0x1001515c
push str.Applying_drug_dealer_fix..._n
call fcn.100116e0
mov eax, dword [0x100cf96c]
add esp, 4
mov eax, dword [eax + 0x15aec]
mov dword [ebp - 0x18], eax
mov edi, dword [eax]
cmp edi, eax
je 0x10015145
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, 0x12c
mov dword [ebp - 0x10], 0xfe
movzx esi, word [edi + 8]
cmp si, cx
jbe 0x1001513b
mov edx, dword [edi + 0xc]
cmp edx, dword [edi + 0x10]
je 0x1001513b
nop word [eax + eax]
movzx ecx, word [edx]
cmp ecx, 0x1c
je 0x10014e35
cmp ecx, 0x1d
je 0x10014e35
cmp ecx, 0x1e
je 0x10014e35
cmp cx, word [ebp - 0x10]
je 0x10014e35
add edx, 2
cmp edx, dword [edi + 0x10]
jne 0x10014e10
jmp 0x10015136
mov ecx, dword [0x100cfa44]
mov eax, esi
mov edx, dword [0x100cfa48]
cmp ecx, edx
je 0x10014e53
cmp word [ecx], si
je 0x10014e53
add ecx, 2
cmp ecx, edx
jne 0x10014e47
push eax
cmp ecx, edx
mov eax, str._uSP_n
mov ecx, 0x1008c1b4
cmove eax, ecx
push eax
call fcn.100116e0
add esp, 8
mov dword [ebp - 0xc], 0x476d56
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xc]
push eax
call fcn.1000b490
mov dword [ebp - 0x24], 1
mov esi, dword [eax]
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], esi
call ebx
test eax, eax
setne byte [ebp - 0x1c]
mov cl, byte [esi]
mov byte [ebp - 1], cl
test eax, eax
je 0x10014ec1
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0xc]
push ecx
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x28]
call ebx
mov cl, byte [ebp - 1]
movzx eax, cl
sub eax, 0xe8
je 0x10014f68
sub eax, 1
je 0x10014f68
sub eax, 0x16
jne 0x10014f64
lea eax, [ebp - 0x30]
mov dword [ebp - 0x34], 1
push eax
push 0x40
inc esi
push 1
push esi
mov dword [ebp - 0x38], esi
call ebx
test eax, eax
setne byte [ebp - 0x2c]
mov cl, byte [esi]
mov byte [ebp - 1], cl
test eax, eax
je 0x10014f1c
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xc]
push ecx
push eax
push dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x38]
call ebx
mov cl, byte [ebp - 1]
cmp cl, 0x15
je 0x10014f26
cmp cl, 0x25
jne 0x10014f64
mov esi, dword [ebp - 8]
lea eax, [ebp - 0x40]
push eax
push 0x40
add esi, 2
mov dword [ebp - 0x44], 4
push 4
push esi
mov dword [ebp - 0x48], esi
call ebx
test eax, eax
setne byte [ebp - 0x3c]
mov esi, dword [esi]
test eax, eax
je 0x10014f60
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x44]
mov dword [ebp - 8], eax
push dword [ebp - 0x48]
call ebx
mov eax, dword [esi]
jmp 0x10014fa8
xor eax, eax
jmp 0x10014fa8
lea eax, [ebp - 0x50]
mov dword [ebp - 0x54], 4
push eax
push 0x40
inc esi
push 4
push esi
mov dword [ebp - 0x58], esi
call ebx
test eax, eax
setne byte [ebp - 0x4c]
mov ecx, dword [esi]
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x10014fa3
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x54]
mov dword [ebp - 8], eax
push dword [ebp - 0x58]
call ebx
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 4]
add eax, ecx
mov ecx, dword [0x476d51]
push 0x13
call eax
movzx eax, ax
lea ecx, [ebp - 8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xa0]
push eax
mov dword [ebp - 8], 0x476d86
call fcn.1000b490
mov dword [ebp - 0x64], 1
mov esi, dword [eax]
lea eax, [ebp - 0x60]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x68], esi
call ebx
test eax, eax
setne byte [ebp - 0x5c]
mov cl, byte [esi]
mov byte [ebp - 1], cl
test eax, eax
je 0x1001500d
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x64]
mov dword [ebp - 8], eax
push dword [ebp - 0x68]
call ebx
mov cl, byte [ebp - 1]
movzx eax, cl
sub eax, 0xe8
je 0x100150c0
sub eax, 1
je 0x100150c0
sub eax, 0x16
jne 0x100150bc
lea eax, [ebp - 0x70]
mov dword [ebp - 0x74], 1
push eax
push 0x40
inc esi
push 1
push esi
mov dword [ebp - 0x78], esi
call ebx
test eax, eax
setne byte [ebp - 0x6c]
mov cl, byte [esi]
mov byte [ebp - 1], cl
test eax, eax
je 0x10015068
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x74]
mov dword [ebp - 8], eax
push dword [ebp - 0x78]
call ebx
mov cl, byte [ebp - 1]
cmp cl, 0x15
je 0x10015072
cmp cl, 0x25
jne 0x100150bc
mov esi, dword [ebp - 0xc]
lea eax, [ebp - 0x80]
push eax
push 0x40
add esi, 2
mov dword [ebp - 0x84], 4
push 4
push esi
mov dword [ebp - 0x88], esi
call ebx
test eax, eax
setne byte [ebp - 0x7c]
mov esi, dword [esi]
test eax, eax
je 0x100150b8
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x84]
mov dword [ebp - 8], eax
push dword [ebp - 0x88]
call ebx
mov eax, dword [esi]
jmp 0x10015115
xor eax, eax
jmp 0x10015115
lea eax, [ebp - 0x90]
mov dword [ebp - 0x94], 4
push eax
push 0x40
inc esi
push 4
push esi
mov dword [ebp - 0x98], esi
call ebx
test eax, eax
setne byte [ebp - 0x8c]
mov ecx, dword [esi]
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x10015110
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x94]
mov dword [ebp - 8], eax
push dword [ebp - 0x98]
call ebx
mov ecx, dword [ebp - 0xc]
lea eax, [ecx + 4]
add eax, esi
push ecx
movzx ecx, word [edi + 8]
mov dword [esp], 0xbf800000
push 0xffffffffffffffff
push 0
push 0x64
push ecx
push dword [ebp - 0x14]
mov ecx, dword [0x476d7d]
call eax
mov eax, dword [ebp - 0x18]
mov ecx, 0x12c
mov edi, dword [edi]
cmp edi, eax
jne 0x10014df1
push 0x1008c188
call fcn.100116e0
add esp, 4
mov dword [0x100a7cb0], 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret