Function at 0x14033f050
Capabilities:
Encode data using xor
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, 0xcf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc70], 0xfffffffffffffffe
mov qword [rbp + 0xc68], 0
cmp rcx, 0x1fefa
je 0x14033f0bb
mov rsi, rdx
mov rbx, rcx
call fcn.14033fc20
rdtsc
mov r12, rax
mov r13, rdx
shl r13, 0x20
test rsi, rsi
je 0x14033f120
mov rax, qword [rsi]
cmp rax, 7
jb 0x14033f110
inc qword [0x140518640]
jmp 0x14033f15d
cmp qword [0x1405186ac], 0x33c0
jne 0x14033fa57
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0xa91a9063
mov dword [rsp + 0x38], 0x9627e7a5
mov dword [rsp + 0x30], 0x3201ad0d
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.140341c30
add rax, 0x33c0
mov qword [0x1405186ac], rax
jmp 0x14033fa57
cmp rax, qword [0x140518638]
jbe 0x14033f120
mov qword [0x140518638], rax
test rbx, rbx
je 0x14033f15d
mov qword [rbp + 0xc20], rsi
mov r14d, 2
nop word cs:[rax + rax]
lea edi, [r14 - 2]
movzx eax, byte [0x140531ad1]
add al, byte [rbx + rdi]
je 0x14033f167
movzx eax, al
cmp eax, 0x2e
je 0x14033f167
inc r14d
jmp 0x14033f140
xor r15d, r15d
xor esi, esi
jmp 0x14033f8f1
xor r15d, r15d
cmp byte [rbx + rdi], 0x2e
mov esi, 0
jne 0x14033f8f1
cmp edi, 0x400
setae al
movzx ecx, byte [0x140531b40]
xor al, cl
mov edx, 0x400
sub rdx, rdi
xor esi, esi
test al, al
cmovne rdx, rsi
cmp edi, 0x400
mov qword [rbp + 0xc58], 0
mov r8, rdx
cmovae r8, rsi
test cl, cl
cmove r8, rdx
lea rcx, [rdi + rbp]
add rcx, 0x7e0
xor edx, edx
call fcn.1403e40c0
lea r15, [rbp + 0x7e0]
mov rcx, r15
mov qword [rbp + 0xc38], rbx
mov rdx, rbx
mov r8, rdi
call fcn.1403e3a10
mov dword [rsp + 0x20], 0x762817ba
xor ecx, ecx
mov edx, 1
mov r8, r15
mov r9d, 0x750e082
call fcn.140341840
mov qword [rbp + 0xc58], rax
mov ecx, 0
mov qword [rbp + 0xc60], rcx
test rax, rax
jne 0x14033f356
xor eax, eax
mov qword [rbp + 0xc60], rax
lea rcx, [rbp + 0x7e0]
xor edx, edx
call fcn.14033d4f0
xor ecx, ecx
test rax, rax
sete cl
lea rbx, [0x140518590]
mov rdx, qword [rbx + rcx*8 + 0x58]
mov r8, rdx
xor r8, 1
and edx, 1
mov qword [rbp + 0xc58], rax
lea rdx, [r8 + rdx*2]
mov qword [rbx + rcx*8 + 0x58], rdx
test rax, rax
jne 0x14033f356
mov dword [rsp + 0x20], 0x93857bbb
mov r15d, 1
mov ecx, 1
mov edx, 1
mov r8d, 0x7b397c56
mov r9d, 0xd4c19547
call fcn.140341910
xor r10d, r10d
test rax, rax
je 0x14033f34d
mov qword [rbp + 0xbf0], 0
lea rcx, [rbp - 0x20]
mov qword [rbp + 0xbf8], rcx
xor ecx, ecx
nop dword [rax + rax]
mov edx, r10d
movsx r8d, byte [rbp + rdx + 0x7e0]
xor r9d, r9d
test r8w, r8w
setne r9b
mov word [rbp + rdx*2 - 0x20], r8w
movzx ecx, cl
cmove ecx, r15d
xor r10d, r9d
mov edx, r10d
not edx
and edx, r9d
lea r10d, [r10 + rdx*2]
mov edx, ecx
xor dl, 0xfe
test dl, cl
je 0x14033f2c0
lea ecx, [r10 + r10]
mov word [rbp + 0xbf0], cx
lea ecx, [r10 + r10]
add ecx, 2
mov word [rbp + 0xbf2], cx
lea r8, [rbp + 0xbf0]
lea r9, [rbp + 0xc58]
xor ecx, ecx
xor edx, edx
call qword [case.0x1401138cb.0]
mov rdx, qword [rbp + 0xc58]
xor eax, eax
mov rcx, rdx
mov qword [rbp + 0xc60], rdx
test rdx, rdx
sete al
inc qword [rbx + rax*8 + 0x20]
jmp 0x14033f356
xor eax, eax
mov qword [rbp + 0xc60], rax
lea rcx, [rbp + 0x7e0]
xor edx, edx
mov r8, rdi
call fcn.1403e40c0
lea eax, [r14 - 1]
mov rcx, qword [rbp + 0xc38]
movzx ebx, byte [rcx + rax]
mov r15d, 0
cmp bl, 0x23
jne 0x14033f3a9
mov ecx, r14d
add rcx, qword [rbp + 0xc38]
mov edx, 0x3bb3e634
mov r8d, 0x5e39b820
mov r9d, 0xb4b0321e
call fcn.140293580
mov esi, eax
mov r15b, 1
mov eax, r14d
mov rcx, qword [rbp + 0xc20]
test rcx, rcx
mov r9, qword [rbp + 0xc60]
je 0x14033f3ce
cmp qword [rcx], 7
jb 0x14033f3ce
inc qword [0x140518640]
jmp 0x14033f8af
mov rdi, qword [rbp + 0xc58]
test rdi, rdi
je 0x14033f8af
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x14033f8af
mov r8d, dword [rdi + rdx + 0x8c]
test r8, r8
je 0x14033f8af
cmp dword [rdi + rdx + 0x8c], 0x28
jb 0x14033f8af
lea r10, [rdi + rcx]
add r8, r10
mov qword [rbp + 0xc18], r8
mov edx, dword [r10 + 0x1c]
add rdx, rdi
mov qword [rbp + 0xc10], rdx
mov edx, dword [r10 + 0x14]
cmp bl, 0x23
jne 0x14033f4d7
mov r8d, dword [r10 + 0x10]
inc qword [0x1405185c0]
test edx, edx
je 0x14033f8af
mov rax, rsi
mov sil, 1
mov r14, rax
sub eax, r8d
jb 0x14033f8b1
cmp eax, edx
jae 0x14033f8b1
mov eax, eax
mov rdx, qword [rbp + 0xc10]
mov ebx, dword [rdx + rax*4]
test rbx, rbx
mov rdx, qword [rbp + 0xc18]
je 0x14033f8af
mov eax, ebx
add rbx, rdi
cmp eax, ecx
jb 0x14033f8a8
cmp rbx, rdx
ja 0x14033f8a8
mov rcx, rbx
mov rdx, qword [rbp + 0xc38]
call fcn.14033d220
test al, al
je 0x14033fa72
mov rcx, rbx
mov rdx, rdi
call fcn.14033d4f0
test rax, rax
je 0x14033faf4
mov qword [rbp + 0xc58], rax
lea rax, [0x1405185e8]
jmp 0x14033fafb
mov ecx, dword [r10 + 0x20]
mov r8d, dword [r10 + 0x24]
mov qword [rbp + 0xbe8], r10
mov r10d, dword [r10 + 0x18]
inc qword [0x1405185c8]
xor esi, esi
test edx, edx
je 0x14033f8b1
add rcx, rdi
add r8, rdi
test r10d, r10d
je 0x14033f8b1
mov qword [rbp + 0xbe0], r8
je 0x14033f8b1
mov eax, eax
add rax, qword [rbp + 0xc38]
mov qword [rbp + 0xc28], rax
xor edx, edx
mov qword [rbp + 0xc40], r12
mov qword [rbp + 0xc48], r13
mov qword [rbp + 0xc50], r15
mov qword [rbp + 0xc08], rcx
mov dword [rbp + 0xc34], r10d
jmp 0x14033f597
mov qword [rbp + 0xc68], 0
mov rdx, qword [rbp + 0xc00]
inc edx
xor esi, esi
mov r10d, dword [rbp + 0xc34]
cmp edx, r10d
mov r12, qword [rbp + 0xc40]
mov r13, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc60]
mov r15, qword [rbp + 0xc50]
mov rcx, qword [rbp + 0xc08]
jae 0x14033f8b1
mov qword [rbp + 0xc00], rdx
mov eax, edx
mov ecx, dword [rcx + rax*4]
test rcx, rcx
je 0x14033f559
mov rdi, qword [rbp + 0xc58]
add rcx, rdi
xor edx, edx
mov rsi, qword [rbp + 0xc28]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [rsi + rdx]
cmp r8b, r9b
sete r10b
test r8b, r8b
sete r11b
cmp r10b, r11b
je 0x14033f5e7
cmp r8b, r9b
jne 0x14033f5e7
inc rdx
jmp 0x14033f5c0
cmp r8b, r9b
jne 0x14033f559
mov rcx, qword [rbp + 0xbe0]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rbp + 0xc10]
mov ebx, dword [rcx + rax*4]
test rbx, rbx
je 0x14033f559
add rbx, rdi
cmp rbx, qword [rbp + 0xbe8]
mov rax, qword [rbp + 0xc18]
jb 0x14033f70a
cmp rbx, rax
ja 0x14033f70a
mov rcx, rbx
mov rdx, qword [rbp + 0xc38]
call fcn.14033d220
test al, al
je 0x14033f69f
mov rcx, rbx
mov rdx, rdi
call fcn.14033d4f0
test rax, rax
je 0x14033f764
mov qword [rbp + 0xc58], rax
inc qword [0x1405185e8]
mov rcx, rax
mov rdx, qword [rbp + 0xc28]
call fcn.14033ffb0
mov qword [rbp + 0xc68], rax
mov rcx, qword [0x140518598]
lea rdx, [rcx + rcx]
sub rdx, rcx
inc rdx
mov qword [0x140518598], rdx
test rax, rax
je 0x14033f77d
jmp 0x14033fad1
mov rax, qword [0x140518590]
movabs rcx, 0xe3c87132a35c566b
add rax, rcx
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
movabs rcx, 0x1c378ecd5ca3a995
add rax, rcx
mov qword [0x140518590], rax
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x14033f6ff
mov rax, qword [rdx]
mov ecx, eax
not ecx
and ecx, 1
mov r8, rax
and r8, 0xfffffffffffffffe
or r8, rcx
and eax, 1
lea rax, [r8 + rax*2]
mov qword [rdx], rax
mov rcx, rbx
call fcn.14033f050
mov rbx, rax
mov qword [rbp + 0xc68], rbx
mov r12, qword [rbp + 0xc40]
mov r13, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc60]
mov r15, qword [rbp + 0xc50]
xor esi, esi
test rbx, rbx
jne 0x14033f8b1
mov rdx, qword [rbp + 0xc00]
add edx, 0x296848e5
mov eax, edx
xor eax, 0xd697b71c
and edx, 0x5697b71c
lea edx, [rax + rdx*2]
mov r10d, dword [rbp + 0xc34]
cmp edx, r10d
jmp 0x14033f58a
inc qword [0x1405185f0]
mov qword [rbp + 0xc68], 0
inc qword [0x140518598]
call fcn.14034c450
test rax, rax
je 0x14033f54e
mov qword [rbp - 0x20], 0
xor ecx, ecx
xor edx, edx
mov r9, qword [rbp + 0xc28]
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 0x14033f7a4
mov word [rbp - 0x20], cx
inc ecx
mov word [rbp - 0x1e], cx
mov qword [rbp - 0x18], r9
mov rcx, qword [rbp + 0xc58]
lea rdx, [rbp - 0x20]
xor r8d, r8d
lea r9, [rbp + 0xc68]
call qword [case.0x1401138cb.0]
cmp eax, 0xc0000142
je 0x14033f7f7
cmp eax, 0xc0000138
jne 0x14033f85b
mov qword [rbp + 0xc68], 0
mov rax, qword [0x1405185f8]
mov ecx, eax
not ecx
and ecx, 1
mov rdx, rax
and rdx, 0xfffffffffffffffe
or rdx, rcx
and eax, 1
lea rax, [rdx + rax*2]
mov qword [0x1405185f8], rax
mov r12, qword [rbp + 0xc40]
mov r13, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc60]
mov r15, qword [rbp + 0xc50]
inc qword [0x140518630]
lea rax, [0x140518600]
lea rcx, [0x140518610]
jmp 0x14033f896
inc qword [0x1405185f8]
cmp qword [rbp + 0xc68], 0
lea rax, [0x140518618]
lea rcx, [0x140518628]
mov r12, qword [rbp + 0xc40]
mov r13, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc60]
mov r15, qword [rbp + 0xc50]
je 0x14033f844
inc qword [rax]
inc qword [rcx]
mov rbx, qword [rbp + 0xc68]
jmp 0x14033f72d
mov qword [rbp + 0xc68], rbx
xor esi, esi
mov rax, qword [rbp + 0xc68]
test rax, rax
jne 0x14033f8f8
test r9, r9
je 0x14033f8f8
mov dword [rsp + 0x20], 0x396672c7
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x6900e87e
call fcn.140341790
test rax, rax
je 0x14033f8f1
mov rcx, qword [rbp + 0xc60]
call qword [case.0x1401138cb.0]
mov rax, qword [rbp + 0xc68]
or r12, r13
test rax, rax
je 0x14033f909
lea rax, [0x1405185a0]
jmp 0x14033f927
lea rax, [0x140518590]
inc qword [0x1405185a8]
xor ecx, ecx
test r15b, r15b
sete cl
lea rax, [rax + rcx*8]
add rax, 0x40
mov rcx, qword [rax]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [rax], rcx
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r12
cmp qword [0x140518660], 0
je 0x14033f95d
mov rax, qword [0x140518660]
cmp rax, rdx
jae 0x14033f964
mov qword [0x140518660], rdx
cmp qword [rbp + 0xc68], 0
je 0x14033f99f
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x50], 0x4711dd36
mov dword [rsp + 0x48], 0x3201ad0d
mov dword [rsp + 0x40], 0x4711dd36
xor ecx, ecx
xor edx, edx
xor r8d, r8d
jmp 0x14033fa4f
mov eax, r15d
not al
test al, 1
sete cl
mov edx, esi
xor dl, 1
xor cl, sil
and dl, al
or dl, cl
jne 0x14033f9e8
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x50], 0x4711dd36
mov dword [rsp + 0x48], 0x3201ad0d
mov dword [rsp + 0x40], 0x4711dd36
xor ecx, ecx
xor edx, edx
mov r8d, 0x4750412d
jmp 0x14033fa4f
or r15b, 0xfe
xorps xmm0, xmm0
test r15b, 1
je 0x14033fa23
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x50], 0x4711dd36
mov dword [rsp + 0x48], 0x3201ad0d
mov dword [rsp + 0x40], 0x4711dd36
xor ecx, ecx
xor edx, edx
mov r8d, 0xc0000138
jmp 0x14033fa4f
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x50], 0x4711dd36
mov dword [rsp + 0x48], 0x3201ad0d
mov dword [rsp + 0x40], 0x4711dd36
xor ecx, ecx
xor edx, edx
mov r8d, 0xc0000139
xor r9d, r9d
call fcn.1403418b0
mov rax, qword [rbp + 0xc68]
add rsp, 0xcf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [0x140518590]
mov rcx, rax
not rcx
movabs rdx, 0x7ffffffffffffffe
and rdx, rcx
and ecx, 1
mov r8, rax
and r8, 0xfffffffffffffffe
or r8, rcx
xor rax, 1
or rdx, rax
not rdx
lea rax, [r8 + rdx*2]
mov qword [0x140518590], rax
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x14033fabd
inc qword [rdx]
mov rcx, rbx
call fcn.14033f050
mov qword [rbp + 0xc68], rax
jmp 0x14033fbc9
xor esi, esi
mov r12, qword [rbp + 0xc40]
mov r13, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc60]
mov r15, qword [rbp + 0xc50]
jmp 0x14033f8b1
lea rax, [0x1405185f0]
inc qword [rax]
mov qword [rbp + 0xc68], 0
inc qword [0x140518598]
mov dword [rsp + 0x28], 0xf5e7b26f
mov dword [rsp + 0x20], 0x99293ab8
mov ecx, 1
mov edx, 1
xor r8d, r8d
mov r9d, 0x93857bbb
call fcn.140341cd0
test rax, rax
je 0x14033fb71
inc qword [0x1405185f8]
mov rcx, qword [rbp + 0xc58]
lea r9, [rbp + 0xc68]
xor edx, edx
mov r8d, r14d
call qword [case.0x1401138cb.0]
cmp eax, 0xc0000138
jne 0x14033fb7e
mov qword [rbp + 0xc68], 0
jmp 0x14033fb9f
mov qword [rbp + 0xc68], 0
jmp 0x14033fbc9
cmp qword [rbp + 0xc68], 0
je 0x14033fb9f
inc qword [0x140518630]
inc qword [0x140518618]
inc qword [0x140518620]
jmp 0x14033fbc9
inc qword [0x140518630]
inc qword [0x140518600]
mov rax, qword [0x140518608]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x140518608], rax
xor esi, esi
mov r9, qword [rbp + 0xc60]
jmp 0x14033f8b1