Function at 0x6117cca9
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, ecx
mov dword [ebp - 0x10], edx
push edi
mov dword [ebp - 0x18], ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x61185ab4], eax
je 0x6117ccd3
mov eax, 0x10dd
jmp 0x6117ce92
mov eax, dword [0x61185ab0]
test eax, eax
jne 0x6117ce92
test ebx, ebx
jne 0x6117ccec
push 6
pop eax
jmp 0x6117ce92
mov ecx, dword [ebx]
push esi
test ecx, ecx
jne 0x6117cd01
push 6
pop edi
mov dword [0x61185ab0], edi
jmp 0x6117ce89
mov esi, edi
mov ebx, edi
call fcn.6117ca27
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], eax
call fcn.6117ca27
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 4]
je 0x6117ce6a
push 0x18
call fcn.61172f6b
mov ebx, eax
pop ecx
test ebx, ebx
je 0x6117cd40
mov ecx, dword [ebp - 4]
call fcn.6117c7b5
mov esi, eax
mov dword [ebp - 0xc], esi
test esi, esi
jne 0x6117cd48
push 8
pop edi
jmp 0x6117ce6a
mov eax, dword [ebp - 4]
mov edx, edi
mov dword [ebp - 8], edx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x1c], eax
push ecx
push ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x10], edi
mov edx, eax
call fcn.6117ce98
mov dword [ebp - 0x20], eax
test eax, eax
je 0x6117ce65
cmp dword [ebp - 0x10], edi
jne 0x6117cd93
mov ecx, dword [ebp - 0x1c]
mov edx, eax
sub edx, dword [ebp - 4]
mov dword [ebp - 8], edx
call fcn.6117c741
test eax, eax
jne 0x6117cd96
mov eax, dword [ebp - 0x20]
cmp edx, 5
jl 0x6117cd50
jmp 0x6117cd96
mov edx, dword [ebp - 8]
cmp edx, 5
jge 0x6117cd9f
push 9
jmp 0x6117cd42
cmp edx, 0x12
jbe 0x6117cda8
push 6
jmp 0x6117cd42
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
add esi, edx
mov dword [ecx + 0x1c], eax
lea edx, [ecx + 0x17]
mov eax, dword [ebp - 8]
mov dword [ecx + 0x18], esi
add ecx, eax
mov byte [edx], al
lea eax, [ecx + 5]
mov byte [ecx], 0xe9
sub esi, eax
mov dword [ecx + 1], esi
add ecx, 5
call fcn.6117c718
mov esi, dword [ebp - 4]
lea eax, [ebp - 0x14]
push eax
push 0x40
push dword [ebp - 8]
mov dword [ebp - 0x14], edi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x6117cdfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp - 0xc]
mov edi, eax
jmp 0x6117ce6a
mov ecx, esi
call fcn.6117c9c3
mov esi, eax
test esi, esi
je 0x6117ce39
mov eax, 0x6544
cmp word [esi + 0x1c], ax
je 0x6117ce39
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], edi
push eax
push 0x40
push 0x40
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x6117cdf0
mov dword [esi + 0x1c], 0x6f746544
mov dword [esi + 0x20], 0x21737275
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0xc]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 4], edi
mov dword [ebx + 0x10], esi
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x14], eax
mov eax, dword [0x61185acc]
mov dword [ebx], eax
xor eax, eax
mov dword [0x61185acc], ebx
jmp 0x6117ce91
mov edi, 0x225
mov dword [0x61185ab0], edi
test esi, esi
je 0x6117ce7b
mov ecx, esi
call fcn.6117c9a2
test ebx, ebx
je 0x6117ce86
push ebx
call fcn.61172f60
pop ecx
mov ebx, dword [ebp - 0x18]
mov dword [0x61185abc], ebx
mov eax, edi
pop esi
pop edi
pop ebx
leave
ret 0xc