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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x1003b068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.10003230
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1003c688]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1003ce90]
mov dword [ebp - 8], ecx
cmp eax, dword [ecx + 4]
jle 0x100038dd
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x100038dd
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
push ecx
mov eax, esp
lea ecx, [ebp - 0x1c]
mov dword [eax], 0x72ec94
call fcn.100010e0
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x14], 1
mov esi, 0x72ec94
mov dword [ebp - 0x18], esi
push eax
push 0x40
push 1
push esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xe8
cmp byte [ebp - 0xc], 0
je 0x10003933
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x1c]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x18]
call ebx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x72ec95
mov edi, 0x10003570
push 4
push esi
sub edi, 0x72ec99
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], edi
cmp byte [ebp - 0xc], 0
je 0x10003979
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x1c]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x18]
call ebx
mov edi, dword [ebp - 8]
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x100039cf
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x100039cf
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x72e5e1
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x1003baa0
cmp byte [ebp - 0xc], 0
je 0x10003a0e
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003a61
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003a61
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x7497bb
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x1003bab8
cmp byte [ebp - 0xc], 0
je 0x10003aa0
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003af3
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003af3
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x748a71
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x1003bab0
cmp byte [ebp - 0xc], 0
je 0x10003b32
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003b85
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003b85
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 1
push eax
push 0x40
mov esi, 0x7d2305
push 1
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0x1c
cmp byte [ebp - 0xc], 0
je 0x10003bc1
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003c14
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003c14
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 3
push eax
push 0x40
push 3
push 0x7d2336
mov dword [ebp - 0x18], 0x7d2336
call ebx
test eax, eax
mov ecx, 0x90909090
mov eax, 0x7d2336
setne byte [ebp - 0xc]
mov word [eax], cx
mov byte [eax + 2], cl
cmp byte [ebp - 0xc], 0
je 0x10003c60
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
cmp byte [0x1003ce31], 0
je 0x10003e61
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003cc0
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003cc0
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 0x11
push eax
push 0x40
push 0x11
push 0x7afcea
mov dword [ebp - 0x18], 0x7afcea
call ebx
test eax, eax
mov eax, 0x7afcea
setne byte [ebp - 0xc]
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
mov dword [eax + 8], 0x90909090
mov dword [eax + 0xc], 0x90909090
mov byte [eax + 0x10], 0x90
cmp byte [ebp - 0xc], 0
je 0x10003d20
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003d73
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003d73
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 3
push eax
push 0x40
push 3
push 0x7afd04
mov dword [ebp - 0x18], 0x7afd04
call ebx
test eax, eax
mov ecx, 0x90909090
mov eax, 0x7afd04
setne byte [ebp - 0xc]
mov word [eax], cx
mov byte [eax + 2], cl
cmp byte [ebp - 0xc], 0
je 0x10003dbf
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003e12
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003e12
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 7
push eax
push 0x40
push 7
push 0x7afd0b
mov dword [ebp - 0x18], 0x7afd0b
call ebx
test eax, eax
mov ecx, 0x90909090
mov eax, 0x7afd0b
setne byte [ebp - 0xc]
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
cmp byte [ebp - 0xc], 0
je 0x10003e61
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
cmp byte [0x1003ce32], 0
je 0x100040d2
mov eax, dword [0x1003ce84]
lea eax, [eax*4 + 0xb43068]
mov dword [ebp - 8], eax
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003ed0
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003ed0
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x71d702
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
mov eax, dword [ebp - 8]
setne byte [ebp - 0xc]
mov dword [esi], eax
cmp byte [ebp - 0xc], 0
je 0x10003f0e
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce4c]
lea eax, [eax*4 + 0xb43068]
mov dword [ebp - 8], eax
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10003f70
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10003f70
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x71d747
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
mov eax, dword [ebp - 8]
setne byte [ebp - 0xc]
mov dword [esi], eax
cmp byte [ebp - 0xc], 0
je 0x10003fae
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10004001
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10004001
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x7c8696
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x1003ce34
cmp byte [ebp - 0xc], 0
je 0x10004040
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10004093
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10004093
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x7c8686
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x548b0ceb
cmp byte [ebp - 0xc], 0
je 0x100040d2
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
cmp byte [0x1003ce30], 0
je 0x10004410
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10004132
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10004132
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x7f109e
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0
cmp byte [ebp - 0xc], 0
je 0x10004171
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x100041c4
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x100041c4
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x4b3da0
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x10003800
cmp byte [ebp - 0xc], 0
je 0x10004203
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x10004256
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x10004256
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x4b3f18
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x10003820
cmp byte [ebp - 0xc], 0
je 0x10004295
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x100042e8
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x100042e8
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x5c6916
push 4
push esi
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x138c
cmp byte [ebp - 0xc], 0
je 0x10004327
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov eax, dword [0x1003ce90]
cmp eax, dword [edi + 4]
jle 0x1000437a
push 0x1003ce90
call fcn.1000a3de
add esp, 4
cmp dword [0x1003ce90], 0xffffffff
jne 0x1000437a
mov dword [0x1003ce9c], str.Unknown_Plugin_Name
mov dword [0x1003cea4], 0
mov dword [0x1003cea0], 0
call fcn.10001270
push 0x1003ce90
call fcn.1000a394
add esp, 4
push ecx
mov eax, esp
lea ecx, [ebp - 8]
mov dword [eax], 0x5c1f79
call fcn.100010e0
add esp, 4
mov dword [ebp - 0x14], 1
lea eax, [ebp - 0x10]
mov esi, 0x5c1f79
mov dword [ebp - 0x18], esi
push eax
push 0x40
push 1
push esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xe9
cmp byte [ebp - 0xc], 0
je 0x100043ca
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 4
push eax
push 0x40
mov esi, 0x5c1f7a
mov edi, 0x10003840
push 4
push esi
sub edi, 0x5c1f7e
mov dword [ebp - 0x18], esi
call ebx
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], edi
cmp byte [ebp - 0xc], 0
je 0x10004410
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000a2bc
mov esp, ebp
pop ebp
ret