Function at 0x180038c50
Capabilities:
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov r11, rdx
rdtsc
mov r10, rdx
shl r10, 0x20
or r10, rax
rdtsc
shl rdx, 0x20
or rdx, rax
cmp r10, rdx
mov eax, 0x25ca51c8
mov ebx, 0xa03fccce
cmove ebx, eax
mov edx, dword [rsp + 0x1c0]
mov eax, ebx
and eax, 0xa5ff9d86
cmp rdx, 0
mov r10d, 0xb1176696
mov edx, 0xf84b7a75
cmove edx, r10d
test r9, r9
cmove edx, r10d
test r8d, r8d
cmove edx, r10d
mov qword [rsp + 0x130], r11
test r11, r11
cmove edx, r10d
mov qword [rsp + 0xa8], rcx
test rcx, rcx
cmove edx, r10d
xor edx, eax
mov eax, edx
shr eax, 8
mov r15d, ebx
xor r15d, 0x37496a97
mov r13d, ebx
xor r13d, 0x25366f09
mov r12d, ebx
xor r12d, 0xdd0c3a20
mov ecx, r12d
shr ecx, 8
mov dword [rsp + 0x44], ecx
mov ecx, ebx
xor ecx, 0x9234df0b
mov dword [rsp + 0x58], ecx
shr ecx, 8
mov dword [rsp + 0x54], ecx
mov ecx, ebx
xor ecx, 0xc720b7a3
mov qword [rsp + 0x120], rcx
xorps xmm6, xmm6
mov dword [rsp + 0xbc], r8d
mov ecx, r8d
lea r8, [r9 + rcx]
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x118], rcx
lea rcx, [r9 + rcx + 6]
mov qword [rsp + 0x108], rcx
mov dword [rsp + 0x9c], r15d
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0xb8], r13d
jmp 0x180038d90
xor edx, ebp
mov eax, edx
shr eax, 8
nop word [rax + rax]
mov ebp, eax
shl ebp, 8
movzx esi, dl
or ebp, esi
mov ecx, ebp
imul ecx, r15d
add ecx, r13d
cmp ecx, 0x46d71041
jg 0x180038de0
cmp ecx, 0x2da7415
jg 0x180038e10
cmp ecx, 0xbaed9af6
je 0x180038e9f
cmp ecx, 0xf1ecd085
je 0x180038f74
cmp ecx, 0xf33a6616
je 0x180038e70
jmp 0x180038d90
cmp ecx, 0x6faca03b
jle 0x180038e7a
cmp ecx, 0x6faca03c
je 0x180038fa4
cmp ecx, 0x72501773
je 0x1800390a7
cmp ecx, 0x7d8e93f3
je 0x180038e70
jmp 0x180038d90
cmp ecx, 0x2da7416
je 0x180038e92
cmp ecx, 0x34218341
je 0x180038e70
cmp ecx, 0x3f6ff1bc
jne 0x180038d90
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x128]
mov r9d, dword [rsp + 0xbc]
call fcn.18000e3c0
mov edx, 0x5cbec03a
test eax, eax
je 0x180038d83
mov edx, 0x8bd7ecf1
jmp 0x180038d83
mov edi, 0xffffffff
jmp 0x18003909b
cmp ecx, 0x46d71042
je 0x1800394c4
cmp ecx, 0x57696357
jne 0x180039807
mov dword [rsp + 0x50], 0xffffffff
jmp 0x180038f97
mov r8d, ebp
xor r8d, ebx
mov eax, r8d
xor eax, 0x3611e177
mov ecx, dword [rsp + 0x64]
or ecx, eax
mov edx, r8d
xor edx, 0xb01aaef5
mov r9d, dword [rsp + 0x64]
xor r9d, r8d
xor r9d, 0xc9ee1e88
mov r10d, r8d
xor r10d, 0xb4172408
mov r11d, dword [rsp + 0x64]
not r11d
or r11d, eax
mov esi, r8d
xor esi, 0x4be8dbf7
imul esi, r11d
and eax, dword [rsp + 0x64]
not eax
add eax, r9d
imul eax, r10d
mov r9d, r8d
xor r9d, 0xb4172419
add r9d, edx
sub r9d, ecx
add r9d, esi
add r9d, eax
mov eax, r8d
xor eax, 0x1f489316
imul eax, r9d
mov ecx, r8d
xor ecx, 0x4b114a65
add ecx, eax
mov dword [rsp + 0xc4], ecx
mov eax, r8d
xor eax, 0xc9ca20d6
imul eax, dword [rsp + 0xc4]
xor r8d, 0x4673be5
add r8d, eax
mov rcx, qword [rsp + 0xe8]
lea rdx, [rsp + 0xf0]
call fcn.18000e650
mov edx, 0x733793ba
test eax, eax
je 0x180038d83
mov edx, 0x7e480020
jmp 0x180038d83
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x50], edi
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x58]
jmp 0x180038d90
mov ecx, esi
xor cl, bl
xor cl, 0xb2
mov rdi, qword [rsp + 0x110]
mov byte [rdi + 4], cl
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx]
mov edx, dword [rsp + 0x60]
not edx
xor ebp, ebx
mov r8d, ebp
xor r8d, 0xa6b98cf3
and edx, r8d
mov r9d, dword [rsp + 0x60]
mov r10d, ebp
xor r10d, 0x5946730c
mov r11d, dword [rsp + 0x60]
or r11d, r10d
add r11d, edx
mov edx, ebp
xor edx, 0x38df484d
or r9d, r8d
imul r11d, edx
mov edx, dword [rsp + 0x60]
not edx
or edx, r8d
add edx, r9d
mov r8d, ebp
xor r8d, 0xc720b7b2
imul edx, r8d
mov r8d, ebp
xor r8d, 0xc720b7b1
add r8d, r10d
add r8d, r11d
add r8d, edx
mov edx, ebp
xor edx, 0x91fff5e6
imul edx, r8d
mov r8d, ebp
xor r8d, 0x2d973abd
add r8d, edx
mov dword [rsp + 0xc0], r8d
mov edx, ebp
xor edx, 0xdc331d4e
imul edx, dword [rsp + 0xc0]
xor ebp, 0xf5c4fa99
add ebp, edx
cmp ecx, ebp
sete byte [rdi + 5]
and eax, 0xffffff
shl rax, 8
or rsi, rax
mov dword [rdi], r14d
xor rsi, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x108]
lea rdx, [rsp + 0xf0]
mov r8, rsi
call fcn.18003abb0
xor edi, edi
mov eax, dword [rsp + 0x44]
mov edx, r12d
jmp 0x180038d90
mov dword [rsp + 0x5c], edi
mov ecx, 1
mov r11, rbx
mov r13, qword [rsp + 0xa8]
lock xadd dword [r13 + 0x10], ecx
mov r12d, ebp
xor r12d, r11d
mov edx, r12d
xor edx, 0xa82d4d0b
mov r8d, dword [rsp + 0xa4]
and r8d, edx
or edx, dword [rsp + 0xa4]
not edx
mov r15d, r12d
xor r15d, 0xc6fa3f43
imul edx, r15d
mov r9d, r12d
xor r9d, 0xa82d4d08
sub r9d, r8d
add r9d, dword [rsp + 0xa4]
add edx, r9d
inc edx
mov r8d, r12d
xor r8d, 0x9586f81f
imul r8d, edx
mov edx, r12d
xor edx, 0xca44aeb2
add edx, r8d
mov dword [rsp + 0xdc], edx
mov edx, r12d
xor edx, 0x3960fbb7
imul edx, dword [rsp + 0xdc]
mov r8d, r12d
xor r8d, 0xcd78aa12
add r8d, edx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x3c], r8d
mov ecx, dword [rsp + 0x3c]
and ecx, dword [rsp + 0x40]
mov r8d, r12d
xor r8d, 0xc6fa3f41
mov r9d, dword [rsp + 0x40]
add r9d, dword [rsp + 0x3c]
imul r8d, ecx
mov ecx, dword [rsp + 0x3c]
or ecx, dword [rsp + 0x40]
sub r8d, ecx
mov ecx, dword [rsp + 0x3c]
xor ecx, dword [rsp + 0x40]
not ecx
mov edx, r12d
xor edx, 0x3905c0bc
imul ecx, edx
add ecx, r8d
mov r8d, dword [rsp + 0x3c]
not r8d
add r8d, r9d
mov r14d, dword [rsp + 0x40]
not r14d
add r14d, r8d
imul r14d, r15d
add r14d, ecx
mov ecx, r12d
xor ecx, 0x8eb83bfc
mov r8d, dword [rsp + 0xa0]
xor r8d, ecx
mov r9d, r12d
xor r9d, 0x8eb83bfd
mov r10d, dword [rsp + 0xa0]
not r10d
or r10d, ecx
and ecx, dword [rsp + 0xa0]
add r10d, r8d
not ecx
imul ecx, r15d
mov r8d, r12d
xor r8d, 0xc6fa3f55
add r8d, r9d
sub r8d, r10d
add r8d, ecx
mov ecx, r12d
xor ecx, 0x346343ff
imul ecx, r8d
mov r8d, r12d
xor r8d, 0xee5319e4
add r8d, ecx
mov dword [rsp + 0xd8], r8d
mov r8d, r12d
xor r8d, 0xd7
imul r8d, dword [rsp + 0xd8]
mov ecx, r12d
xor ecx, 0x20
add ecx, r8d
mov r8d, r14d
shr r8d, cl
mov byte [rsp + 0x88], r8b
mov ecx, r12d
xor ecx, 0x7da9d724
and ecx, dword [rsp + 0xd4]
imul ecx, r15d
mov r8d, r12d
xor r8d, 0x825628db
or r8d, dword [rsp + 0xd4]
mov r9d, r12d
xor r9d, 0x825628d8
mov r10d, r12d
xor r10d, 0xc6fa3f4d
add r10d, r9d
sub r10d, r8d
add r10d, ecx
mov ecx, r12d
xor ecx, 0xed22a3b5
imul ecx, r10d
mov r8d, r12d
xor r8d, 0x709ac752
add r8d, ecx
mov dword [rsp + 0xd0], r8d
mov r8d, r12d
xor r8d, 0x85
imul r8d, dword [rsp + 0xd0]
mov ecx, r12d
xor ecx, 0xd2
add ecx, r8d
mov r8d, r14d
shr r8d, cl
mov byte [rsp + 0x89], r8b
mov ecx, r12d
xor ecx, 0xe95195c5
mov r8d, dword [rsp + 0x6c]
xor r8d, ecx
mov r9d, r12d
xor r9d, 0x16ae6a3a
mov r10d, dword [rsp + 0x6c]
xor r10d, r9d
add r10d, r8d
or r9d, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x6c]
and r8d, ecx
not r8d
add r8d, r9d
mov r9d, r12d
xor r9d, 0xc6fa3f4a
imul r8d, r15d
imul r10d, edx
add r9d, ecx
add r9d, r10d
add r9d, r8d
mov ecx, r12d
xor ecx, 0x545df5fd
imul ecx, r9d
mov edx, r12d
xor edx, 0xcbd25730
add edx, ecx
mov dword [rsp + 0xcc], edx
mov edx, r12d
xor edx, 0x7d
imul edx, dword [rsp + 0xcc]
mov ecx, r12d
xor ecx, 0xb0
add ecx, edx
mov edx, r14d
shr edx, cl
mov byte [rsp + 0x8a], dl
mov byte [rsp + 0x8b], r14b
mov ecx, esi
xor cl, r11b
xor cl, 0x43
mov byte [rsp + 0x8c], cl
and eax, 0xffffff
shl rax, 8
or rsi, rax
xor rsi, rbx
mov r8, rsi
mov edi, 0xc6fa3f45
xor r8, rdi
lea rcx, [rsp + 0x8d]
xor edx, edx
call fcn.18003ad10
mov r13, qword [r13 + 8]
lea r8, [rdi + 0xd]
xor r8, rsi
lea rcx, [rsp + 0xf0]
xor edx, edx
call fcn.18003ad10
mov eax, r12d
xor eax, 0xa6c61270
mov ecx, dword [rsp + 0x68]
or ecx, eax
mov edx, r12d
xor edx, 0xf97d9ad8
mov r8d, r12d
xor r8d, 0x5939ed8f
or r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x68]
not r9d
or r9d, eax
imul r9d, r15d
and eax, dword [rsp + 0x68]
mov r10d, r12d
xor r10d, 0xc6fa3f4e
add r10d, edx
add r10d, ecx
sub r10d, r8d
add r10d, r9d
add eax, r10d
add eax, 2
mov ecx, r12d
xor ecx, 0x8a49faf
imul ecx, eax
mov eax, r12d
xor eax, 0x4a801bd8
add eax, ecx
mov dword [rsp + 0xc8], eax
mov eax, r12d
xor eax, 0xdca683a7
imul eax, dword [rsp + 0xc8]
xor r12d, 0x1e7e157c
add r12d, eax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xe8], r13
mov rcx, r13
xor edx, edx
lea r8, [rsp + 0x88]
mov r9d, r12d
call fcn.18000a310
mov edx, 0x2e53db71
test eax, eax
je 0x18003949c
mov edx, 0xbaf19386
xor edx, ebp
mov eax, edx
shr eax, 8
mov r15d, dword [rsp + 0x9c]
mov r12d, dword [rsp + 0x98]
mov edi, dword [rsp + 0x5c]
mov r13d, dword [rsp + 0xb8]
jmp 0x180038d90
mov dword [rsp + 0x5c], edi
mov rcx, qword [rsp + 0xa8]
mov r8d, dword [rcx]
mov ecx, ebp
xor ecx, ebx
mov r9d, ecx
xor r9d, 0x42c59cbd
mov edx, ecx
xor edx, 0xbd3a6342
mov r10d, ecx
xor r10d, 0x7b4c5c0
add r10d, edx
sub r10d, dword [rsp + 0x74]
mov r11d, dword [rsp + 0x74]
xor r11d, r9d
mov edx, ecx
xor edx, 0x7b4c5c3
imul r11d, edx
add r11d, r10d
mov r15d, dword [rsp + 0x74]
or r15d, r9d
mov r10d, ecx
xor r10d, 0xf84b3a3f
imul r15d, r10d
add r15d, r11d
xor r9d, dword [rsp + 0x74]
add r9d, r15d
inc r9d
mov r11d, ecx
xor r11d, 0x48fe380c
imul r11d, r9d
mov r9d, ecx
xor r9d, 0x3277d6ad
add r9d, r11d
mov dword [rsp + 0xe4], r9d
mov r9d, ecx
xor r9d, 0xa3122cec
imul r9d, dword [rsp + 0xe4]
mov r11d, ecx
xor r11d, 0xc195444d
add r11d, r9d
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x48], r11d
mov r8d, dword [rsp + 0x4c]
add r8d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x48]
xor r11d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x48]
not r9d
add r9d, r8d
mov r8d, dword [rsp + 0x4c]
not r8d
add r8d, r9d
mov r9d, dword [rsp + 0x48]
and r9d, dword [rsp + 0x4c]
not r9d
imul r9d, edx
add r9d, r11d
mov r11d, ecx
xor r11d, 0x690425d8
mov r15d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x70]
mov rdi, rbx
mov ebx, dword [rsp + 0x70]
not ebx
or ebx, r11d
imul ebx, r10d
mov r10d, ecx
xor r10d, 0x252afa0b
add r10d, edx
xor r12d, r11d
add r10d, r12d
add r10d, ebx
mov ebx, ecx
xor ebx, 0xf84b3a3c
or r15d, r11d
imul r15d, ebx
and r11d, dword [rsp + 0x70]
add r10d, r15d
lea edx, [r11 + r10]
add edx, 2
mov r10d, ecx
xor r10d, 0xf2dcacc4
imul r10d, edx
mov edx, ecx
xor edx, 0x3cd5ae05
add edx, r10d
mov dword [rsp + 0xe0], edx
mov edx, ecx
xor edx, 0xc1e87174
imul edx, dword [rsp + 0xe0]
imul r8d, ebx
and eax, 0xffffff
shl rax, 8
or rsi, rax
mov r15, rdi
xor rsi, rdi
mov rax, qword [rsp + 0xb0]
movabs rdi, 0xd012ee47de3e3f12
lea r10, [rdi + 1]
xor r10, rsi
mov r11, qword [rsp + 0xb0]
xor r11, r10
or r10, qword [rsp + 0xb0]
add r8d, r9d
mov rbx, rsi
movabs r9, 0xffffffff07b4c5c3
xor rbx, r9
imul rbx, r10
mov r10, qword [rsp + 0xb0]
not r10
add r10, r11
mov r9, rsi
xor r9, rdi
mov edi, 0xc6fa3f45
lea r11, [rdi + 0x3150fae6]
xor r11, rsi
add r11, r9
lea r9, [rdi + 0x3150fafa]
xor r9, rsi
imul rax, r9
add r11, rax
add r11, rbx
lea rax, [rdi + 0x3150faf7]
xor rax, rsi
imul r10, rax
add r10, r11
mov r11, rsi
movabs rdi, 0x7839516a73d9ea72
xor r11, rdi
imul r11, r10
mov r10, rsi
movabs rdi, 0xfffad587a7afb771
xor r10, rdi
add r10, r11
mov qword [rsp + 0x138], r10
mov r10, rsi
movabs r11, 0xc9631ddfb1b97c92
xor r10, r11
imul r10, qword [rsp + 0x138]
xor ecx, 0x59f86e35
movabs r11, 0x3c5780b04e039b31
xor rsi, r11
add rsi, r10
mov r10, qword [rsp + 0x118]
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x78], rsi
mov r10, qword [rsp + 0x78]
and r10, qword [rsp + 0x80]
add ecx, edx
add r10, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
not r11
add r10, qword [rsp + 0x78]
and r11, rdx
mov rdx, qword [rsp + 0x78]
or rdx, qword [rsp + 0x80]
imul r11, r9
sub r11, rdx
mov rdx, qword [rsp + 0x78]
not rdx
add rdx, r10
imul rdx, rax
add r11, qword [rsp + 0x80]
lea r9, [rdx + r11]
inc r9
mov edx, 0x62ef5014
mov eax, 0x62ef5014
mov r10d, dword [rsp + 0x1c0]
cmp r9, r10
ja 0x1800397dd
mov eax, 0x3eb1057f
cmp r8d, ecx
mov r12d, dword [rsp + 0x98]
mov edi, dword [rsp + 0x5c]
jb 0x1800397f0
mov edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
mov rbx, r15
mov r15d, dword [rsp + 0x9c]
jmp 0x180038d90
cmp ecx, 0x69834144
jne 0x180038d90
mov eax, dword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret