Function at 0x492790
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 0x4927a3
mov dword [eax], esi
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4927ac
mov dword [edi], esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4927b5
mov dword [eax], esi
cmp dword [ebp + 0xc], esi
jne 0x4927c7
pop edi
mov eax, 0x57
pop esi
mov esp, ebp
pop ebp
ret 0x14
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x5c27c0], eax
je 0x4927e2
pop edi
mov eax, 0x10dd
pop esi
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [0x5c27c4]
test eax, eax
jne 0x492ab8
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x49280c
mov eax, dword [ecx]
test eax, eax
jne 0x492819
mov dword [0x5c27c4], 6
mov dword [0x5c27c8], 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.00492ac0
push ebx
push dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
call fcn.00492ac0
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp + 0x14]
jne 0x49284c
cmp dword [0x5c27b8], ebx
jne 0x492aad
xor edi, edi
jmp 0x492a76
mov esi, dword [ebp + 0x14]
test edi, edi
je 0x492855
mov dword [edi], esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x49285e
mov dword [eax], ecx
push 0x18
call fcn.00563322
mov edi, eax
add esp, 4
mov dword [ebp + 0x18], edi
test edi, edi
jne 0x492879
lea esi, [eax + 8]
jmp 0x492a76
push esi
call fcn.00492120
mov ebx, eax
add esp, 4
mov dword [ebp + 0xc], ebx
test ebx, ebx
jne 0x492893
lea esi, [eax + 8]
jmp 0x492a76
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x49289c
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.00495320
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 0x492966
mov al, byte [esi]
cmp al, 0xeb
je 0x492966
cmp al, 0xe9
je 0x492966
cmp al, 0xe0
je 0x492966
cmp al, 0xc2
je 0x492966
cmp al, 0xc3
je 0x492966
cmp al, 0xcc
je 0x492966
cmp al, 0xf3
jne 0x4929cb
cmp byte [esi + 1], 0xc3
je 0x492966
cmp al, 0x26
je 0x49294e
cmp al, 0x2e
je 0x49294e
cmp al, 0x36
je 0x49294e
cmp al, 0x3e
je 0x49294e
cmp al, 0x64
je 0x49294e
cmp al, 0x65
jne 0x49295a
cmp byte [esi + 1], 0xff
jne 0x49295a
cmp byte [esi + 2], 0x25
je 0x492966
mov ecx, dword [ebp - 4]
cmp ebx, 5
jb 0x4928c0
cmp ebx, 5
jae 0x492990
nop dword [eax + eax]
push edi
call fcn.00492450
add esp, 4
test eax, eax
je 0x492a62
add edi, eax
mov ebx, edi
sub ebx, dword [ebp + 0x14]
cmp ebx, 5
jb 0x492970
mov edx, dword [ebp + 0xc]
cmp dword [ebp - 8], 8
ja 0x492a62
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jbe 0x4929a3
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 sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp ebx, 0x19
jbe 0x4929dc
mov esi, 6
jmp 0x492a70
cmp al, 0xff
jne 0x492936
cmp byte [esi + 1], 0x25
jmp 0x492958
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.00492410
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 0x492a2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x492a70
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 [0x5c27d0]
pop edi
mov dword [ecx], eax
xor eax, eax
mov dword [0x5c27d0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x14
cmp dword [0x5c27b8], 0
mov esi, 9
jne 0x492a82
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
mov dword [0x5c27c4], esi
test ebx, ebx
je 0x492a9e
jmp 0x492a88
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
push ebx
call fcn.004923e0
mov eax, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x492a9e
mov dword [eax], 0
test edi, edi
je 0x492aad
push 0x18
push edi
call fcn.00563352
add esp, 8
mov eax, dword [ebp + 8]
mov dword [0x5c27c8], eax
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14