Function at 0x1006ce10
Capabilities:
Allocate or change rwx memory
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x18
push esi
xor esi, esi
push edi
test eax, eax
je 0x1006ce23
mov dword [eax], esi
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1006ce2c
mov dword [edi], esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x1006ce35
mov dword [eax], esi
cmp dword [ebp + 0xc], esi
jne 0x1006ce47
pop edi
mov eax, 0x57
pop esi
mov esp, ebp
pop ebp
ret 0x14
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x102f3ba8], eax
je 0x1006ce62
pop edi
mov eax, 0x10dd
pop esi
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [0x102f3bac]
test eax, eax
jne 0x1006d138
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1006ce8c
mov eax, dword [ecx]
test eax, eax
jne 0x1006ce99
mov dword [0x102f3bac], 6
mov dword [0x102f3bb0], ecx
pop edi
mov eax, 6
pop esi
mov esp, ebp
pop ebp
ret 0x14
push ebx
xor ebx, ebx
push ebx
push eax
call fcn.1006d140
push ebx
push dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
call fcn.1006d140
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp + 0x14]
jne 0x1006cecc
cmp dword [0x102f3ba0], ebx
jne 0x1006d12d
xor edi, edi
jmp 0x1006d0f6
mov esi, dword [ebp + 0x14]
test edi, edi
je 0x1006ced5
mov dword [edi], esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x1006cede
mov dword [eax], ecx
push 0x18
call fcn.100bbfe7
mov edi, eax
add esp, 4
mov dword [ebp + 0x18], edi
test edi, edi
jne 0x1006cef9
lea esi, [eax + 8]
jmp 0x1006d0f6
push esi
call fcn.1006c7a0
mov ebx, eax
add esp, 4
mov dword [ebp + 0xc], ebx
test ebx, ebx
jne 0x1006cf13
lea esi, [eax + 8]
jmp 0x1006d0f6
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1006cf1c
mov dword [eax], ebx
xorps xmm0, xmm0
lea eax, [ebx + 0x1e]
movq qword [ebx + 0x38], xmm0
mov ecx, ebx
mov dword [ebp - 0xc], eax
mov edi, esi
xor eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
nop word [eax + eax]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push 0
push edi
lea eax, [ebp - 0xc]
mov esi, edi
push eax
push ecx
call fcn.1006df60
mov ecx, dword [ebp - 4]
mov edi, eax
mov eax, dword [ebp - 0x10]
mov ebx, edi
sub ebx, dword [ebp + 0x14]
sub eax, esi
mov edx, dword [ebp + 0xc]
add eax, edi
add ecx, eax
mov al, bl
mov dword [ebp - 4], ecx
and al, 7
sub cl, dl
shl cl, 3
xor cl, al
mov eax, dword [ebp - 8]
mov byte [edx + eax + 0x38], cl
inc eax
mov dword [ebp - 8], eax
cmp eax, 8
jae 0x1006cfe6
mov al, byte [esi]
cmp al, 0xeb
je 0x1006cfe6
cmp al, 0xe9
je 0x1006cfe6
cmp al, 0xe0
je 0x1006cfe6
cmp al, 0xc2
je 0x1006cfe6
cmp al, 0xc3
je 0x1006cfe6
cmp al, 0xcc
je 0x1006cfe6
cmp al, 0xf3
jne 0x1006d04b
cmp byte [esi + 1], 0xc3
je 0x1006cfe6
cmp al, 0x26
je 0x1006cfce
cmp al, 0x2e
je 0x1006cfce
cmp al, 0x36
je 0x1006cfce
cmp al, 0x3e
je 0x1006cfce
cmp al, 0x64
je 0x1006cfce
cmp al, 0x65
jne 0x1006cfda
cmp byte [esi + 1], 0xff
jne 0x1006cfda
cmp byte [esi + 2], 0x25
je 0x1006cfe6
mov ecx, dword [ebp - 4]
cmp ebx, 5
jb 0x1006cf40
cmp ebx, 5
jae 0x1006d010
nop dword [eax + eax]
push edi
call fcn.1006cad0
add esp, 4
test eax, eax
je 0x1006d0e2
add edi, eax
mov ebx, edi
sub ebx, dword [ebp + 0x14]
cmp ebx, 5
jb 0x1006cff0
mov edx, dword [ebp + 0xc]
cmp dword [ebp - 8], 8
ja 0x1006d0e2
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jbe 0x1006d023
int3
mov edi, dword [ebp + 0x14]
sub al, dl
push ebx
mov byte [edx + 0x1e], al
lea eax, [edx + 0x20]
push edi
push eax
mov byte [edx + 0x36], bl
call fcn.100be480
add esp, 0xc
cmp ebx, 0x19
jbe 0x1006d05c
mov esi, 6
jmp 0x1006d0f0
cmp al, 0xff
jne 0x1006cfb6
cmp byte [esi + 1], 0x25
jmp 0x1006cfd8
mov esi, dword [ebp + 0xc]
lea edx, [ebx + edi]
mov eax, dword [ebp - 0x18]
movzx ecx, byte [esi + 0x1e]
add ecx, esi
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], edx
lea eax, [ecx + 5]
mov byte [ecx], 0xe9
sub edx, eax
lea eax, [ecx + 5]
mov dword [ecx + 1], edx
push dword [ebp - 0xc]
push eax
call fcn.1006ca90
add esp, 8
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push 0x40
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1006d0ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1006d0f0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
pop ebx
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0xc], edi
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [0x102f3bb8]
pop edi
mov dword [ecx], eax
xor eax, eax
mov dword [0x102f3bb8], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x14
cmp dword [0x102f3ba0], 0
mov esi, 9
jne 0x1006d102
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
mov dword [0x102f3bac], esi
test ebx, ebx
je 0x1006d11e
jmp 0x1006d108
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
push ebx
call fcn.1006ca60
mov eax, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x1006d11e
mov dword [eax], 0
test edi, edi
je 0x1006d12d
push 0x18
push edi
call fcn.100bc017
add esp, 8
mov eax, dword [ebp + 8]
mov dword [0x102f3bb0], eax
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14