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

Disassembly:
sub esp, 0x24
mov eax, dword [0x145b084]
xor eax, esp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
push ebx
mov ebx, dword [esp + 0x38]
push ebp
mov ebp, dword [esp + 0x30]
push esi
mov dword [esp + 0x20], eax
xor esi, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
push edi
mov edi, dword [esp + 0x48]
test eax, eax
je 0x140496a
mov dword [eax], esi
test ebx, ebx
je 0x1404970
mov dword [ebx], esi
test edi, edi
je 0x1404976
mov dword [edi], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x345e1e4], eax
je 0x140499e
pop edi
pop esi
pop ebp
mov eax, 0x10dd
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.014096e2
add esp, 0x24
ret 0x14
mov eax, dword [0x345e1e8]
test eax, eax
jne 0x1404c50
test ebp, ebp
je 0x14049c6
mov eax, dword [ebp]
test eax, eax
jne 0x14049e0
mov dword [0x345e1e8], 6
mov dword [0x345e1ec], ebp
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.014096e2
add esp, 0x24
ret 0x14
push 0
push eax
mov dword [esp + 0x18], esi
call fcn.01404c70
push 0
push dword [esp + 0x28]
mov ebp, eax
call fcn.01404c70
mov dword [esp + 0x20], eax
cmp eax, ebp
jne 0x1404a14
cmp dword [0x345e1dc], esi
jne 0x1404c02
xor edi, edi
jmp 0x1404bce
test ebx, ebx
je 0x1404a1a
mov dword [ebx], ebp
test edi, edi
je 0x1404a20
mov dword [edi], eax
push 0x18
call fcn.01409757
mov edi, eax
add esp, 4
test edi, edi
jne 0x1404a38
lea esi, [eax + 8]
jmp 0x1404bce
push ebp
call fcn.01404520
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x1404a53
lea esi, [eax + 8]
jmp 0x1404bce
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1404a5d
mov dword [eax], ebx
xorps xmm0, xmm0
lea eax, [ebx + 0x1e]
mov ecx, ebx
movq qword [ebx + 0x38], xmm0
mov edx, ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
nop dword [eax]
nop dword [eax + eax]
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push 0
push edx
lea eax, [esp + 0x34]
mov esi, edx
push eax
push ecx
call fcn.014058c0
mov ecx, dword [esp + 0x14]
mov edx, eax
mov eax, dword [esp + 0x24]
mov ebx, edx
sub eax, esi
sub ebx, ebp
add eax, edx
add ecx, eax
mov al, bl
mov dword [esp + 0x14], ecx
and al, 7
sub cl, byte [esp + 0x10]
shl cl, 3
or cl, al
mov eax, dword [esp + 0x10]
mov byte [eax + 0x38], cl
mov al, byte [esi]
cmp al, 0xeb
je 0x1404b1f
cmp al, 0xe9
je 0x1404b1f
cmp al, 0xe0
je 0x1404b1f
cmp al, 0xc2
je 0x1404b1f
cmp al, 0xc3
je 0x1404b1f
cmp al, 0xcc
je 0x1404b1f
cmp al, 0xff
jne 0x1404aed
cmp byte [esi + 1], 0x25
jmp 0x1404b0f
cmp al, 0x26
je 0x1404b05
cmp al, 0x2e
je 0x1404b05
cmp al, 0x36
je 0x1404b05
cmp al, 0xe3
je 0x1404b05
cmp al, 0x64
je 0x1404b05
cmp al, 0x65
jne 0x1404b11
cmp byte [esi + 1], 0xff
jne 0x1404b11
cmp byte [esi + 2], 0x25
je 0x1404b1f
cmp ebx, 5
jae 0x1404b33
mov ecx, dword [esp + 0x14]
jmp 0x1404a80
cmp ebx, 5
jae 0x1404b33
cmp byte [edx], 0x90
jne 0x1404b64
inc edx
mov ebx, edx
sub ebx, ebp
cmp ebx, 5
jb 0x1404b24
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x28]
jbe 0x1404b3e
int3
mov eax, dword [esp + 0x10]
sub cl, al
push ebx
push ebp
mov byte [eax + 0x1e], cl
mov byte [eax + 0x36], bl
add eax, 0x20
push eax
call fcn.0140aa10
add esp, 0xc
cmp ebx, 0x19
jbe 0x1404b79
mov esi, 6
jmp 0x1404bce
cmp ebx, 5
jae 0x1404b33
cmp dword [0x345e1dc], 0
mov esi, 9
jne 0x1404bd4
jmp 0x1404bce
mov eax, dword [esp + 0x10]
lea edx, [ebx + ebp]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x44], ecx
movzx ecx, byte [eax + 0x1e]
add ecx, eax
mov dword [eax + 0x40], edx
lea eax, [ecx + 5]
mov byte [ecx], 0xe9
sub edx, eax
lea eax, [ecx + 5]
mov dword [ecx + 1], edx
push dword [esp + 0x28]
push eax
call fcn.01404740
add esp, 8
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x2c]
push eax
push 0x40
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1404c22
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [0x345e1e8], esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1404bf3
push eax
call fcn.014046b0
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1404bf3
mov dword [eax], 0
test edi, edi
je 0x1404c02
push 0x18
push edi
call fcn.014092c4
add esp, 8
mov eax, dword [esp + 0x1c]
pop edi
mov dword [0x345e1ec], eax
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.014096e2
add esp, 0x24
ret 0x14
mov eax, dword [esp + 0x1c]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x10], eax
mov dword [edi + 4], 0
mov dword [edi + 0xc], ebp
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [0x345e1f4]
mov dword [edi], eax
xor eax, eax
mov dword [0x345e1f4], edi
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.014096e2
add esp, 0x24
ret 0x14