Function at 0x1800021c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x18001c1c8]
xor rax, rsp
mov qword [rbp + 0xb0], rax
xor edi, edi
mov ebx, edx
mov dword [rsp + 0x40], edi
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
cmp ebx, 1
jne 0x1800027cd
mov eax, 0xce9e3d82
mov qword [rsp + 0x1e8], r15
lea rdx, str.bikl___iuk
mov qword [0x1800372f0], rsi
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180002800
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180002242
call fcn.180002040
xor sil, sil
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edx, edx
mov ecx, 0x1000
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r9d, 0x104
lea r8, [rbp - 0x60]
mov rcx, rax
xor edx, edx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExA]
test rbx, rbx
je 0x180002281
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, edi
lea rdx, [rbp - 0x60]
or rbx, 0xffffffffffffffff
nop dword [rax]
movzx ecx, byte [rdx]
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x18000229f
add cl, 0x20
mov byte [rdx], cl
inc r8d
lea rax, [rbp - 0x60]
inc rdx
mov rcx, rbx
nop dword [rax]
inc rcx
cmp byte [rax + rcx], dil
jne 0x1800022b0
movsxd rax, r8d
cmp rax, rcx
jbe 0x180002290
lea rcx, [rbp - 0x60]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x1800022d0
lea r15, [0x180000000]
cmp rax, 0x17
jne 0x18000232b
mov edx, 0xe8
mov rcx, rdi
nop
movzx eax, byte [rcx + r15 + 0x19480]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x17
jb 0x1800022f0
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x5f], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000232b
mov al, 1
jmp 0x18000232d
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov r14d, 1
mov rax, rbx
cmovne esi, r14d
inc rax
cmp byte [rcx + rax], dil
jne 0x180002340
cmp rax, 0x1e
jne 0x1800023b1
lea ecx, [rax + 0x11]
mov rdx, rdi
lea r8, [0x180019499]
lea r9, [rsp + 0x49]
movzx eax, byte [rdx + r15 + 0x19498]
xor al, cl
mov byte [rsp + rdx + 0x48], al
lea rax, [rcx + 1]
movzx ecx, al
movzx eax, byte [r8 + rdx]
xor al, cl
mov byte [r9 + rdx], al
add rdx, 2
lea rax, [rcx + 1]
movzx ecx, al
cmp rdx, 0x1e
jb 0x180002361
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x66], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x1800023b1
movzx eax, r14b
jmp 0x1800023b3
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
inc rax
cmp byte [rcx + rax], dil
jne 0x1800023c0
cmp rax, 0x1e
jne 0x1800023ff
mov eax, 0xf459aed5
lea rdx, [0x1800194b8]
add rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1800028d0
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x1800023ff
movzx eax, r14b
jmp 0x180002401
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop
inc rax
cmp byte [rcx + rax], dil
jne 0x180002410
cmp rax, 0x1f
jne 0x18000246d
mov edx, 0x33
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x194d8]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x1f
jb 0x180002430
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x67], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000246d
movzx eax, r14b
jmp 0x18000246f
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop dword [rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x180002480
cmp rax, 0x1f
jne 0x1800024dd
mov edx, 0x79
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x194f8]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x1f
jb 0x1800024a0
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x67], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x1800024dd
movzx eax, r14b
jmp 0x1800024df
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop dword [rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x1800024f0
cmp rax, 0x1f
jne 0x18000254d
mov edx, 0x53
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x19518]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x1f
jb 0x180002510
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x67], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000254d
movzx eax, r14b
jmp 0x18000254f
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop dword [rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x180002560
cmp rax, 0x25
jne 0x1800025bd
mov edx, 0xb7
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x19538]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x25
jb 0x180002580
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x6d], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x1800025bd
movzx eax, r14b
jmp 0x1800025bf
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop dword [rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x1800025d0
cmp rax, 0x2c
jne 0x18000260f
mov eax, 0xe8a5e296
lea rdx, [0x180019560]
add rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180002950
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000260f
movzx eax, r14b
jmp 0x180002611
xor al, al
test al, al
lea rcx, [rbp - 0x60]
mov rax, rbx
cmovne esi, r14d
nop
inc rax
cmp byte [rcx + rax], dil
jne 0x180002620
cmp rax, 0x2d
jne 0x18000267d
mov edx, 0x3f
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x19590]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x2d
jb 0x180002640
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x75], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000267d
movzx eax, r14b
jmp 0x18000267f
xor al, al
test al, al
lea rax, [rbp - 0x60]
cmovne esi, r14d
nop dword [rax]
inc rbx
cmp byte [rax + rbx], dil
jne 0x180002690
cmp rbx, 0x35
jne 0x1800026ed
mov edx, 4
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rcx + r15 + 0x195c0]
xor al, dl
mov byte [rsp + rcx + 0x48], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x35
jb 0x1800026b0
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x7d], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x1800026ed
movzx eax, r14b
jmp 0x1800026ef
xor al, al
test al, al
movzx ebx, sil
mov edx, 0x7f
mov rcx, rdi
cmovne ebx, r14d
movzx eax, byte [rcx + r15 + 0x195f8]
xor al, dl
mov byte [rbp + rcx - 0x80], al
inc rcx
lea rax, [rdx + 1]
movzx edx, al
cmp rcx, 0x10
jb 0x180002701
lea rdx, [rbp - 0x80]
mov byte [rbp - 0x70], dil
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000279d
mov ecx, 0xfa
nop dword [rax + rax]
movzx eax, byte [rdi + r15 + 0x19610]
xor al, cl
mov byte [rsp + rdi + 0x48], al
inc rdi
lea rax, [rcx + 1]
movzx ecx, al
cmp rdi, 0x10
jb 0x180002740
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x58], 0
lea rcx, [rbp - 0x60]
call fcn.1800059ec
test rax, rax
je 0x18000279d
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x746f6f72
lea rcx, [rbp - 0x60]
mov byte [rsp + 0x44], 0
call fcn.1800059ec
test rax, rax
je 0x18000279d
movzx eax, r14b
jmp 0x18000279f
xor al, al
mov r15, qword [rsp + 0x1e8]
test al, al
jne 0x1800027b4
test bl, bl
jne 0x1800027b4
call fcn.180001930
xor edx, edx
lea rcx, [0x18001cb80]
mov r8d, 0x18e00
call fcn.1800062f0
mov eax, r14d
jmp 0x1800027d2
mov eax, 1
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.180003040
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret