Function at 0x180003130
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov eax, dword [0x180008004]
mov rdi, qword [0x18000a4d8]
test eax, eax
jne 0x180003154
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x180003170
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x18000318c
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x1800031a8
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x1800031c4
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x1800031e0
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x1800031fc
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x180003218
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x180003234
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x180003250
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
jne 0x18000326c
rdtsc
shl rdx, 0x20
or rax, rdx
mov r10, qword [0x18000a4e0]
imul ebx, eax, 0x343fd
add ebx, 0x269ec3
mov dword [0x180008004], ebx
shr ebx, 0x10
and ebx, 1
test r10, r10
jne 0x1800032a6
lea edx, [r10 + 6]
xor ecx, ecx
mov r8d, 0xdeaa9557
call fcn.180004030
mov r10, rax
jmp 0x1800032d4
mov r10, qword [r10 + 0xed0]
test r10, r10
jne 0x1800032d4
lea edx, [r10 + 6]
xor ecx, ecx
mov r8d, 0xdeaa9557
call fcn.180004030
mov r10, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0xed0], r10
xor ebx, 1
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [rbx*2 + 0x1a]
call r10
test eax, eax
je 0x18000334f
mov r8, qword [0x18000a4e0]
test r8, r8
jne 0x180003314
lea edx, [r8 + 1]
xor ecx, ecx
mov r8d, 0x2ca1b5f0
call fcn.180004030
mov r8, rax
jmp 0x180003342
mov r8, qword [r8 + 0x408]
test r8, r8
jne 0x180003342
lea edx, [r8 + 1]
xor ecx, ecx
mov r8d, 0x2ca1b5f0
call fcn.180004030
mov r8, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x408], r8
lea rdx, str.c:ProgramData
mov rcx, rdi
call r8
mov rdx, qword [0x18000a4e0]
test rdx, rdx
jne 0x180003372
mov edx, 1
xor ecx, ecx
mov r8d, 0x2d40b8f0
call fcn.180004030
mov rdx, rax
jmp 0x1800033a1
mov rdx, qword [rdx + 0x428]
test rdx, rdx
jne 0x1800033a1
mov edx, 1
xor ecx, ecx
mov r8d, 0x2d40b8f0
call fcn.180004030
mov rdx, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x428], rdx
mov rcx, rdi
call rdx
movsxd rbx, eax
mov dl, 0xa
mov eax, 0x5c
mov word [rdi + rbx*2], ax
inc rbx
lea r8, [rdi + rbx*2]
call fcn.180002f80
mov r8, qword [0x18000a4e0]
add rbx, rax
test r8, r8
jne 0x1800033e5
lea edx, [r8 + 1]
xor ecx, ecx
mov r8d, 0xa073561
call fcn.180004030
mov r8, rax
jmp 0x180003413
mov r8, qword [r8 + 0x540]
test r8, r8
jne 0x180003413
lea edx, [r8 + 1]
xor ecx, ecx
mov r8d, 0xa073561
call fcn.180004030
mov r8, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x540], r8
xor edx, edx
mov rcx, rdi
call r8
mov eax, dword [0x180008004]
test eax, eax
jne 0x18000342e
rdtsc
shl rdx, 0x20
or rax, rdx
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x180008004], eax
shr eax, 0x10
test al, 1
je 0x1800034a3
lea r8, [rdi + rbx*2]
mov dl, 0x41
call fcn.180002f80
add rbx, rax
mov rax, qword [0x18000a4e0]
test rax, rax
jne 0x180003472
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0xa073561
call fcn.180004030
jmp 0x18000349c
mov rax, qword [rax + 0x540]
test rax, rax
jne 0x18000349c
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0xa073561
call fcn.180004030
mov rcx, qword [0x18000a4e0]
mov qword [rcx + 0x540], rax
xor edx, edx
mov rcx, rdi
call rax
xor eax, eax
mov word [rdi + rbx*2], ax
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret