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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xcb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc30], 0xfffffffffffffffe
mov qword [rbp + 0xc28], 0
cmp rcx, 0x1fefa
je 0x20245811
mov rsi, rdx
mov rbx, rcx
call fcn.20246080
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
test rsi, rsi
je 0x20245849
mov rax, qword [rsi]
cmp rax, 7
jb 0x20245839
inc qword [0x203e9240]
xor r13d, r13d
xor r14d, r14d
jmp 0x20245f7e
cmp qword [0x203e929c], 0x33c0
jne 0x2024601d
call fcn.20247ab0
add rax, 0x33c0
mov qword [0x203e929c], rax
jmp 0x2024601d
cmp rax, qword [0x203e9238]
jbe 0x20245849
mov qword [0x203e9238], rax
xor r14d, r14d
test rbx, rbx
je 0x20245878
mov qword [rbp + 0xbe8], rsi
nop dword [rax + rax]
mov edi, r14d
movzx r13d, byte [rbx + rdi]
test r13d, r13d
je 0x20245809
cmp r13d, 0x2e
je 0x20245880
inc r14d
jmp 0x20245860
xor r13d, r13d
jmp 0x20245f7e
mov qword [rbp + 0xc18], 0
mov r8d, 0x400
sub r8, rdi
xor esi, esi
cmp r14d, 0x400
cmovae r8, rsi
lea rcx, [rdi + rbp]
add rcx, 0x7a0
xor edx, edx
call fcn.202d57b0
mov rdx, rbx
lea rbx, [rbp + 0x7a0]
mov rcx, rbx
mov qword [rbp + 0xbf8], rdx
mov r8, rdi
call fcn.202d5100
mov rcx, rbx
call fcn.200f9ca0
mov qword [rbp + 0xc18], rax
mov r13d, 0
test rax, rax
jne 0x202459cf
xor r13d, r13d
lea rcx, [rbp + 0x7a0]
xor edx, edx
call fcn.202435d0
xor ecx, ecx
test rax, rax
sete cl
lea rbx, [0x203e9190]
inc qword [rbx + rcx*8 + 0x58]
mov qword [rbp + 0xc18], rax
test rax, rax
jne 0x202459cf
call fcn.202475c0
xor r13d, r13d
test rax, rax
je 0x202459cf
mov r10, rax
mov qword [rbp + 0xba8], 0
lea rax, [rbp - 0x60]
mov qword [rbp + 0xbb0], rax
mov eax, 1
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, r13d
mov r8d, r13d
movsx r9d, byte [rbp + r8 + 0x7a0]
xor r13d, r13d
test r9w, r9w
setne r13b
mov word [rbp + r8*2 - 0x60], r9w
movzx ecx, cl
cmove ecx, eax
add r13d, edx
test cl, 1
je 0x20245960
lea eax, [r13 + r13]
mov word [rbp + 0xba8], ax
lea eax, [r13 + r13 + 2]
mov word [rbp + 0xbaa], ax
lea r8, [rbp + 0xba8]
lea r9, [rbp + 0xc18]
xor ecx, ecx
xor edx, edx
call r10
mov r13, qword [rbp + 0xc18]
xor eax, eax
test r13, r13
sete al
inc qword [rbx + rax*8 + 0x20]
mov qword [rbp + 0xbb8], r13
lea rcx, [rbp + 0x7a0]
xor edx, edx
mov r8, rdi
call fcn.202d57b0
lea eax, [r14 + 1]
mov rcx, qword [rbp + 0xbf8]
movzx ebx, byte [rcx + rax]
mov r13d, 0
cmp bl, 0x23
jne 0x20245a1d
add r14d, 2
mov rax, qword [rbp + 0xbf8]
lea rcx, [rax + r14]
call fcn.20231240
mov esi, eax
mov r13b, 1
mov eax, r14d
mov rcx, qword [rbp + 0xbe8]
test rcx, rcx
je 0x20245a3b
cmp qword [rcx], 7
jb 0x20245a3b
inc qword [0x203e9240]
jmp 0x20245f52
mov rdi, qword [rbp + 0xc18]
test rdi, rdi
je 0x20245f52
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x20245f52
mov edx, dword [rdi + rdx + 0x8c]
test rdx, rdx
je 0x20245f52
cmp edx, 0x28
jb 0x20245f52
lea r8, [rdi + rcx]
add rdx, r8
mov qword [rbp + 0xbe0], rdx
mov edx, dword [r8 + 0x1c]
add rdx, rdi
mov qword [rbp + 0xbd0], rdx
mov edx, dword [r8 + 0x14]
cmp bl, 0x23
jne 0x20245b3a
mov r8d, dword [r8 + 0x10]
inc qword [0x203e91c0]
test edx, edx
je 0x20245f52
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x20245f55
cmp eax, edx
jae 0x20245f55
mov eax, eax
mov rdx, qword [rbp + 0xbd0]
mov ebx, dword [rdx + rax*4]
test rbx, rbx
mov rdx, qword [rbp + 0xbe0]
je 0x20245f52
mov eax, ebx
add rbx, rdi
cmp eax, ecx
jb 0x20245e66
cmp rbx, rdx
ja 0x20245e66
mov rcx, rbx
mov rdx, qword [rbp + 0xbf8]
call fcn.20243470
test al, al
je 0x20245e72
mov rcx, rbx
mov rdx, rdi
call fcn.202435d0
test rax, rax
je 0x20245eb9
mov qword [rbp + 0xc18], rax
lea rax, [0x203e91e8]
jmp 0x20245ec0
mov ecx, dword [r8 + 0x20]
mov qword [rbp + 0xbc8], rcx
mov ecx, dword [r8 + 0x24]
mov qword [rbp + 0xbd8], rcx
mov qword [rbp + 0xba0], r8
mov r8d, dword [r8 + 0x18]
inc qword [0x203e91c8]
xor r14d, r14d
test edx, edx
je 0x20245f55
test r8d, r8d
je 0x20245f55
add qword [rbp + 0xbc8], rdi
add qword [rbp + 0xbd8], rdi
mov eax, eax
add rax, qword [rbp + 0xbf8]
mov qword [rbp + 0xbf0], rax
xor eax, eax
mov qword [rbp + 0xc00], r15
mov qword [rbp + 0xc08], r12
mov qword [rbp + 0xc10], r13
mov dword [rbp + 0xc24], r8d
jmp 0x20245bf0
mov qword [rbp + 0xc28], 0
mov rax, qword [rbp + 0xbc0]
inc eax
xor r14d, r14d
mov r8d, dword [rbp + 0xc24]
cmp eax, r8d
mov r15, qword [rbp + 0xc00]
mov r12, qword [rbp + 0xc08]
mov r13, qword [rbp + 0xc10]
jae 0x20245f55
mov qword [rbp + 0xbc0], rax
mov eax, eax
mov rcx, qword [rbp + 0xbc8]
mov ecx, dword [rcx + rax*4]
test rcx, rcx
je 0x20245bbf
mov rsi, qword [rbp + 0xc18]
add rcx, rsi
xor edx, edx
mov r10, qword [rbp + 0xbf0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [r10 + rdx]
test r8b, r8b
je 0x20245c37
inc rdx
cmp r8b, r9b
je 0x20245c20
cmp r8b, r9b
jne 0x20245bbf
mov rcx, qword [rbp + 0xbd8]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rbp + 0xbd0]
mov edi, dword [rcx + rax*4]
test rdi, rdi
je 0x20245bbf
add rdi, rsi
cmp rdi, qword [rbp + 0xba0]
mov rax, qword [rbp + 0xbe0]
jb 0x20245cff
cmp rdi, rax
ja 0x20245cff
mov rcx, rdi
mov rdx, qword [rbp + 0xbf8]
call fcn.20243470
test al, al
je 0x20245cde
mov rcx, rdi
mov rdx, rsi
call fcn.202435d0
test rax, rax
je 0x20245d45
mov qword [rbp + 0xc18], rax
inc qword [0x203e91e8]
mov rcx, rax
mov rdx, qword [rbp + 0xbf0]
call fcn.202469b0
mov qword [rbp + 0xc28], rax
inc qword [0x203e9198]
test rax, rax
je 0x20245d5e
jmp 0x20245e9c
inc qword [0x203e9190]
mov rdx, qword [rbp + 0xbe8]
test rdx, rdx
je 0x20245cf4
inc qword [rdx]
mov rcx, rdi
call fcn.202457a0
mov rdi, rax
mov qword [rbp + 0xc28], rdi
mov r15, qword [rbp + 0xc00]
mov r12, qword [rbp + 0xc08]
mov r13, qword [rbp + 0xc10]
mov r8d, dword [rbp + 0xc24]
xor r14d, r14d
test rdi, rdi
jne 0x20245f55
mov rax, qword [rbp + 0xbc0]
inc eax
cmp eax, r8d
jb 0x20245bf0
jmp 0x20245f55
inc qword [0x203e91f0]
mov qword [rbp + 0xc28], 0
inc qword [0x203e9198]
call fcn.202475d0
test rax, rax
je 0x20245bb4
mov qword [rbp - 0x60], 0
xor ecx, ecx
xor edx, edx
mov r9, qword [rbp + 0xbf0]
mov r10d, 1
mov r8, rcx
xor ecx, ecx
cmp byte [r9 + r8], 0
setne cl
movzx edx, dl
cmove edx, r10d
add rcx, r8
test dl, 1
je 0x20245d85
mov word [rbp - 0x60], cx
inc ecx
mov word [rbp - 0x5e], cx
mov qword [rbp - 0x58], r9
mov rcx, qword [rbp + 0xc18]
lea rdx, [rbp - 0x60]
xor r8d, r8d
lea r9, [rbp + 0xc28]
call rax
cmp eax, 0xc0000142
je 0x20245dd4
cmp eax, 0xc0000138
jne 0x20245e19
mov qword [rbp + 0xc28], 0
inc qword [0x203e91f8]
mov r15, qword [rbp + 0xc00]
mov r12, qword [rbp + 0xc08]
mov r13, qword [rbp + 0xc10]
mov r8d, dword [rbp + 0xc24]
inc qword [0x203e9230]
lea rax, [0x203e9200]
lea rcx, [0x203e9210]
jmp 0x20245e54
inc qword [0x203e91f8]
cmp qword [rbp + 0xc28], 0
lea rax, [0x203e9218]
lea rcx, [0x203e9228]
mov r15, qword [rbp + 0xc00]
mov r12, qword [rbp + 0xc08]
mov r13, qword [rbp + 0xc10]
mov r8d, dword [rbp + 0xc24]
je 0x20245e02
inc qword [rax]
inc qword [rcx]
mov rdi, qword [rbp + 0xc28]
jmp 0x20245d22
mov qword [rbp + 0xc28], rbx
jmp 0x20245f52
inc qword [0x203e9190]
mov rdx, qword [rbp + 0xbe8]
test rdx, rdx
je 0x20245e88
inc qword [rdx]
mov rcx, rbx
call fcn.202457a0
mov qword [rbp + 0xc28], rax
jmp 0x20245f52
xor r14d, r14d
mov r15, qword [rbp + 0xc00]
mov r12, qword [rbp + 0xc08]
mov r13, qword [rbp + 0xc10]
jmp 0x20245f55
lea rax, [0x203e91f0]
inc qword [rax]
mov qword [rbp + 0xc28], 0
inc qword [0x203e9198]
call fcn.202475d0
test rax, rax
je 0x20245f0f
inc qword [0x203e91f8]
mov rcx, qword [rbp + 0xc18]
lea r9, [rbp + 0xc28]
xor edx, edx
mov r8d, esi
call rax
cmp eax, 0xc0000138
jne 0x20245f1c
mov qword [rbp + 0xc28], 0
jmp 0x20245f3d
mov qword [rbp + 0xc28], 0
jmp 0x20245f52
cmp qword [rbp + 0xc28], 0
je 0x20245f3d
inc qword [0x203e9230]
inc qword [0x203e9218]
inc qword [0x203e9220]
jmp 0x20245f52
inc qword [0x203e9230]
inc qword [0x203e9200]
inc qword [0x203e9208]
xor r14d, r14d
mov rax, qword [rbp + 0xc28]
test rax, rax
jne 0x20245f85
cmp qword [rbp + 0xbb8], 0
je 0x20245f85
call fcn.202475e0
test rax, rax
je 0x20245f7e
mov rcx, qword [rbp + 0xbb8]
call rax
mov rax, qword [rbp + 0xc28]
or r15, r12
test rax, rax
je 0x20245f96
lea rax, [0x203e91a0]
jmp 0x20245fb5
lea rax, [0x203e9190]
inc qword [0x203e91a8]
xor ecx, ecx
test r13b, 1
sete cl
lea rax, [rax + rcx*8]
add rax, 0x40
inc qword [rax]
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r15
cmp qword [0x203e9260], 0
je 0x20245fda
mov rax, qword [0x203e9260]
cmp rax, rdx
jae 0x20245fe1
mov qword [0x203e9260], rdx
cmp qword [rbp + 0xc28], 0
je 0x20245fef
xor ecx, ecx
jmp 0x20246018
test r13b, 1
sete al
xor r14b, 1
or r14b, al
jne 0x20246006
mov ecx, 0x4750412d
jmp 0x20246018
test r13b, 1
je 0x20246013
mov ecx, 0xc0000138
jmp 0x20246018
mov ecx, 0xc0000139
call fcn.20247a90
mov rax, qword [rbp + 0xc28]
add rsp, 0xcb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret