Function at 0x140037e60
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 [0x1401560e8]
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, 0x9e3ed6076b634101
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0xb4a9fc6d5d59c46e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x66265e66f05f2c3c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x4df601e375995417
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x28b6bd2e857b36e2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x9ba80683c84d6d2f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xe4f1ae98aad5f2c2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x18bfb1f570834eb9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0xa908e33358517031
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0xf2ecb82e1f18fd56
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x286b122dba16647b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0x1ba355b027c80458
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs rax, 0x4cd5df4fdf226eb5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0xf7c36ceaa02a0b4a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0x9082dce9daba9caf
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0x18bfcb8c08f438cc
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 0x140038077
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x68]
vzeroupper
call fcn.1400288f0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
xor r8d, r8d
lea rdx, [0x14012b0e3]
mov rcx, rdi
call fcn.1400288f0
mov dword [rbp + 0xc], 1
test r14d, r14d
jle 0x140038270
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 [0x1401390e0]
vmovss xmm8, dword [0x140138fe0]
vmovss xmm6, dword [0x140138d68]
vmovss xmm9, dword [0x140138da8]
movzx ebx, byte [rbp + 8]
nop word [rax + rax]
mov eax, dword [rcx + r15]
cmp dword [0x140175eb8], eax
jle 0x140038150
lea rcx, [0x140175eb8]
call fcn.1400be160
cmp dword [0x140175eb8], 0xffffffff
jne 0x14003814c
rdtsc
shl rdx, 0x20
or rax, rdx
mov dword [0x140175ea8], eax
lea rcx, [0x140175eb8]
call fcn.1400be100
mov r8, qword [rbp + 0x78]
rdtsc
shl rdx, 0x20
or rax, rdx
imul rcx, rax, 0x88a9
vxorps xmm1, xmm1, xmm1
test rcx, rcx
js 0x140038170
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x140038185
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 [0x1401390a0]
vaddss xmm4, xmm4, xmm0
vorps xmm4, xmm4, xmm1
imul ecx, dword [0x140175ea8], 0x41c64e6d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm1, xmm0, xmm4
vcvttss2si rax, xmm1
mov dword [0x140175ea8], eax
shr eax, 0x10
and eax, 0x7fff
xor edx, edx
div r8
cmp r8, rdx
jbe 0x1400382c4
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 0x14003824b
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140038240
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140038260
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140028e00
mov r8, qword [rbp + 0x78]
inc esi
cmp esi, r14d
mov ecx, 4
jl 0x140038110
lea rcx, [rbp + 0x68]
call fcn.1400274a0
mov rax, rdi
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1400bdcf0
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.14003e2e0
int3