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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 0x14
call fcn.1000442e
add esp, 4
mov dword [ebp - 0x10], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14], esp
mov ebx, dword [ebp + 8]
push dword [ebx]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10003154
push 0x19
push 0x4010008
push 6
call fcn.10004434
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100031a6
mov dword [ebp - 0x14], esp
mov ebx, dword [ebp + 8]
push dword [ebx]
xor eax, eax
call dword [0x100093a3]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x1000318f
push 0x83
push 0x4010008
push 6
call fcn.10004434
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100031a6
mov eax, 0
jmp 0x10003a58
mov dword [ebp - 0x14], esp
mov ebx, dword [ebp + 0xc]
push dword [ebx]
push dword [ebp - 4]
xor eax, eax
call dword [0x100093a7]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x100031d7
push 0x120
push 0x4010008
push 6
call fcn.10004434
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x100031ee
mov eax, 0
jmp 0x10003a58
mov ebx, dword [0x1000939b]
call fcn.1000307b
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x1000327c
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x1000323a
push 0x1dc
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x10003257
push 0x1dc
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], eax
jne 0x10003277
mov eax, dword [ebp - 0xc]
jmp 0x10003a58
pop eax
pop ebx
pop ecx
jmp 0x10003202
add esp, 0xc
mov dword [ebp - 0x14], esp
mov eax, 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 5
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x100032c1
push 0x275
push 0x4010008
push 6
call fcn.10004434
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x100032d8
mov eax, 0
jmp 0x10003a58
push 0x1000939b
push 4
mov eax, 2
call fcn.100047e0
add esp, 8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ebx, dword [0x1000939b]
mov dword [ebp - 0x18], ebx
call fcn.10001ae7
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x18]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x1000331f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1c]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x18]
call fcn.10004446
add esp, 8
mov dword [0x1000939b], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x1c]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x14]
push edi
push eax
push 0x14
call fcn.1000442e
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x10003379
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.1000442e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x1000339a
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.1000442e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
mov ebx, dword [0x1000939b]
call fcn.1000307b
mov dword [ebp - 0xc], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x100033d9
push 0x322
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100033f6
push 0x322
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003432
push 0x353
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1000344f
push 0x353
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x14], ebx
push 0x80000301
push 0
push 5
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0x910
call fcn.10004900
add esp, 0x1c
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
test ebx, ebx
je 0x1000349d
push ebx
call fcn.10004422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x100034cd
push 0x3a0
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100034ea
push 0x3a0
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x14], ebx
push 0x80000006
push 0
push dword [ebp + 0x10]
push 1
mov ebx, 0x9dc
call fcn.10004d40
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003542
push 0x3e4
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1000355f
push 0x3e4
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003596
push 0x40d
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100035b3
push 0x40d
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x18], ebx
push 0x100092f4
mov ebx, dword [ebp - 0x18]
push dword [ebx]
mov ecx, 2
call fcn.10003094
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100035f0
push ebx
call fcn.10004422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003620
push 0x467
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1000363d
push 0x467
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x14], ebx
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003674
push 0x490
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x10003691
push 0x490
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x18], ebx
push dword [ebp - 0x18]
call fcn.10003a94
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x100036d5
push 0x4cd
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100036f2
push 0x4cd
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
fild dword [ebx]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x10009301]
fstp qword [ebp - 0x24]
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x1000373d
push 0x548
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1000375a
push 0x548
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
fild dword [ebx]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fadd qword [0x10009309]
fstp qword [ebp - 0x38]
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x100037a2
push 0x57b
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100037bf
push 0x57b
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
fild dword [ebx]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10009311]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x38]
fsub qword [ebp - 0x4c]
fstp qword [ebp - 0x54]
push 0x80000601
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push 1
mov ebx, 0x9dc
call fcn.10004d40
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x9dc
call fcn.10004d40
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.10004fe0
add esp, 0x10
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
push eax
fld qword [ebp - 0x24]
call fcn.10001d78
push eax
call fcn.100029dc
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x1000385f
push ebx
call fcn.10004422
add esp, 4
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003889
push 0x5b3
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100038a6
push 0x5b3
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x100038da
push 0x61d
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x100038f7
push 0x61d
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x18], ebx
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x1000392e
push 0x646
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1000394b
push 0x646
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x1c]
fild dword [ebx]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fadd qword [0x10009309]
fstp qword [ebp - 0x2c]
mov ebx, dword [ebp - 0x18]
fild dword [ebx]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fsub qword [ebp - 0x2c]
fstp qword [ebp - 0x3c]
push 0x80000601
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push 1
mov ebx, 0x9dc
call fcn.10004d40
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.10004fe0
add esp, 0x10
mov dword [ebp - 0x44], eax
push dword [ebp - 0x44]
push 0x10009319
mov ecx, 2
call fcn.10003094
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x100039dc
push ebx
call fcn.10004422
add esp, 4
lea eax, [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x14]
push dword [ebx]
call fcn.100029dc
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x100039fa
push ebx
call fcn.10004422
add esp, 4
mov ebx, dword [0x1000939b]
call fcn.10001ae7
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x10003a24
push 0x67e
push 0x4010008
push 4
call fcn.10004434
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x10003a41
push 0x67e
push 0x4010008
push 1
call fcn.10004434
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
jmp 0x10003a58
push eax
mov ebx, dword [ebp - 0x10]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10003a70
push ebx
call fcn.10004422
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10003a84
push ebx
call fcn.10004422
add esp, 4
pop ebx
call fcn.10004422
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc