Function at 0x140037aa0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x170
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1401340e8]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov r14d, edx
mov rdi, rcx
mov qword [rbp + 0x60], rcx
xor esi, esi
mov dword [rbp + 0xc], esi
movabs rax, 0x17a657e01b7506a3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x688450da267928f0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x7a86a132e0f3fa
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x4bdd7a7436969445
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x6e796039b0577200
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x7e8f74b4037b0379
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xd95bc0dff752c8bc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x563e0642d8dd0a8b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x209062d428473793
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0x2ec11499643811c8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x4e37caea78a9bbbd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0x1d882e2764c7c40a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs rax, 0xa1a0258ea0e2a57
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0x12e41edd6b1c651c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0xad28b2ae873da6d1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0x563e7c3ba0aa7cfe
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0xa0]
vmovdqu ymmword [rbp + 0x20], ymm1
vmovdqu ymm2, ymmword [rbp + 0x40]
vpxor ymm0, ymm2, ymmword [rbp + 0xc0]
vmovdqu ymmword [rbp + 0x40], ymm0
vpxor xmm1, xmm1, xmm1
vmovups xmmword [rbp + 0x68], xmm1
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x80], rsi
lea rax, [rbp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x140037cb7
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x68]
vzeroupper
call fcn.140028ae0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
xor r8d, r8d
lea rdx, [0x140109389]
mov rcx, rdi
call fcn.140028ae0
mov dword [rbp + 0xc], 1
test r14d, r14d
jle 0x140037eb0
mov ecx, 4
mov rax, qword gs:[0x58]
mov r15, qword [rax]
mov r12, qword [rbp + 0x80]
mov r8, qword [rbp + 0x78]
mov r13, qword [rbp + 0x68]
vmovss xmm7, dword [0x140117340]
vmovss xmm8, dword [0x140117280]
vmovss xmm6, dword [0x140117038]
vmovss xmm9, dword [0x140117078]
movzx ebx, byte [rbp + 8]
nop word [rax + rax]
mov eax, dword [rcx + r15]
cmp dword [0x140153cc0], eax
jle 0x140037d90
lea rcx, [0x140153cc0]
call fcn.1400bf548
cmp dword [0x140153cc0], 0xffffffff
jne 0x140037d8c
rdtsc
shl rdx, 0x20
or rax, rdx
mov dword [0x140153cb0], eax
lea rcx, [0x140153cc0]
call fcn.1400bf4dc
mov r8, qword [rbp + 0x78]
rdtsc
shl rdx, 0x20
or rax, rdx
imul rcx, rax, 0x88a9
vxorps xmm1, xmm1, xmm1
test rcx, rcx
js 0x140037db0
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x140037dc5
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
vmulss xmm0, xmm1, xmm6
vmovd ecx, xmm1
sar ecx, 1
mov eax, 0x5f3759df
sub eax, ecx
vmovd xmm2, eax
vmulss xmm0, xmm0, xmm2
vmulss xmm1, xmm0, xmm2
vsubss xmm1, xmm9, xmm1
vmulss xmm0, xmm1, xmm2
vmulss xmm2, xmm0, xmm6
vandnps xmm4, xmm7, xmm2
vandps xmm1, xmm7, xmm2
vroundps xmm0, xmm4, 0
vsubss xmm4, xmm4, xmm0
vcmpeqss xmm4, xmm4, xmm8
vandps xmm4, xmm4, xmmword [0x140117300]
vaddss xmm4, xmm4, xmm0
vorps xmm4, xmm4, xmm1
imul ecx, dword [0x140153cb0], 0x41c64e6d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm1, xmm0, xmm4
vcvttss2si rax, xmm1
mov dword [0x140153cb0], eax
shr eax, 0x10
and eax, 0x7fff
xor edx, edx
div r8
cmp r8, rdx
jbe 0x140037f04
lea rax, [rbp + 0x68]
cmp r12, 0x10
cmovae rax, r13
movzx r9d, byte [rax + rdx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x140037e8b
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140037e80
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140037ea0
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140028970
mov r8, qword [rbp + 0x78]
inc esi
cmp esi, r14d
mov ecx, 4
jl 0x140037d50
lea rcx, [rbp + 0x68]
call fcn.140027510
mov rax, rdi
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1400bf1c0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14003df10
int3