Function at 0x180001510
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rbx, rcx
lea rdx, [rbp + 0x228]
lea rcx, [rbp + 0x220]
call section..text
cmp byte [rbx], 2
mov rdx, qword [rbp + 0x228]
jne 0x180001855
mov r8d, dword [rbx + 6]
mov r9d, dword [rbx + 2]
lea ecx, [r9 + r8]
add rcx, 0x2c6
cmp rcx, rdx
jne 0x180001855
mov rax, qword [0x18000a4d8]
lea rcx, [rbx + 0x2c6]
add rcx, r9
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x220], rcx
mov ebx, 0x104
mov ecx, ebx
test rax, rax
je 0x1800015ad
nop dword [rax]
mov byte [rax], 0
lea rax, [rax + 1]
sub rcx, 1
jne 0x1800015a0
call fcn.180003130
mov rcx, rax
mov rax, qword [0x18000a4d8]
mov byte [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0x14cd9fdb
mov dword [rsp + 0x44], 0x14c59f99
lea rdx, [rax + rcx*2]
mov dword [rsp + 0x48], 0x14a99ff5
mov eax, dword [rsp + 0x40]
movzx eax, byte [rsp + 0x3c]
test al, al
jne 0x180001606
xor ecx, ecx
nop dword [rax]
mov eax, dword [rsp + rcx*4 + 0x40]
xor eax, 0x14a99ff5
mov dword [rsp + rcx*4 + 0x40], eax
inc rcx
cmp rcx, 3
jb 0x1800015f0
mov r9d, 1
mov qword [rsp + 0x20], rdx
movzx edx, r9b
lea r8, [rsp + 0x40]
call fcn.180002cc0
mov r8, qword [rbp + 0x228]
mov rdx, qword [rbp + 0x220]
call fcn.180001c00
test eax, eax
je 0x180001842
call fcn.180001270
lea rax, [rbp]
mov byte [rax], 0
lea rax, [rax + 1]
sub rbx, 1
jne 0x180001643
mov byte [rsp + 0x30], bl
mov dword [rsp + 0x34], 0x688a596f
mov dword [rsp + 0x38], 0x68bb594c
mov eax, dword [rsp + 0x34]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x180001696
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x34]
xor eax, 0x68bb594c
mov dword [rsp + rcx*4 + 0x34], eax
inc rcx
cmp rcx, 2
jb 0x180001680
mov r8, qword [0x18000a4d8]
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0xc078dfb
mov dword [rsp + 0x68], 0xc368df4
mov dword [rsp + 0x6c], 0xc2a8da1
mov dword [rsp + 0x70], 0xc288db0
mov dword [rsp + 0x74], 0xc778db8
mov dword [rsp + 0x78], 0xc6a8de6
mov dword [rsp + 0x7c], 0xc3c8db1
mov dword [rbp - 0x80], 0xc648db1
mov dword [rbp - 0x7c], 0xc378df1
mov dword [rbp - 0x78], 0xc618df8
mov dword [rbp - 0x74], 0xc448da7
mov eax, dword [rsp + 0x64]
movzx eax, byte [rsp + 0x60]
test al, al
jne 0x180001726
xor ecx, ecx
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x64]
xor eax, 0xc448dd4
mov dword [rsp + rcx*4 + 0x64], eax
inc rcx
cmp rcx, 0xb
jb 0x180001710
lea r9, [rsp + 0x34]
lea rdx, [rsp + 0x64]
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_wsprintfW]
mov byte [rsp + 0x4c], 0
mov dword [rsp + 0x50], 0x638e8cf6
mov dword [rsp + 0x54], 0x63cd8cf1
mov dword [rsp + 0x58], 0x639b8cf0
mov dword [rsp + 0x5c], 0x63e38cf0
mov eax, dword [rsp + 0x50]
movzx eax, byte [rsp + 0x4c]
test al, al
jne 0x180001786
xor ecx, ecx
nop
mov eax, dword [rsp + rcx*4 + 0x50]
xor eax, 0x63e38c95
mov dword [rsp + rcx*4 + 0x50], eax
inc rcx
cmp rcx, 4
jb 0x180001770
mov eax, 0x70
lea rcx, [rbp - 0x70]
nop
mov byte [rcx], 0
lea rcx, [rcx + 1]
sub rax, 1
jne 0x180001790
mov rdx, qword [0x18000a4e0]
lea rax, [rsp + 0x50]
mov qword [rbp - 0x58], rax
lea rax, [rbp]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x70], 0x70
mov dword [rbp - 0x6c], 0x140
mov dword [rbp - 0x40], 0
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x48], 0
test rdx, rdx
jne 0x18000180d
mov edx, 6
xor ecx, ecx
mov r8d, 0xf2276995
call fcn.180004030
mov rdx, rax
lea rcx, [rbp - 0x70]
call rdx
xor eax, eax
mov rbx, qword [rsp + 0x330]
add rsp, 0x310
pop rbp
ret
mov rdx, qword [rdx + 0xf00]
test rdx, rdx
jne 0x18000183c
mov edx, 6
xor ecx, ecx
mov r8d, 0xf2276995
call fcn.180004030
mov rdx, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0xf00], rdx
lea rcx, [rbp - 0x70]
call rdx
xor eax, eax
mov rbx, qword [rsp + 0x330]
add rsp, 0x310
pop rbp
ret
mov rbx, qword [rsp + 0x330]
and edx, 0xffffff
bts edx, 0x18
mov eax, edx
add rsp, 0x310
pop rbp
ret