Function at 0x4074b0
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 0x407478
mov rax, r9
add r9, 0xf
neg rax
and rax, r9
mov r10, rdx
imul r10, qword [r8]
jo 0x4074a4
add rax, r10
jo 0x4074a4
movq xmm6, rdx
mov rdx, rax
call fcn.00404110
punpcklqdq xmm6, xmm6
movups xmmword [rax], xmm6
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
ret
call fcn.004073b0
nop
nop word [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rdx, qword [0x00d6c770]
mov rax, qword [rdx]
cmp rax, 0xdab
jg 0x40804d
mov rcx, qword [0x00d6c760]
lea r8, [rax + 1]
lea rdi, [0x0040d210]
cmp r8, 0xdac
mov qword [rdx], r8
mov qword [rcx + rax*8], rdi
je 0x40804d
lea rdi, [0x0040d200]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 2]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rdi, [0x0040d1e0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 3]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rsi, [0x0040d1d0]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 4]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rdi, [0x0040d1c0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 5]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rsi, [0x0040d1b0]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 6]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rdi, [0x0040d1a0]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 7]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rsi, [0x0040d190]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 8]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rdi, [0x0040d180]
mov qword [rcx + r8*8], rdi
lea r8, [rax + 9]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rbx, [0x0040d170]
mov qword [rcx + r8*8], rbx
lea r8, [rax + 0xa]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rsi, [0x0040d160]
mov qword [rcx + r8*8], rsi
lea r8, [rax + 0xb]
cmp r8, 0xdac
mov qword [rdx], r8
je 0x40804d
lea rdi, [0x0040d150]
add rax, 0xc
mov qword [rsp + 0x20], 0
mov qword [rdx], rax
mov rax, qword [0x00d6c230]
lea rsi, [rsp + 0x28]
mov qword [rcx + r8*8], rdi
lea rcx, [0x00d6f140]
call qword [rax]
mov rcx, rsi
mov qword [rsp + 0x28], 0
movsxd rdx, eax
call fcn.00406260
mov rax, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.0040f740
mov eax, dword [0x00d6f144]
cmp eax, 6
je 0x407d00
cmp eax, 5
jg 0x4076a2
mov rax, qword [0x00d6c860]
mov dword [rax], 1
lea rcx, [0x00d69bc0]
mov edx, 0x497463c2
call fcn.00404080
mov edx, 0x32f01702
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f130]
mov rdx, rax
call fcn.004060a0
mov rbx, qword [0x00d6f128]
mov rcx, qword [0x00d6f130]
call fcn.004020e0
test rbx, rbx
mov qword [0x00d6f128], rax
je 0x407708
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
cmp rax, 7
mov qword [rbx - 0x10], rax
jbe 0x407d30
mov rcx, qword [0x00d6c440]
mov edx, 0x94e3e0
call fcn.00407450
mov r8d, 0x94e3e0
lea rcx, [rax + 0x10]
mov rbx, rax
lea rdx, [0x0041b7d0]
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x00d6c730]
mov rdx, rbx
call fcn.004060a0
mov rax, qword [0x00d6c730]
xor edx, edx
mov rax, qword [rax]
test rax, rax
je 0x407755
mov rdx, qword [rax]
mov rcx, qword [0x00d6c440]
call fcn.00407450
lea rcx, [0x00d6f120]
mov rdx, rax
call fcn.004060a0
mov edx, 0x7781bd26
lea rcx, [0x0041b6c0]
call fcn.00404080
mov edx, 0x6a77b742
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f118]
mov rdx, rax
call fcn.004060a0
mov edx, 0x66a69766
lea rcx, [0x0041b5e0]
call fcn.00404080
mov edx, 0x72f39e02
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f110]
mov rdx, rax
call fcn.004060a0
mov edx, 0x7e405582
lea rcx, [0x0041b520]
call fcn.00404080
mov edx, 0x7781bd26
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f108]
mov rdx, rax
call fcn.004060a0
mov edx, 0x68270642
lea rcx, [0x0041b4a0]
call fcn.00404080
mov edx, 0x66a69766
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f100]
mov rdx, rax
call fcn.004060a0
lea rcx, [0x0041b480]
call fcn.00405120
xor edx, edx
mov rcx, rax
call fcn.00404b70
lea rdx, str.LdrLoadDll
mov rcx, rax
call fcn.00410e80
mov rdx, qword [0x00d6c360]
lea rcx, [0x0041b480]
mov qword [rdx], rax
call fcn.00405120
xor edx, edx
mov rcx, rax
call fcn.00404b70
lea rdx, str.RtlInitUnicodeString
mov rcx, rax
call fcn.00410e80
mov rdx, qword [0x00d6c370]
lea rcx, [0x0041b3a0]
mov qword [rdx], rax
mov edx, 0x1dfd2c82
call fcn.00404080
mov edx, 0x581ae226
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f0f8]
mov rdx, rax
call fcn.004060a0
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetCurrentProcessId
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0f0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.VirtualProtect
mov rcx, rax
call fcn.004111f0
mov rdx, qword [0x00d6c390]
mov qword [rdx], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, [0x00419172]
mov rcx, rax
call fcn.004111f0
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, [0x0041917e]
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0e8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetProcAddress
mov rcx, rax
call fcn.004111f0
lea rcx, [0x0041b480]
mov qword [0x00d6f0e0], rax
call fcn.00405120
mov rcx, rax
call fcn.00411560
lea rdx, str.RtlAddVectoredExceptionHandler
mov rcx, rax
call fcn.00410e80
mov qword [0x00d6f0d8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetModuleHandleA
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0d0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, [0x004191d0]
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0c8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.SetThreadContext
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0c0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.CloseHandle
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0b8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.OpenThread
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0b0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetCurrentThreadId
mov rcx, rax
call fcn.004111f0
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.WaitForSingleObject
mov rcx, rax
call fcn.004111f0
mov rdx, qword [0x00d6c3a0]
mov qword [rdx], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, [0x00419230]
mov rcx, rax
call fcn.004111f0
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.Sleep
mov rcx, rax
call fcn.004111f0
mov rbx, qword [0x00d6c380]
mov qword [rbx], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetTickCount
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0a8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.CreateFileA
mov rcx, rax
call fcn.004111f0
mov qword [0x00d6f0a0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetFileSize
mov rcx, rax
call fcn.004111f0
lea rcx, [0x0041b480]
mov qword [0x00d6f098], rax
call fcn.00405120
xor edx, edx
mov rcx, rax
call fcn.00404b70
lea rdx, str.RtlAllocateHeap
mov rcx, rax
call fcn.00410e80
mov qword [0x00d6f090], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.ReadFile
mov rcx, rax
call fcn.004111f0
mov rcx, qword [0x00d6c4d0]
mov edx, 0x5c757ce6
mov qword [0x00d6f088], rax
call fcn.00404080
mov edx, 0x2bcb5e82
mov rcx, rax
call fcn.004042d0
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 0
jne 0x407cd0
call qword [0x00d6f0e8]
mov rsi, rax
call qword [0x00d6f0e8]
cmp dword [rsi + 0x70], 2
jne 0x407d50
mov eax, dword [rax + 0x74]
test eax, eax
jne 0x407d50
call fcn.004060f0
test al, al
je 0x407c73
mov rax, qword [0x00d6c0e0]
lea rdx, [0x00401550]
mov ecx, 1
call qword [rax]
mov rax, qword [0x00d6c100]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x80000003
call qword [rax]
mov rax, qword [0x00d6c0f0]
lea rcx, [0x00401550]
call qword [rax]
lea rcx, [0x0041b370]
mov edx, 0x77297302
call fcn.00404080
xor ecx, ecx
mov rsi, rax
mov rax, qword [0x00d6f130]
test rax, rax
je 0x407c31
mov rcx, qword [rax]
test rsi, rsi
je 0x408030
add rcx, qword [rsi]
call fcn.00404290
mov rdx, qword [0x00d6f130]
mov rdi, rax
test rdx, rdx
je 0x407c59
mov rcx, rax
call fcn.0040fb90
mov rdx, rsi
mov rcx, rdi
call fcn.0040fb90
lea rcx, [0x00d6f128]
mov rdx, rdi
call fcn.004060a0
lea rcx, [0x0041b240]
mov edx, 0x52d31fc2
call fcn.00404080
mov edx, 0x605db9a6
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f080]
mov rdx, rax
call fcn.004060a0
call qword [0x00d6f0a8]
mov ecx, 0x5dc
mov esi, eax
call qword [rbx]
call qword [0x00d6f0a8]
sub eax, esi
cmp eax, 0x513
jg 0x407d60
xor ecx, ecx
call sub.msvcrt.dll_exit
nop dword [rax]
lea rcx, [0x0041ae40]
mov edx, 0x1db24442
mov qword [rsp + 0x28], 0
call fcn.00404080
mov rcx, rsi
mov qword [rsp + 0x28], rax
call fcn.0040f740
xor ecx, ecx
call sub.msvcrt.dll_exit
nop
mov eax, dword [0x00d6f148]
cmp eax, 2
je 0x407695
cmp eax, 3
je 0x407695
test eax, eax
je 0x407695
cmp eax, 1
je 0x407695
jmp 0x4076a2
mov rcx, qword [0x00d6c750]
add rcx, 0x18
call fcn.00405fe0
jmp 0x407708
mov ecx, 1
call sub.msvcrt.dll_exit
nop word [rax + rax]
lea rcx, [0x0041ae60]
mov edx, 0x245afe66
call fcn.00404080
xor ecx, ecx
mov rbx, rax
mov rax, qword [0x00d6f128]
test rax, rax
je 0x407d85
mov rcx, qword [rax]
test rbx, rbx
je 0x408010
add rcx, qword [rbx]
call fcn.00404290
mov rdx, qword [0x00d6f128]
mov rsi, rax
test rdx, rdx
je 0x407dad
mov rcx, rax
call fcn.0040fb90
mov rdx, rbx
mov rcx, rsi
call fcn.0040fb90
lea rcx, [0x00d6f128]
mov rdx, rsi
call fcn.004060a0
mov edx, 0x213e7a82
lea rcx, [0x0041af00]
call fcn.00404080
mov edx, 0x598b4042
mov rcx, rax
call fcn.004042d0
mov rcx, rax
call fcn.00405d90
mov rbx, qword [0x00d6c240]
mov rcx, rax
call qword [rbx]
lea rcx, [0x0041aec0]
mov edx, 0x2a063342
call fcn.00404080
mov edx, 0x6340cf02
mov rcx, rax
call fcn.004042d0
mov edx, 0x69c2b0e6
lea rcx, [0x0041ae80]
mov rsi, rax
call fcn.00404080
mov edx, 0x4105e026
mov rcx, rax
call fcn.004042d0
mov rcx, rsi
mov rdi, rax
call fcn.00405d90
mov rcx, rax
call qword [rbx]
cmp eax, 0xffffffff
je 0x407ff0
mov rax, qword [0x00d6c250]
xor edx, edx
mov ecx, 0x1000
movabs r8, 0xffffffff1
call qword [rax]
test rax, rax
jne 0x407f70
lea rcx, [0x0041b0c0]
mov edx, 0x6036fec2
call fcn.00404080
mov edx, 0x5e6f9682
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f078]
mov rdx, rax
call fcn.004060a0
mov edx, 0x28d7bdc2
lea rcx, [0x0041b0a0]
call fcn.00404080
mov edx, 0x12ff3ac2
mov rcx, rax
call fcn.004042d0
lea rcx, [0x004190a1]
test rax, rax
je 0x407ed7
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmovne rcx, rdx
call qword [0x00d6f0d0]
mov edx, 0xd9fb866
lea rcx, [0x0041b060]
mov rbx, rax
call fcn.00404080
mov edx, 0x29c97f66
mov rcx, rax
call fcn.004042d0
lea rdx, [0x004190a1]
test rax, rax
je 0x407f16
cmp qword [rax], 0
lea rcx, [rax + 0x10]
cmovne rdx, rcx
mov rcx, rbx
call qword [0x00d6f0e0]
mov qword [0x00d6f070], rax
call fcn.00412080
call fcn.00412080
mov edx, 0x29c97f66
lea rcx, [0x0041af80]
call fcn.00404080
mov edx, 0x645f88a6
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f068]
mov rdx, rax
call fcn.004060a0
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
lea rcx, [0x0041af60]
mov edx, 0x1ef41126
call fcn.00404080
mov edx, 0x4c86f266
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00d6f130]
mov rdx, rax
call fcn.004060a0
mov rbx, qword [0x00d6f128]
mov rcx, qword [0x00d6f130]
call fcn.004020e0
test rbx, rbx
mov qword [0x00d6f128], rax
je 0x407e74
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
cmp rax, 7
mov qword [rbx - 0x10], rax
ja 0x407e74
mov rcx, qword [0x00d6c750]
add rcx, 0x18
call fcn.00405fe0
jmp 0x407e74
mov rcx, rdi
call fcn.00405d90
mov rcx, rax
call qword [rbx]
jmp 0x407e51
call fcn.00404290
mov rdx, qword [0x00d6f128]
mov rsi, rax
test rdx, rdx
jne 0x407db0
jmp 0x407db8
call fcn.00404290
mov rdx, qword [0x00d6f130]
mov rdi, rax
test rdx, rdx
jne 0x407c5c
jmp 0x407c64
call fcn.00401d20
nop
nop dword [rax]
nop word cs:[rax + rax]