Function at 0x1801d5490
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xce0
mov rax, qword [0x18029e198]
xor rax, rsp
mov qword [rsp + 0xcd0], rax
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x38], rdx
xor edi, edi
mov qword [rsp + 0x98], rdi
cmp rcx, 0x1fefa
je 0x1801d5e81
call fcn.1801d6700
mov qword [rsp + 0x78], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x20], dil
mov byte [rsp + 0x21], dil
xor dl, dl
test rsi, rsi
je 0x1801d5548
cmp qword [rsi], 7
jb 0x1801d5532
mov dl, 1
mov rax, qword [0x18029e0e0]
inc rax
mov qword [0x18029e0e0], rax
jmp 0x1801d5548
mov rcx, qword [rsi]
mov rax, qword [0x18029e0d8]
cmp rcx, rax
jbe 0x1801d5548
mov qword [0x18029e0d8], rcx
test r15, r15
je 0x1801d58b2
test dl, dl
jne 0x1801d58b2
xor r13b, r13b
mov r12d, edi
nop
mov r14d, r12d
movzx eax, byte [r14 + r15]
xor al, 0x33
cmp al, 0x1d
je 0x1801d557b
cmp al, 0x33
je 0x1801d58b2
inc r12d
jmp 0x1801d5560
xor edx, edx
mov r8d, 0x400
lea rcx, [rsp + 0xd0]
call fcn.18020bef0
mov r8, r14
mov rdx, r15
lea rcx, [rsp + 0xd0]
call fcn.18020b840
lea rcx, [rsp + 0xd0]
call fcn.1801d6c10
mov rbx, rax
mov qword [rsp + 0xa0], rax
test rax, rax
jne 0x1801d56dc
xor edx, edx
lea rcx, [rsp + 0xd0]
call fcn.1801d5ee0
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1801d55f6
mov rax, qword [0x18029e088]
inc rax
mov qword [0x18029e088], rax
jmp 0x1801d56d4
mov rax, qword [0x18029e090]
inc rax
mov qword [0x18029e090], rax
call fcn.1801d96c0
mov r10, rax
test rax, rax
je 0x1801d56d4
mov qword [rsp + 0xa8], rdi
lea rax, [rsp + 0x4d0]
mov qword [rsp + 0xb0], rax
mov ebx, edi
mov eax, ebx
movsx ecx, byte [rsp + rax + 0xd0]
mov word [rsp + rax*2 + 0x4d0], cx
test cx, cx
je 0x1801d564d
inc ebx
jmp 0x1801d5632
movzx eax, bx
add ax, ax
mov word [rsp + 0xa8], ax
add ax, 2
mov word [rsp + 0xaa], ax
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0xa8]
xor edx, edx
xor ecx, ecx
call r10
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1801d56a3
mov qword [rsp + 0x78], rax
mov rax, qword [0x18029e050]
inc rax
mov qword [0x18029e050], rax
jmp 0x1801d56b4
mov rax, qword [0x18029e058]
inc rax
mov qword [0x18029e058], rax
mov r8d, ebx
add r8, r8
xor edx, edx
lea rcx, [rsp + 0x4d0]
call fcn.18020bef0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov rbx, qword [rsp + 0xa0]
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0xd0]
call fcn.18020bef0
inc r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x24], edi
movzx ecx, byte [r12 + r15]
xor cl, 0x33
cmp cl, 0x10
jne 0x1801d572b
inc r12d
mov dword [rsp + 0x28], r12d
mov byte [rsp + 0x20], 1
mov ecx, r12d
add rcx, r15
call fcn.1801179b0
mov dword [rsp + 0x24], eax
mov rbx, qword [rsp + 0xa0]
mov dword [rsp + 0x64], r12d
test rsi, rsi
je 0x1801d5757
cmp qword [rsi], 7
jb 0x1801d5757
mov r13b, 1
mov rax, qword [0x18029e0e0]
inc rax
mov qword [0x18029e0e0], rax
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x1801d58b2
test r13b, r13b
jne 0x1801d58b2
mov rax, rbx
mov qword [rsp + 0x40], rbx
movsxd rcx, dword [rbx + 0x3c]
test ecx, ecx
je 0x1801d5782
lea rax, [rbx + rcx]
mov qword [rsp + 0x40], rax
jmp 0x1801d57a2
test rax, rax
je 0x1801d58b2
lea rcx, [rax + 0x88]
mov qword [rsp + 0x58], rcx
mov rdx, rdi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rdi
mov eax, dword [rcx]
test eax, eax
je 0x1801d57e5
mov r8d, dword [rcx + 4]
test r8d, r8d
je 0x1801d57e5
lea rdx, [rbx + rax]
mov qword [rsp + 0x50], rdx
lea rax, [rdx + r8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x80], rdx
jmp 0x1801d5812
test rdx, rdx
je 0x1801d58b2
cmp dword [rcx + 4], 0x28
jb 0x1801d58b2
mov r8d, dword [rdx + 0x10]
mov dword [rsp + 0x2c], r8d
mov ecx, dword [rdx + 0x14]
mov dword [rsp + 0x60], ecx
mov eax, dword [rdx + 0x1c]
add rax, rbx
mov qword [rsp + 0x68], rax
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x48], eax
mov eax, dword [rdx + 0x20]
add rax, rbx
mov qword [rsp + 0x70], rax
mov eax, dword [rdx + 0x24]
add rax, rbx
mov qword [rsp + 0x58], rax
jmp 0x1801d587e
cmp qword [rsp + 0x68], 0
je 0x1801d58b2
cmp byte [rsp + 0x20], 0
je 0x1801d5ae7
mov rax, qword [0x18029e060]
inc rax
mov qword [0x18029e060], rax
test ecx, ecx
je 0x1801d58b2
cmp dword [rsp + 0x24], r8d
jae 0x1801d591b
mov byte [rsp + 0x21], 1
cmp qword [rsp + 0x98], 0
jne 0x1801d5df2
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1801d58e9
call fcn.1801d7750
test rax, rax
je 0x1801d58da
mov rcx, rbx
call rax
cmp qword [rsp + 0x98], 0
jne 0x1801d5df2
mov rax, qword [0x18029e048]
inc rax
mov qword [0x18029e048], rax
cmp byte [rsp + 0x20], 0
je 0x1801d5ddf
mov rax, qword [0x18029e070]
inc rax
mov qword [0x18029e070], rax
jmp 0x1801d5e03
mov eax, dword [rsp + 0x24]
sub eax, r8d
cmp eax, ecx
jae 0x1801d58ad
mov ecx, eax
mov rax, qword [rsp + 0x68]
mov r8d, dword [rax + rcx*4]
mov dword [rsp + 0x2c], r8d
jmp 0x1801d594e
test r8d, r8d
je 0x1801d58b2
mov ebx, r8d
mov r14, qword [rsp + 0xa0]
add rbx, r14
cmp rbx, rdx
jb 0x1801d5ada
cmp rbx, qword [rsp + 0x40]
ja 0x1801d5ada
mov rdx, r15
mov rcx, rbx
call fcn.1801d6400
test al, al
je 0x1801d5aa9
mov rdx, r14
mov rcx, rbx
call fcn.1801d5ee0
test rax, rax
je 0x1801d59b7
mov qword [rsp + 0xa0], rax
mov rax, qword [0x18029e088]
inc rax
mov qword [0x18029e088], rax
jmp 0x1801d59c8
mov rax, qword [0x18029e090]
inc rax
mov qword [0x18029e090], rax
mov qword [rsp + 0x98], rdi
mov rax, qword [0x18029e038]
inc rax
mov qword [0x18029e038], rax
call fcn.1801d8d20
mov r10, rax
test rax, rax
je 0x1801d58c1
mov rax, qword [0x18029e098]
inc rax
mov qword [0x18029e098], rax
lea r9, [rsp + 0x98]
mov r8d, dword [rsp + 0x24]
xor edx, edx
mov rcx, qword [rsp + 0xa0]
call r10
cmp eax, 0xc0000138
jne 0x1801d5a2e
mov qword [rsp + 0x98], rdi
jmp 0x1801d5a39
cmp qword [rsp + 0x98], 0
jne 0x1801d5a71
mov rax, qword [0x18029e0d0]
inc rax
mov qword [0x18029e0d0], rax
mov rax, qword [0x18029e0a0]
inc rax
mov qword [0x18029e0a0], rax
mov rax, qword [0x18029e0a8]
inc rax
mov qword [0x18029e0a8], rax
jmp 0x1801d58c1
mov rax, qword [0x18029e0d0]
inc rax
mov qword [0x18029e0d0], rax
mov rax, qword [0x18029e0b8]
inc rax
mov qword [0x18029e0b8], rax
mov rax, qword [0x18029e0c0]
inc rax
mov qword [0x18029e0c0], rax
jmp 0x1801d58b2
mov rax, qword [0x18029e030]
inc rax
mov qword [0x18029e030], rax
test rsi, rsi
je 0x1801d5ac2
inc qword [rsi]
mov rdx, rsi
mov rcx, rbx
call fcn.1801d5490
mov qword [rsp + 0x98], rax
jmp 0x1801d58b2
mov qword [rsp + 0x98], rbx
jmp 0x1801d58b2
mov rax, qword [0x18029e068]
inc rax
mov qword [0x18029e068], rax
test ecx, ecx
je 0x1801d58b2
cmp qword [rsp + 0x70], 0
je 0x1801d58b2
cmp qword [rsp + 0x58], 0
je 0x1801d58b2
cmp dword [rsp + 0x48], 0
je 0x1801d58b2
mov r13d, edi
mov dword [rsp + 0x24], r13d
cmp r13d, dword [rsp + 0x48]
jae 0x1801d58b2
mov r10d, r13d
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + r10*4]
test ecx, ecx
je 0x1801d5dd7
mov r9d, ecx
add r9, qword [rsp + 0xa0]
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
movzx r8d, byte [rcx + r9]
mov eax, r12d
add rax, rcx
cmp r8b, byte [rax + r15]
jne 0x1801d5d3e
test r8b, r8b
jne 0x1801d5dba
mov rax, qword [rsp + 0x58]
movzx ecx, word [rax + r10*2]
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + rcx*4]
mov dword [rsp + 0x2c], edx
jmp 0x1801d5bb3
test edx, edx
je 0x1801d5d3e
mov ebx, edx
mov r14, qword [rsp + 0xa0]
add rbx, r14
cmp rbx, qword [rsp + 0x80]
jb 0x1801d5da2
cmp rbx, qword [rsp + 0x40]
ja 0x1801d5da2
mov rdx, r15
mov rcx, rbx
call fcn.1801d6400
test al, al
je 0x1801d5d74
mov rdx, r14
mov rcx, rbx
call fcn.1801d5ee0
mov rcx, rax
mov edx, dword [rsp + 0x64]
test rax, rax
je 0x1801d5c35
mov qword [rsp + 0xa0], rax
mov rax, qword [0x18029e088]
inc rax
mov qword [0x18029e088], rax
lea r14, [rdx + r15]
mov rdx, r14
call fcn.1801d4c50
mov rcx, rax
jmp 0x1801d5c54
mov rax, qword [0x18029e090]
inc rax
mov qword [0x18029e090], rax
mov rcx, rdi
mov r14, qword [rsp + 0x88]
add r14, rdx
mov qword [rsp + 0x98], rcx
mov rax, qword [0x18029e038]
inc rax
mov qword [0x18029e038], rax
test rcx, rcx
jne 0x1801d5db5
call fcn.1801d8d20
mov rbx, rax
test rax, rax
je 0x1801d5d6a
mov dword [rsp + 0xbc], edi
mov rcx, r14
call fcn.1801d6ae0
mov word [rsp + 0xb8], ax
inc ax
mov word [rsp + 0xba], ax
mov qword [rsp + 0xc0], r14
lea r9, [rsp + 0x98]
xor r8d, r8d
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
call rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
cmp eax, 0xc0000138
je 0x1801d5ce7
cmp eax, 0xc0000142
jne 0x1801d5cef
mov qword [rsp + 0x98], rdi
mov rax, qword [0x18029e098]
inc rax
mov qword [0x18029e098], rax
cmp qword [rsp + 0x98], 0
jne 0x1801d5d46
mov rax, qword [0x18029e0d0]
inc rax
mov qword [0x18029e0d0], rax
mov rax, qword [0x18029e0a0]
inc rax
mov qword [0x18029e0a0], rax
mov rax, qword [0x18029e0b0]
inc rax
mov qword [0x18029e0b0], rax
inc r13d
jmp 0x1801d5b26
mov rax, qword [0x18029e0b8]
inc rax
mov qword [0x18029e0b8], rax
mov rax, qword [0x18029e0c8]
inc rax
mov qword [0x18029e0c8], rax
jmp 0x1801d5daa
mov qword [rsp + 0x98], rdi
jmp 0x1801d5d3e
mov rax, qword [0x18029e030]
inc rax
mov qword [0x18029e030], rax
test rsi, rsi
je 0x1801d5d8d
inc qword [rsi]
mov rdx, rsi
mov rcx, rbx
call fcn.1801d5490
mov qword [rsp + 0x98], rax
jmp 0x1801d5daa
mov qword [rsp + 0x98], rbx
cmp qword [rsp + 0x98], 0
je 0x1801d5d3e
jmp 0x1801d58b2
inc edx
jmp 0x1801d5b60
inc r13d
jmp 0x1801d5b26
mov rax, qword [0x18029e078]
inc rax
mov qword [0x18029e078], rax
jmp 0x1801d5e03
mov rax, qword [0x18029e040]
inc rax
mov qword [0x18029e040], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov rcx, rax
sub rcx, qword [rsp + 0x90]
mov rax, qword [0x18029e100]
test rax, rax
je 0x1801d5e2f
mov rax, qword [0x18029e100]
cmp rax, rcx
jae 0x1801d5e36
mov qword [0x18029e100], rcx
cmp qword [rsp + 0x98], 0
jne 0x1801d5e70
cmp byte [rsp + 0x20], 0
je 0x1801d5e6b
mov edi, 0xc0000138
mov ecx, 0x4750412d
cmp byte [rsp + 0x21], 0
cmovne edi, ecx
mov ecx, edi
call fcn.1801dc580
mov rax, qword [rsp + 0x98]
jmp 0x1801d5ead
mov edi, 0xc0000139
mov ecx, edi
call fcn.1801dc580
mov rax, qword [rsp + 0x98]
jmp 0x1801d5ead
cmp qword [0x18029e134], 0x33c0
jne 0x1801d5eaa
call fcn.1801d4849
add rax, 0x33c0
mov qword [0x18029e134], rax
mov rax, qword [rsp + 0x98]
jmp 0x1801d5ead
mov rax, rdi
mov rcx, qword [rsp + 0xcd0]
xor rcx, rsp
call fcn.1801e68c0
lea r11, [rsp + 0xce0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret