Function at 0x18000c4d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x148
mov rbp, rdx
mov rbx, rcx
mov ecx, 0xd638f4c2
mov edx, 0x9763054b
mov rsi, r8
mov qword [rsp + 0x128], r9
call fcn.180059e30
test rax, rax
je 0x18000cb8f
xor ecx, ecx
mov edx, 0x8a0
mov r8d, 0x3000
mov r9d, 0x40
call rax
mov qword [rsp + 0x120], rax
cmp qword [rsp + 0x120], 0
je 0x18000cb8f
mov rcx, qword [rsp + 0x120]
lea rdx, [0x180056320]
mov r8d, 0x800
lea rax, [rcx + 0x800]
mov qword [rsp + 0x118], rax
call fcn.18006fcf0
mov ecx, 0xd638f4c2
mov edx, 0x4c483eb6
call fcn.180059e30
mov ecx, 0xd638f4c2
mov edx, 0x612d8411
mov qword [rsp + 0x38], rax
call fcn.180059e30
mov ecx, 0xd638f4c2
mov edx, 0x8eab672e
mov qword [rsp + 0x48], rax
call fcn.180059e30
mov ecx, 0xd638f4c2
mov edx, 0x505fe5a9
mov qword [rsp + 0x40], rax
call fcn.180059e30
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0xcc], 0
xor ecx, ecx
xor edx, edx
call fcn.180027be0
mov byte [rsp + 0xcc], al
test al, al
je 0x18000c5c8
xor edx, edx
lea rcx, [rsp + 0xe0]
mov r8d, 0x30
call fcn.180012b10
xor r15d, r15d
xor r14d, r14d
call fcn.18000cbd0
mov qword [rsp + 0x138], rax
xor ebp, ebp
mov ecx, 0xaf16a96f
xor edi, edi
mov edx, 0x9d5bfb8d
xor r12d, r12d
xor r13d, r13d
xor esi, esi
mov qword [rsp + 0xd0], r12
xor ebx, ebx
mov qword [rsp + 0x130], r13
mov qword [rsp + 0xd8], r13
call fcn.180059e30
mov qword [rsp + 0x110], rax
call fcn.18005ac74
mov rcx, rax
mov rax, rsp
xor edx, edx
xor r8d, r8d
lea r9, [rsp + 0xe0]
mov dword [rax + 0x20], 0x30
mov qword [rax + 0x28], 0
call qword [rsp + 0x110]
test eax, eax
jne 0x18000c74e
lea r8, [0x180080c58]
mov rax, qword [rsp + 0xe0]
cmp r8, rax
mov rcx, qword [rsp + 0xf8]
jb 0x18000c6a7
lea r8, [0x180080c58]
lea r9, [rcx + rax]
cmp r8, r9
jb 0x18000cbba
lea r8, [fcn.18000a320]
cmp rax, r8
ja 0x18000c6c7
lea r8, [fcn.18000a320]
lea r9, [rcx + rax]
cmp r8, r9
jb 0x18000cba5
cmp rax, qword [0x180086280]
cmove rsi, rcx
cmove r13, rax
cmp rax, qword [0x1800863b8]
cmove r14, rcx
cmove r15, rax
cmp rax, qword [rsp + 0x138]
cmove rbp, rax
cmove rdi, rcx
test r12, r12
je 0x18000c714
cmp qword [rsp + 0x130], 0
je 0x18000c714
test r13, r13
je 0x18000c714
test rbp, rbp
je 0x18000c714
test r15, r15
jne 0x18000c74e
add rbx, rcx
call fcn.18005ac74
mov rcx, rax
mov rax, rsp
mov rdx, rbx
xor r8d, r8d
lea r9, [rsp + 0xe0]
mov dword [rax + 0x20], 0x30
mov qword [rax + 0x28], 0
call qword [rsp + 0x110]
test eax, eax
je 0x18000c677
mov rdx, qword [rsp + 0x130]
mov r8d, 0xa0
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x98], rdx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], rsi
call fcn.18006fcf0
call fcn.18000cc00
call fcn.180067570
mov edi, eax
mov ecx, 0xd638f4c2
mov edx, 0x26f98efe
call fcn.180059e30
mov rbp, rax
mov ecx, 0xd638f4c2
mov edx, 0x23dba430
call fcn.180059e30
mov r13, rax
mov ecx, 0xd638f4c2
mov edx, 0xa6dfb6b8
call fcn.180059e30
mov rsi, rax
mov ecx, 0xd638f4c2
mov edx, 0xec70eb1
call fcn.180059e30
mov ecx, 0xd638f4c2
mov edx, 0xf0c5d27d
call fcn.180059e30
mov ecx, 0xd638f4c2
mov edx, 0x7ef5b344
call fcn.180059e30
movabs rax, 0x3811f9f34506b7ec
mov rbx, qword [0x180086100]
cmp rbx, rax
je 0x18000c91a
lea rcx, [rsp + 0x130]
call fcn.18000cc30
xor r14d, r14d
lea r15, [rbx + 0x38]
movsxd r12, dword [r15 + 0xc]
shr r12, 2
test r12d, r12d
jle 0x18000c90d
mov qword [rsp + 0x110], rsi
mov rcx, r15
lea rsi, [r14*4]
mov edx, esi
call fcn.18002ff10
cmp edi, dword [rax]
je 0x18000c8f6
mov rcx, r15
mov edx, esi
call fcn.18002ff10
mov ecx, 2
xor edx, edx
mov r8d, dword [rax]
call rbp
mov rsi, rax
mov qword [rsp + 0xd0], rsi
lea rcx, [rsp + 0xd0]
mov byte [rsp + 0xd8], 1
mov r12b, 1
call fcn.180027450
test al, al
je 0x18000c8dc
mov rcx, rsi
call r13
mov r12b, byte [rsp + 0xd8]
test r12b, r12b
je 0x18000c8ee
lea rcx, [rsp + 0xd0]
call fcn.180059db0
movsxd r12, dword [rbx + 0x44]
shr r12, 2
movsxd r12, r12d
inc r14
cmp r14, r12
jl 0x18000c87b
mov rsi, qword [rsp + 0x110]
lea rcx, [rsp + 0x130]
call fcn.18000cc80
mov rax, qword [rsp + 0x128]
xor r12d, r12d
cmp dword [rax + 0xc], 0
jle 0x18000c954
mov r13, qword [rsp + 0x128]
mov rcx, r13
mov edx, r12d
call fcn.18002ff10
mov r8, rax
inc r12d
mov al, byte [rsp + 0xcc]
xor byte [r8], al
cmp r12d, dword [r13 + 0xc]
jl 0x18000c933
mov r8, qword [0x1800863c0]
test r8, r8
je 0x18000c9c6
cmp dword [r8 + 0x420], 0
je 0x18000c993
mov rcx, qword [r8 + 0x418]
mov edx, 0
jbe 0x18000c993
xor eax, eax
mov r9b, byte [rsp + 0xcc]
inc eax
xor byte [rcx + rdx], r9b
mov edx, eax
cmp eax, dword [r8 + 0x420]
jb 0x18000c97a
cmp dword [r8 + 0x430], 0
je 0x18000c9c6
mov rcx, qword [r8 + 0x428]
mov edx, 0
jbe 0x18000c9c6
xor eax, eax
mov r9b, byte [rsp + 0xcc]
inc eax
xor byte [rcx + rdx], r9b
mov edx, eax
cmp eax, dword [r8 + 0x430]
jb 0x18000c9ad
mov rcx, qword [rsp + 0x118]
call qword [rsp + 0x120]
mov r8d, 0xa0
lea rcx, [rsp + 0x30]
mov rdx, qword [rsp + 0x118]
call fcn.18006fcf0
mov r8, qword [0x1800863c0]
test r8, r8
je 0x18000ca5f
cmp dword [r8 + 0x430], 0
je 0x18000ca2c
mov rcx, qword [r8 + 0x428]
mov edx, 0
jbe 0x18000ca2c
xor eax, eax
mov r9b, byte [rsp + 0xcc]
inc eax
xor byte [rcx + rdx], r9b
mov edx, eax
cmp eax, dword [r8 + 0x430]
jb 0x18000ca13
cmp dword [r8 + 0x420], 0
je 0x18000ca5f
mov rcx, qword [r8 + 0x418]
mov edx, 0
jbe 0x18000ca5f
xor eax, eax
mov r9b, byte [rsp + 0xcc]
inc eax
xor byte [rcx + rdx], r9b
mov edx, eax
cmp eax, dword [r8 + 0x420]
jb 0x18000ca46
mov rax, qword [rsp + 0x128]
xor r12d, r12d
cmp dword [rax + 0xc], 0
jle 0x18000ca99
mov r13, qword [rsp + 0x128]
mov rcx, r13
mov edx, r12d
call fcn.18002ff10
mov r8, rax
inc r12d
mov al, byte [rsp + 0xcc]
xor byte [r8], al
cmp r12d, dword [r13 + 0xc]
jl 0x18000ca78
movabs rax, 0x3811f9f34506b7ec
cmp rbx, rax
je 0x18000cb50
xor r13d, r13d
lea r12, [rbx + 0x38]
movsxd r15, dword [r12 + 0xc]
shr r15, 2
test r15d, r15d
jle 0x18000cb50
mov rcx, r12
lea r14, [r13*4]
mov edx, r14d
call fcn.18002ff10
cmp edi, dword [rax]
je 0x18000cb41
mov rcx, r12
mov edx, r14d
call fcn.18002ff10
mov ecx, 2
xor edx, edx
mov r8d, dword [rax]
call rbp
mov r14, rax
mov qword [rsp + 0x110], r14
lea rcx, [rsp + 0x110]
mov byte [rsp + 0x118], 1
mov r15b, 1
call fcn.180027450
test al, al
je 0x18000cb27
mov rcx, r14
call rsi
mov r15b, byte [rsp + 0x118]
test r15b, r15b
je 0x18000cb39
lea rcx, [rsp + 0x110]
call fcn.180059db0
movsxd r15, dword [rbx + 0x44]
shr r15, 2
movsxd r15, r15d
inc r13
cmp r13, r15
jl 0x18000cac5
mov ecx, 0xd638f4c2
mov edx, 0x53fefddc
call fcn.180059e30
test rax, rax
je 0x18000cb76
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rsp + 0x120]
call rax
mov eax, 1
add rsp, 0x148
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor eax, eax
add rsp, 0x148
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x130], rax
mov qword [rsp + 0xd8], rcx
jmp 0x18000c6c7
mov qword [rsp + 0xd0], rcx
mov r12, rax
jmp 0x18000c6a7