Function at 0x180004490
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
xor ebx, ebx
xor ecx, ecx
mov r8d, 0x697a6afe
mov qword [0x18000a4e0], rbx
lea edx, [rbx + 1]
call fcn.180004030
mov edi, 0x15e8
lea r9d, [rbx + 4]
mov edx, edi
mov r8d, 0x3000
xor ecx, ecx
call rax
mov qword [0x18000a4e0], rax
test rax, rax
je 0x1800044fc
nop word [rax + rax]
mov byte [rax], bl
lea rax, [rax + 1]
sub rdi, 1
jne 0x1800044f0
mov r14d, 0xd
mov ecx, r14d
call fcn.180004f90
mov qword [0x18000a4f8], rax
mov byte [rbp - 0x20], bl
mov dword [rbp - 0x1c], 0x4d32903e
mov dword [rbp - 0x18], 0x11739930
mov dword [rbp - 0x14], 0x4f2c917b
mov dword [rbp - 0x10], 0x2340f555
mov eax, dword [rbp - 0x1c]
movzx eax, byte [rbp - 0x20]
test al, al
jne 0x180004556
mov rcx, rbx
nop
mov eax, dword [rbp + rcx*4 - 0x1c]
xor eax, 0x2340f555
mov dword [rbp + rcx*4 - 0x1c], eax
inc rcx
cmp rcx, 4
jb 0x180004540
mov rcx, qword [0x18000a4f8]
mov edx, r14d
test rcx, rcx
je 0x180004583
lea r8, [rbp - 0x1c]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004570
mov ecx, r14d
call fcn.180004f90
mov qword [0x18000a4f0], rax
mov byte [rbp - 0xc], bl
mov dword [rbp - 8], 0x1cdcfb12
mov dword [rbp - 4], 0x4f99f603
mov dword [rbp], 0x11c6fb5d
mov dword [rbp + 4], 0x7daa9f73
mov eax, dword [rbp - 8]
movzx eax, byte [rbp - 0xc]
test al, al
jne 0x1800045d6
mov rcx, rbx
nop
mov eax, dword [rbp + rcx*4 - 8]
xor eax, 0x7daa9f73
mov dword [rbp + rcx*4 - 8], eax
inc rcx
cmp rcx, 4
jb 0x1800045c0
mov rcx, qword [0x18000a4f0]
mov edx, r14d
test rcx, rcx
je 0x180004603
lea r8, [rbp - 8]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800045f0
mov esi, 0xb
mov ecx, esi
call fcn.180004f90
mov qword [0x18000a560], rax
mov byte [rsp + 0x20], bl
mov dword [rsp + 0x24], 0x3eaf4470
mov dword [rsp + 0x28], 0x28e40536
mov dword [rsp + 0x2c], 0x4cca5b69
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + 0x20]
test al, al
jne 0x180004666
mov rcx, rbx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x24]
xor eax, 0x4cca3705
mov dword [rsp + rcx*4 + 0x24], eax
inc rcx
cmp rcx, 3
jb 0x180004650
mov rcx, qword [0x18000a560]
mov edx, esi
test rcx, rcx
je 0x180004693
lea r8, [rsp + 0x24]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004680
mov ecx, esi
call fcn.180004f90
mov qword [0x18000a550], rax
mov byte [rsp + 0x30], bl
mov dword [rsp + 0x34], 0x30d05a34
mov dword [rsp + 0x38], 0xbcc1b70
mov dword [rsp + 0x3c], 0x6fe2452f
mov eax, dword [rsp + 0x34]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x1800046e6
mov rcx, rbx
nop dword [rax]
mov eax, dword [rsp + rcx*4 + 0x34]
xor eax, 0x6fe22943
mov dword [rsp + rcx*4 + 0x34], eax
inc rcx
cmp rcx, 3
jb 0x1800046d0
mov rcx, qword [0x18000a550]
mov edx, esi
test rcx, rcx
je 0x180004713
lea r8, [rsp + 0x34]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004700
mov r15d, 0xa
mov ecx, r15d
call fcn.180004f90
mov qword [0x18000a4e8], rax
mov byte [rsp + 0x40], bl
mov dword [rsp + 0x44], 0x56699db
mov dword [rsp + 0x48], 0x566c3d9
mov dword [rsp + 0x4c], 0x6902edd9
mov eax, dword [rsp + 0x44]
movzx eax, byte [rsp + 0x40]
test al, al
jne 0x180004776
mov rcx, rbx
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x44]
xor eax, 0x6902edb5
mov dword [rsp + rcx*4 + 0x44], eax
inc rcx
cmp rcx, 3
jb 0x180004760
mov rcx, qword [0x18000a4e8]
mov edx, r15d
test rcx, rcx
je 0x1800047a3
lea r8, [rsp + 0x44]
nop word [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004790
mov edi, 0xc
mov ecx, edi
call fcn.180004f90
mov qword [0x18000a508], rax
mov byte [rsp + 0x50], bl
mov dword [rsp + 0x54], 0x53216e60
mov dword [rsp + 0x58], 0x1176357f
mov dword [rsp + 0x5c], 0x3f286a77
mov eax, dword [rsp + 0x54]
movzx eax, byte [rsp + 0x50]
test al, al
jne 0x180004806
mov rcx, rbx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x54]
xor eax, 0x3f440613
mov dword [rsp + rcx*4 + 0x54], eax
inc rcx
cmp rcx, 3
jb 0x1800047f0
mov rcx, qword [0x18000a508]
mov edx, edi
test rcx, rcx
je 0x180004833
lea r8, [rsp + 0x54]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004820
mov ecx, edi
call fcn.180004f90
mov qword [0x18000a540], rax
mov byte [rsp + 0x60], bl
mov dword [rsp + 0x64], 0x7a93bb05
mov dword [rsp + 0x68], 0x24d8fa12
mov dword [rsp + 0x6c], 0xa86a502
mov eax, dword [rsp + 0x64]
movzx eax, byte [rsp + 0x60]
test al, al
jne 0x180004886
mov rcx, rbx
nop dword [rax]
mov eax, dword [rsp + rcx*4 + 0x64]
xor eax, 0xaeac966
mov dword [rsp + rcx*4 + 0x64], eax
inc rcx
cmp rcx, 3
jb 0x180004870
mov rcx, qword [0x18000a540]
mov edx, edi
test rcx, rcx
je 0x1800048b3
lea r8, [rsp + 0x64]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800048a0
mov ecx, edi
call fcn.180004f90
mov qword [0x18000a518], rax
mov byte [rsp + 0x70], bl
mov dword [rsp + 0x74], 0x4b202ff8
mov dword [rsp + 0x78], 0x122537ea
mov dword [rsp + 0x7c], 0x3c202bef
mov eax, dword [rsp + 0x74]
movzx eax, byte [rsp + 0x70]
test al, al
jne 0x180004906
mov rcx, rbx
nop dword [rax]
mov eax, dword [rsp + rcx*4 + 0x74]
xor eax, 0x3c4c478b
mov dword [rsp + rcx*4 + 0x74], eax
inc rcx
cmp rcx, 3
jb 0x1800048f0
mov rcx, qword [0x18000a518]
mov edx, edi
test rcx, rcx
je 0x180004933
lea r8, [rsp + 0x74]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004920
mov ecx, edi
call fcn.180004f90
mov qword [0x18000a528], rax
mov byte [rbp - 0x80], bl
mov dword [rbp - 0x7c], 0x5b829fd9
mov dword [rbp - 0x78], 0x1d9c82da
mov dword [rbp - 0x74], 0x33809aca
mov eax, dword [rbp - 0x7c]
movzx eax, byte [rbp - 0x80]
test al, al
jne 0x180004986
mov rcx, rbx
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x7c]
xor eax, 0x33ecf6ae
mov dword [rbp + rcx*4 - 0x7c], eax
inc rcx
cmp rcx, 3
jb 0x180004970
mov rcx, qword [0x18000a528]
mov edx, edi
test rcx, rcx
je 0x1800049b3
lea r8, [rbp - 0x7c]
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800049a0
mov ecx, r14d
call fcn.180004f90
mov qword [0x18000a548], rax
mov byte [rbp + 8], bl
mov dword [rbp + 0xc], 0x6b437cec
mov dword [rbp + 0x10], 0x380470f2
mov dword [rbp + 0x14], 0x665b7dac
mov dword [rbp + 0x18], 0xa371982
mov eax, dword [rbp + 0xc]
movzx eax, byte [rbp + 8]
test al, al
jne 0x180004a06
mov rcx, rbx
nop
mov eax, dword [rbp + rcx*4 + 0xc]
xor eax, 0xa371982
mov dword [rbp + rcx*4 + 0xc], eax
inc rcx
cmp rcx, 4
jb 0x1800049f0
mov rcx, qword [0x18000a548]
mov edx, r14d
test rcx, rcx
je 0x180004a33
lea r8, [rbp + 0xc]
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004a20
mov ecx, esi
call fcn.180004f90
mov qword [0x18000a558], rax
mov byte [rbp - 0x70], bl
mov dword [rbp - 0x6c], 0x5e19c6ad
mov dword [rbp - 0x68], 0x4345d1bf
mov dword [rbp - 0x64], 0x276bc9a3
mov eax, dword [rbp - 0x6c]
movzx eax, byte [rbp - 0x70]
test al, al
jne 0x180004a86
mov rcx, rbx
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x6c]
xor eax, 0x276ba5cf
mov dword [rbp + rcx*4 - 0x6c], eax
inc rcx
cmp rcx, 3
jb 0x180004a70
mov rcx, qword [0x18000a558]
mov edx, esi
test rcx, rcx
je 0x180004ab3
lea r8, [rbp - 0x6c]
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004aa0
mov ecx, edi
call fcn.180004f90
mov qword [0x18000a510], rax
mov byte [rbp - 0x60], bl
mov dword [rbp - 0x5c], 0x7e37ca7c
mov dword [rbp - 0x58], 0x2224d76c
mov dword [rbp - 0x54], 0xc3ed56d
mov eax, dword [rbp - 0x5c]
movzx eax, byte [rbp - 0x60]
test al, al
jne 0x180004b06
mov rcx, rbx
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x5c]
xor eax, 0xc52b909
mov dword [rbp + rcx*4 - 0x5c], eax
inc rcx
cmp rcx, 3
jb 0x180004af0
mov rcx, qword [0x18000a510]
test rcx, rcx
je 0x180004b32
lea rdx, [rbp - 0x5c]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edi, 1
jne 0x180004b20
mov ecx, esi
call fcn.180004f90
mov qword [0x18000a500], rax
mov byte [rbp - 0x50], bl
mov dword [rbp - 0x4c], 0x7d9c89b4
mov dword [rbp - 0x48], 0x6edfcfec
mov dword [rbp - 0x44], 0xaf191b3
mov eax, dword [rbp - 0x4c]
movzx eax, byte [rbp - 0x50]
test al, al
jne 0x180004b86
mov rcx, rbx
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x4c]
xor eax, 0xaf1fddf
mov dword [rbp + rcx*4 - 0x4c], eax
inc rcx
cmp rcx, 3
jb 0x180004b70
mov rcx, qword [0x18000a500]
mov edx, esi
test rcx, rcx
je 0x180004bb3
lea r8, [rbp - 0x4c]
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180004ba0
mov ecx, r15d
call fcn.180004f90
mov qword [0x18000a530], rax
mov byte [rbp - 0x40], bl
mov dword [rbp - 0x3c], 0x26375715
mov dword [rbp - 0x38], 0x79361548
mov dword [rbp - 0x34], 0x15523b16
mov eax, dword [rbp - 0x3c]
movzx eax, byte [rbp - 0x40]
test al, al
jne 0x180004c06
mov rcx, rbx
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x3c]
xor eax, 0x15523b7a
mov dword [rbp + rcx*4 - 0x3c], eax
inc rcx
cmp rcx, 3
jb 0x180004bf0
mov rcx, qword [0x18000a530]
test rcx, rcx
je 0x180004c33
lea rdx, [rbp - 0x3c]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r15d, 1
jne 0x180004c20
mov ecx, r14d
call fcn.180004f90
mov qword [0x18000a520], rax
mov byte [rbp + 0x1c], bl
mov dword [rbp + 0x20], 0x25d6b6fe
mov dword [rbp + 0x24], 0x20cea7e7
mov dword [rbp + 0x28], 0x25d2a2b9
mov dword [rbp + 0x2c], 0x49bec697
mov eax, dword [rbp + 0x20]
movzx eax, byte [rbp + 0x1c]
test al, al
jne 0x180004c86
mov rcx, rbx
nop
mov eax, dword [rbp + rcx*4 + 0x20]
xor eax, 0x49bec697
mov dword [rbp + rcx*4 + 0x20], eax
inc rcx
cmp rcx, 4
jb 0x180004c70
mov rcx, qword [0x18000a520]
test rcx, rcx
je 0x180004cb3
lea rdx, [rbp + 0x20]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r14d, 1
jne 0x180004ca0
mov ecx, esi
call fcn.180004f90
mov qword [0x18000a538], rax
mov byte [rbp - 0x30], bl
mov dword [rbp - 0x2c], 0x79bc93f0
mov dword [rbp - 0x28], 0x6ff1d7f6
mov dword [rbp - 0x24], 0xbdf8fee
mov eax, dword [rbp - 0x2c]
movzx eax, byte [rbp - 0x30]
test al, al
jne 0x180004d06
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp + rbx*4 - 0x2c]
xor eax, 0xbdfe382
mov dword [rbp + rbx*4 - 0x2c], eax
inc rbx
cmp rbx, 3
jb 0x180004cf0
mov rcx, qword [0x18000a538]
test rcx, rcx
je 0x180004d32
lea rdx, [rbp - 0x2c]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub esi, 1
jne 0x180004d20
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret