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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x10059898]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x30], eax
mov eax, dword [0x680a18]
mov dword [ebp - 0x3c], eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp eax, 7
je 0x100079ba
cmp byte [ebp + 0xc], 0
je 0x100079ba
lea eax, [ebp - 0xc]
push eax
push 0x40
push 2
push 0x5ebb63
call esi
mov eax, 0x5ebb63
mov ecx, 0x90909090
mov word [eax], cx
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 2
push 0x5ebb63
call esi
push str.windmode.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x5a1232
call esi
lea eax, [ebp - 8]
mov byte [0x5a1232], 3
push eax
push dword [ebp - 0xc]
push 1
push 0x5a1232
call esi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x66
push eax
push 0x5e752a
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x5e752b
call esi
mov eax, 0x5e752b
mov byte [eax], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 1
push 0x5e752b
call esi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x66
push eax
push 0x41ffe8
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x41ffe9
call esi
mov eax, 0x41ffe9
mov byte [eax], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 1
push 0x41ffe9
call esi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x66
push eax
push 0x57703d
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x57703e
call esi
mov eax, 0x57703e
mov byte [eax], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 1
push 0x57703e
call esi
mov dword [ebp - 0x1c], 0xf423c68
mov byte [ebp - 0x18], 0
call fcn.10015160
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x28], 0xe9
push eax
push 1
lea eax, [ebp - 0x28]
push eax
push 0x5251d5
call ebx
push eax
call edi
mov eax, 0x1000f9e0
sub eax, 0x5251da
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push 0x5251d6
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x5251da
call esi
mov eax, 0x5251da
mov byte [eax], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 1
push 0x5251da
call esi
lea eax, [ebp - 0x14]
mov byte [ebp - 0x28], 0xe9
push eax
push 1
lea eax, [ebp - 0x28]
push eax
push 0x5b7689
call ebx
push eax
call edi
mov eax, 0x1000fa10
sub eax, 0x5b768e
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x14]
push eax
push 4
lea eax, [ebp - 0x2c]
push eax
push 0x5b768a
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x5b768e
call esi
mov eax, 0x5b768e
mov byte [eax], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 1
push 0x5b768e
call esi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0xeb
push eax
push 0x5b7804
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x2c
push eax
push 0x5b7805
call ebx
push eax
call edi
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
push 0x5b7806
call esi
mov eax, 0x5b7806
mov dword [eax], 0x90909090
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 4
push 0x5b7806
call esi
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x10007b01
call fcn.100150c0
push 0
push 5
lea eax, [ebp - 0x1c]
push eax
push 0x5172ee
call ebx
push eax
call edi
mov cl, byte [ebp + 0x10]
cmp dword [ebp - 0x3c], 7
je 0x10007e44
mov eax, dword [0x1005a414]
test cl, cl
mov edx, 1
cmovne eax, edx
mov dword [0x1005a414], eax
lea eax, [ebp - 0xc]
push eax
push 0x40
push 8
push 0x5101f5
call esi
mov eax, 0x5101f5
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
push 8
push 0x5101f5
call esi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0xeb
push eax
push 0x4ff1e4
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0xeb
push eax
push 0x50a448
call ebx
push eax
call edi
push dword [ebp + 0x14]
call fcn.10015620
add esp, 4
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x586f5f
call esi
lea eax, [ebp - 8]
mov byte [0x586f5f], 0xac
push eax
push dword [ebp - 0xc]
push 1
push 0x586f5f
call esi
push dword [ebp + 8]
call fcn.10007e60
add esp, 4
call fcn.10012cd0
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0xfa
push eax
push 0x5056ab
call ebx
push eax
call edi
lea eax, [ebp - 0x38]
push eax
push 0x40
push 5
push 0x5256b6
call esi
mov byte [0x5256b6], 0xe9
mov eax, 0x1000aab0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, 0xffada945
mov dword [0x5256b7], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
push 5
push 0x5256b6
call esi
push 0
push 6
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x5489f28b
push eax
push 0x51de3e
mov word [ebp - 0x10], 0x1424
call ebx
push eax
call edi
push 0
push 6
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x5489f631
push eax
push 0x51de4d
mov word [ebp - 0x20], 0x1424
call ebx
push eax
call edi
push 0
push 4
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xe98bf98b
push eax
push 0x525709
call ebx
push eax
call edi
push 0
push 7
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x1bdff31
push eax
push 0x525712
mov word [ebp - 8], 0
mov byte [ebp - 6], 0
call ebx
push eax
call edi
push 0
push dword [ebp - 0x30]
call fcn.100140f0
add esp, 8
lea eax, [ebp - 0x38]
push eax
push 0x40
push 5
push 0x504084
call esi
mov byte [0x504084], 0xe9
mov eax, 0x1000a860
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0xffafbf77
mov dword [0x504085], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
push 5
push 0x504084
call esi
lea eax, [ebp - 0x38]
push eax
push 0x40
push 5
push 0x4fdbbc
call esi
mov byte [0x4fdbbc], 0xe9
mov eax, 0x1000a830
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0xffb0243f
mov dword [0x4fdbbd], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
push 5
push 0x4fdbbc
call esi
lea eax, [ebp - 0x38]
push eax
push 0x40
push 5
push 0x524885
call esi
mov byte [0x524885], 0xe9
mov eax, 0x1000a8c0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0xffadb776
mov dword [0x524886], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
push 5
push 0x524885
call esi
call fcn.1000fe20
call fcn.10013f90
push 0
push 3
lea eax, [ebp - 0x2c]
mov word [ebp - 0x2c], 0x8024
push eax
push 0x412b8c
mov byte [ebp - 0x2a], 0x74
call ebx
push eax
call edi
push 0
push 3
lea eax, [ebp - 0x2c]
push eax
push 0x5b1c19
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x64
push eax
push 0x412c31
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x80
push eax
push 0x412c34
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x84
push eax
push 0x412c36
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x24
push eax
push 0x431cd0
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x80
push eax
push 0x431cd2
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x95
push eax
push 0x431cd4
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x64
push eax
push 0x5b1c28
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x80
push eax
push 0x5b1c2b
call ebx
push eax
call edi
push 0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x84
push eax
push 0x5b1c2d
call ebx
push eax
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002f2fb
mov esp, ebp
pop ebp
ret