Function at 0x180077140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xe0]
xor eax, eax
mov qword [rbp - 0x88], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x80], xmm4
movaps xmmword [rbp - 0x70], xmm4
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x78]
call fcn.1800060d0
call sub.KERNEL32.dll_FreeConsole
lea rcx, [rbp - 0x78]
call fcn.180006120
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0xf
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180123c28]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, 0x88888889
mov eax, esi
imul rcx, rax
shr rcx, 0x23
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
sub ecx, eax
cmp ecx, 0xf
jae 0x1800777fe
lea rax, [0x18012db40]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0xf
jl 0x1800771b6
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x180143198]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov edx, 0x10
mov r8d, 0x7fffffff
call fcn.1800a9260
xor edi, edi
lea rdx, [0x180125858]
movzx edx, word [rdx + rdi*2 + 0xc]
mov ecx, edi
and ecx, 0xf
lea rax, [0x180137ca8]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rsi
call fcn.1800a9840
inc edi
cmp edi, 0x10
jl 0x180077231
mov rcx, rsi
call fcn.1800a9320
mov qword [rbp - 0x90], rax
mov rcx, rbx
call fcn.1800b00e0
mov rbx, rax
lea rcx, [0x180159ed0]
mov edx, 0x20
call fcn.180004570
mov qword [rbp - 0x98], rax
lea rcx, [0x180159ed0]
mov edx, 0x10
call fcn.180004570
mov qword [rbp - 0xa0], rax
lea rcx, [0x180159ed0]
mov edx, 1
call fcn.180004570
mov rsi, rax
mov edx, dword [rbx + 8]
sub edx, 0x31
movsxd rdx, edx
lea rcx, [0x180159ed0]
call fcn.180004570
mov qword [rbp - 0xa8], rax
mov r8d, dword [rax + 8]
mov rcx, rbx
mov rdx, rax
call fcn.180087900
mov dword [rsp + 0x20], 0x20
mov rdx, qword [rbp - 0xa8]
mov edx, dword [rdx + 8]
mov rcx, rbx
mov r8, qword [rbp - 0x98]
xor r9d, r9d
call fcn.1800879e0
mov dword [rsp + 0x20], 0x10
mov rdx, qword [rbp - 0xa8]
mov edi, dword [rdx + 8]
add edi, 0x20
mov edx, edi
mov rcx, rbx
mov r8, qword [rbp - 0xa0]
xor r9d, r9d
call fcn.1800879e0
mov dword [rsp + 0x20], 1
lea edx, [rdi + 0x10]
mov rcx, rbx
mov r8, rsi
xor r9d, r9d
call fcn.1800879e0
cmp byte [rsi + 0x10], 1
jne 0x180077363
call fcn.180077010
test eax, eax
jne 0x180077363
call fcn.180076b60
nop
lea rcx, [0x18014aad8]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
call fcn.1800ed9a0
mov rcx, rbx
mov edx, 1
call fcn.1800ee280
mov rcx, rbx
mov edx, 2
call fcn.1800ee2d0
mov rcx, rbx
mov rdx, qword [rbp - 0x98]
call fcn.1800ee140
mov rcx, rbx
mov rdx, qword [rbp - 0xa0]
call fcn.1800ee0c0
mov rcx, rbx
call fcn.1800edb00
mov qword [rbp - 0xb0], rax
mov rdx, qword [rbp - 0xa8]
mov r9d, dword [rdx + 8]
mov rcx, rax
lea r10, [0x18013e550]
xor r8d, r8d
call qword [r10]
mov rbx, rax
mov rcx, rbx
call fcn.180074eb0
mov rsi, rax
lea rcx, [0x18013eb68]
call fcn.180004450
mov rdi, rax
lea rcx, [0x180141178]
call fcn.180004450
mov r14, rax
mov rcx, r14
call fcn.180090830
lea rcx, [rdi + 8]
mov rdx, r14
call fcn.180004660
mov rcx, rsi
call fcn.180075050
mov rsi, rax
lea rcx, [0x18014c728]
call fcn.180004450
mov r14, rax
mov rcx, r14
mov rdx, rdi
call fcn.180001901
lea rcx, [0x18014c5e8]
call fcn.180004450
mov rdi, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov rdx, rsi
mov r8, r14
xor r9d, r9d
call fcn.1801073b0
mov rdx, rdi
lea rcx, [0x18013c388]
call fcn.1801204a0
mov rsi, rax
xor edi, edi
mov ecx, dword [rsi + 0x10]
dec ecx
test ecx, ecx
jle 0x180077524
cmp edi, dword [rsi + 0x10]
jae 0x18007752d
mov rcx, qword [rsi + 8]
cmp edi, dword [rcx + 8]
jae 0x180077527
mov r14, qword [rcx + rdi*8 + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.18010e270
mov r15, rax
test r14, r14
je 0x1800774c4
lea r13, [r14 + 0xc]
mov r14d, dword [r14 + 8]
jmp 0x1800774ca
xor r13d, r13d
xor r14d, r14d
lea rcx, [0x18013ebb8]
call fcn.180004450
mov r12, rax
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x40], r14d
mov qword [r12 + 0x10], r15
lea rcx, [rbp - 0x48]
call fcn.1800f1880
lea rcx, [r12 + 8]
mov rdx, rax
call fcn.180004660
nop
mov rcx, r12
call fcn.180077960
test rax, rax
jne 0x180077524
mov ecx, 0x12c
call fcn.1800a6630
nop
inc edi
mov ecx, dword [rsi + 0x10]
dec ecx
cmp edi, ecx
jl 0x18007748d
nop
jmp 0x180077533
call fcn.1800c4b60
int3
call fcn.180091f60
int3
mov rcx, qword [rbp - 0x90]
call fcn.1800affb0
test eax, eax
je 0x1800777a3
mov rcx, qword [rbp - 0x90]
call fcn.1800b00e0
mov rbx, rax
mov r9d, dword [rbx + 8]
mov rcx, qword [rbp - 0xb0]
mov rdx, rbx
lea r10, [0x18013e550]
xor r8d, r8d
call qword [r10]
mov rbx, rax
lea rcx, [0x18013ce00]
cmp qword [rcx - 8], 0
jne 0x1800777c7
mov rsi, qword [0x1801ec528]
mov rcx, qword [rsi + 8]
mov rdx, rbx
call fcn.1800caef0
mov rdi, rax
lea rcx, [0x180143198]
call fcn.180004450
mov r14, rax
mov rcx, r14
mov edx, 3
mov r8d, 0x7fffffff
call fcn.1800a9260
mov edx, 0x5c
mov rcx, r14
call fcn.1800a9840
mov edx, 0x7c
mov rcx, r14
call fcn.1800a9840
mov edx, 0x2f
mov rcx, r14
call fcn.1800a9840
mov rcx, r14
call fcn.1800a9320
mov rdx, rax
cmp byte [rdi], dil
lea rcx, [0x180123a28]
test rdx, rdx
cmove rdx, rcx
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, rdi
xor r8d, r8d
mov r9d, 0x7fffffff
call fcn.180084c40
cmp dword [rax + 8], 0
jbe 0x1800777fe
mov rdi, qword [rax + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rbx
call fcn.1800caef0
mov r14, rax
lea rcx, [0x180143198]
call fcn.180004450
mov r15, rax
mov rcx, r15
mov edx, 3
mov r8d, 0x7fffffff
call fcn.1800a9260
mov edx, 0x5c
mov rcx, r15
call fcn.1800a9840
mov edx, 0x7c
mov rcx, r15
call fcn.1800a9840
mov edx, 0x2f
mov rcx, r15
call fcn.1800a9840
mov rcx, r15
call fcn.1800a9320
mov rdx, rax
cmp byte [r14], r14b
lea rcx, [0x180123a28]
test rdx, rdx
cmove rdx, rcx
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, r14
xor r8d, r8d
mov r9d, 0x7fffffff
call fcn.180084c40
cmp dword [rax + 8], 1
jbe 0x1800777fe
mov r14, qword [rax + 0x18]
mov rcx, qword [rsi + 8]
mov rdx, rbx
call fcn.1800caef0
mov rbx, rax
lea rcx, [0x180143198]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov edx, 3
mov r8d, 0x7fffffff
call fcn.1800a9260
mov edx, 0x5c
mov rcx, rsi
call fcn.1800a9840
mov edx, 0x7c
mov rcx, rsi
call fcn.1800a9840
mov edx, 0x2f
mov rcx, rsi
call fcn.1800a9840
mov rcx, rsi
call fcn.1800a9320
mov rdx, rax
cmp byte [rbx], bl
lea rcx, [0x180123a28]
test rdx, rdx
cmove rdx, rcx
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, rbx
xor r8d, r8d
mov r9d, 0x7fffffff
call fcn.180084c40
cmp dword [rax + 8], 2
jbe 0x1800777fe
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1800777f3
lea rbx, [rax + 0xc]
mov esi, dword [rax + 8]
mov qword [rbp - 0x88], rbx
mov dword [rbp - 0x80], esi
call fcn.1800a01a0
mov r8, rax
lea rcx, [rbp - 0x88]
lea r9, [rbp - 0x50]
mov edx, 7
call fcn.180114fa0
test eax, eax
jne 0x1800777d1
mov r9d, dword [rbp - 0x50]
mov rdx, rdi
mov r8, r14
xor ecx, ecx
call fcn.180077060
call fcn.18007abf0
mov rcx, rax
cmp dword [rcx], ecx
call fcn.18007af50
nop
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.180001501
jmp 0x180077586
cmp eax, 1
je 0x1800777dc
call fcn.18011c9e0
int3
mov qword [rbp - 0x88], rbx
mov dword [rbp - 0x80], esi
lea rcx, [rbp - 0x88]
call fcn.1801100c0
int3
mov ecx, 0x11
call fcn.180092130
int3
call fcn.1800c4b60
int3