Function at 0x14004ff90
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0xd0
mov rbx, rcx
xor r8d, r8d
mov dword [rsp - 0x34], edi
lea rcx, [rsp + 0x68]
call fcn.14006cf50
lea rcx, [rsp + 0x68]
call fcn.14006d2f0
mov rbp, rbp
test al, al
jne 0x14004ffe4
mov rcx, rbx
mov dword [rsp - 0x1c], 0x6c765846
call fcn.14004fb40
lea rcx, [rsp + 0x68]
call fcn.14006d130
xchg r13, r13
add rsp, 0xd0
pop rbx
ret
mov qword [rsp + 0xc8], rsi
lea rsi, [rbx + 0x1a98]
mov qword [rsp + 0xa8], r14
lea r14, [rbx + 0x1b18]
mov dword [rsp - 0x30], 0x41af0710
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r14
cmp rsi, r14
mov rdi, rdi
je 0x1400509f2
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb8], r12
mov dword [rsp - 0x24], 0x532e5213
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xa0], r15
xor r15d, r15d
nop dword [rax]
xchg r13, r13
nop dword [rax + rax]
mov r13, qword [rsi]
mov r12, r15
mov rbx, r15
mov dword [rsp - 0x18], 0x6560eb8d
mov rdi, r15
mov rbp, r15
cmp qword [r13 + 0x108], 0
mov rdi, rdi
jbe 0x140050997
lea r14, [r13 + 8]
test rbx, rbx
je 0x14005010e
xchg r15, r15
cmp rbx, rdi
jb 0x140050154
add rdi, 0x20
mov rbx, rbx
lea rcx, [rdi*8]
call fcn.140073cf0
mov rsi, rax
mov dword [rsp - 0x38], 0x55775e73
test rbx, rbx
je 0x1400500f9
mov r10, r12
mov r8, rax
mov r11, r11
sub r10, rax
mov r9, rbx
mov rdx, qword [r10 + r8]
mov dword [rsp - 0x18], 0x6c453cf7
mov qword [r8], rdx
lea r8, [r8 + 8]
sub r9, 1
jne 0x1400500d8
mov dword [rsp - 0x30], 0x1bd4e8aa
test r12, r12
je 0x140050109
mov rcx, r12
call fcn.140073d00
mov rcx, rcx
mov r12, rsi
jmp 0x140050154
test r12, r12
jne 0x140050154
mov ecx, 0x2332797b
mov dword [rsp - 0x1c], ebp
xor ecx, 0x65e779ef
xor ecx, 0x7d6e8a22
add ecx, 0x415415e1
mov dword [rsp - 0x1c], esi
sub ecx, 0x4a5fb80d
xor ecx, 0x67ef7b83
sub ecx, 0x55409209
lea edi, [r12 + 0x20]
xchg r8, r8
call fcn.140073cf0
mov r12, rax
mov rax, qword [r14]
lea rcx, [r12 + rbx*8]
mov r11, r11
inc rbx
mov qword [rcx], rax
add r14, 8
mov dword [rsp - 0x24], 0x7931c379
inc rbp
cmp rbp, qword [r13 + 0x108]
jb 0x140050094
test rbx, rbx
mov dword [rsp - 0x34], 0x124d4b5c
je 0x140050987
lea rcx, [r12 + rbx*8]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], rcx
xchg r8, r8
cmp r12, rcx
je 0x140050987
nop dword [rax + rax]
mov rsi, rsi
mov rdi, qword [r12]
mov ecx, dword [rdi + 4]
xor ecx, 0x463463e0
mov r13, r13
sub ecx, 1
je 0x14005092c
sub ecx, 1
je 0x14005092c
xchg r9, r9
sub ecx, 1
je 0x14005092c
cmp ecx, 1
jne 0x14005096b
mov r11, r11
mov rbp, qword [rdi + 0x20]
lea rsi, [rdi + 0x18]
cmp rbp, 4
jbe 0x140050202
xchg r13, r13
mov rsi, qword [rdi + 0x18]
lea rcx, [rbp + 1]
mov eax, 0x3254708d
sub eax, 0x2d425763
xchg r12, r12
xor eax, 0xd05ad6a
add eax, 0x21779caf
add eax, 0x3b7c99ad
sub eax, 0x650bea9a
mov dword [rsp - 0x38], 0x18e6166b
mul rcx
pushf
movabs rcx, 0xffffffff2fce0d8a
mov r12, r12
add rcx, 0x195a6d0b
sub rcx, 0x3ef0c287
xor rcx, 0x5c01b684
mov dword [rsp - 0x2c], 0xe99c811
xor rcx, 0x3535ebe7
sub rcx, 0x75e37a6
add rcx, 0x7fffffff
mov rdx, rdx
add rcx, 0x245a5239
popf
cmovo rax, rcx
mov dword [rsp - 0x30], ebx
mov rcx, rax
call fcn.140073cf0
mov rbx, rax
xchg r11, r11
mov r9, r15
test rbp, rbp
je 0x140050311
mov rbx, rbx
mov r8, rax
sub rsi, rax
nop dword [rax]
mov dword [rsp - 0x38], ebx
nop word [rax + rax]
movzx ecx, r9b
lea r8, [r8 + 2]
mov dword [rsp - 0x28], esi
and cl, 3
mov edx, 0x5fcf23a8
add edx, 0x17c63a8c
xchg r12, r12
xor edx, 0xb089cee
sub edx, 0x681d32d3
xor edx, 0x1a4fb0dd
add edx, 0x9843dab
mov dword [rsp - 0x38], edx
shl cl, 3
inc r9
sar edx, cl
xchg rbx, rbx
movsx eax, dl
xor ax, word [rsi + r8 - 2]
mov word [r8 - 2], ax
mov rsp, rsp
cmp r9, rbp
jb 0x1400502b7
mov word [rbx + rbp*2], r15w
mov rbp, rbp
mov r8, rbx
mov rax, qword [0x1400a4ee0]
xor edx, edx
mov dword [rsp - 0x1c], esi
mov r14d, dword [rdi + 0x20]
mov ecx, 0x44c20668
add ecx, 0x1f3ad88f
mov dword [rsp - 0x34], ebp
xor ecx, 0x231e57e0
sub ecx, 0x11972c29
xor ecx, 0x1c02ef3
xor ecx, 0x299b6499
mov rsi, rsi
sub ecx, 0x70f189b
xor rax, qword [0x1400a4ab0]
mov r9d, r14d
mov dword [rsp - 0x24], ecx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xchg r15, r15
call rax
movsxd rbp, eax
lea esi, [rbp + 1]
mov dword [rsp - 0xc], 0x3319206a
movsxd rcx, esi
call fcn.140073cf0
mov r10, qword [0x1400a4ee0]
xchg r14, r14
mov r15, rax
xor r10, qword [0x1400a4ab0]
mov r9d, r14d
mov dword [rsp - 0x10], 0x35a24235
mov qword [rsp + 0x40], rax
mov r8, rbx
xor eax, eax
mov rsp, rsp
xor edx, edx
mov qword [rsp + 0x38], rax
mov ecx, 0x6f7014b8
mov r11, r11
add ecx, 0xab1b91f
xor ecx, 0x585861ab
add ecx, 0x2c555e8b
add ecx, 0x8b739c5
mov dword [rsp - 0x3c], ebp
xor ecx, 0x5786b925
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
mov dword [rsp - 0x30], edx
call r10
mov rcx, rbx
mov byte [rbp + r15], 0x4f
mov dword [rsp - 0xc], 0x39e13df3
sub byte [rbp + r15], 0x2a
add byte [rbp + r15], 0x23
xor byte [rbp + r15], 0x3c
mov dword [rsp - 0x14], edx
add byte [rbp + r15], 4
sub byte [rbp + r15], 0x78
call fcn.140073d00
mov dword [rsp - 0x38], edx
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov edx, dword [r13]
xor r8d, 0x463463e0
mov r9, r9
and r8d, 0xfffffff1
xor edx, 0x463463e0
or r8d, 1
mov r9, r15
mov rbx, rbx
call fcn.14006dd20
nop
movabs r14, 0xffffffff23307482
mov dword [rsp - 0x18], 0x7ef2b738
xor r14, 0x5a3e69eb
add r14, 0x2b0e6ec
sub r14, 0x57f6e602
add r14, 0x1fc7cea1
mov dword [rsp - 0x28], 0x7501a737
add r14, 0x7fffffff
xor r14, 0x3c70130c
mov r15, rax
mov dword [rsp - 0x1c], ecx
mov rbp, r14
inc rbp
cmp byte [rax + rbp], 0
mov r9, r9
jne 0x1400504c6
mov rax, qword [0x1400a4ed0]
xor ecx, ecx
xchg r15, r15
xor rax, qword [0x1400a4ab0]
mov r9d, ebp
mov dword [rsp + 0x28], ecx
mov r8, r15
xchg rsi, rsi
mov qword [rsp + 0x20], rcx
xor edx, edx
mov ecx, 0x346b09d
mov dword [rsp - 0x38], 0x1dcb7cd4
xor ecx, 0x68d6569b
sub ecx, 0x12c6be1
sub ecx, 0x285b00ab
mov dword [rsp - 0x30], 0x70c725d1
sub ecx, 0x466db22
sub ecx, 0x3da1a06f
call rax
movsxd rsi, eax
mov rbp, rbp
mov eax, 0x757e85d
xor eax, 0x5fad03d7
add eax, 0xf470836
mov rsp, rsp
xor eax, 0x6d73b319
xor eax, 0x7ccff6e4
sub eax, 0x79fdb63b
lea ebx, [rsi + 1]
mov dword [rsp - 0x30], 0xb51d0b9
movsxd rcx, ebx
mul rcx
cmovo rax, r14
xchg r12, r12
mov rcx, rax
call fcn.140073cf0
mov r10, qword [0x1400a4ed0]
xchg r10, r10
mov r9d, ebp
xor r10, qword [0x1400a4ab0]
mov r8, r15
xchg rsp, rsp
mov dword [rsp + 0x28], ebx
xor edx, edx
mov ecx, 0x694d8501
sub ecx, 0x4d69ddea
xchg rbx, rbx
add ecx, 0xa8ea873
sub ecx, 0x1e773420
xor ecx, 0x5d496eb0
xor ecx, 0x5ab28833
mov rsp, rsp
mov qword [rsp + 0x20], rax
mov r14, rax
call r10
xor r15d, r15d
mov dword [rsp - 0x40], esi
nop
movabs r9, 0xffffffff169e7f3f
xor r9, 0x77fbec90
sub r9, 0x41298a0f
mov rcx, rcx
sub r9, 0x1025d821
xor r9, 0x6d9d9a26
add r9, 0x7fffffff
add r9, 0x27454a7
mov dword [rsp - 0x40], ebp
mov word [r14 + rsi*2], r15w
mov rcx, r9
mov qword [rsp + 0x58], r15
mov dword [rsp - 0x14], edi
inc rcx
cmp word [r14 + rcx*2], r15w
jne 0x14005061d
mov dword [rsp - 0x2c], edx
mov qword [rsp + 0x60], rcx
lea r8, [rsp + 0x58]
cmp rcx, 4
mov rsp, rsp
jbe 0x14005068e
mov eax, 0x7ad2c6f3
xor eax, 0x91176ae
xor eax, 0x224b908e
xchg r14, r14
xor eax, 0x933d4ab
xor eax, 0x58bbf47a
mul rcx
mov dword [rsp - 0x30], 0x4426bf02
cmovo rax, r9
mov rcx, rax
call fcn.140073cf0
mov dword [rsp - 0x3c], 0x786d9e2f
mov rcx, qword [rsp + 0x60]
mov r8, rax
mov qword [rsp + 0x58], rax
mov dword [rsp - 0x18], 0x5923dbdf
mov r9, r15
test rcx, rcx
je 0x140050713
xchg r10, r10
mov r10, r14
sub r10, r8
nop word [rax + rax]
movzx ecx, r9b
mov dword [rsp - 0x40], ebp
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x3e0c8836
add edx, 0xe59be46
mov dword [rsp - 0xc], 0x379a91ca
add edx, 0x16f8f082
xor edx, 0x2ae4b2b4
xor edx, 0x7846fa93
sub edx, 0x1e9aed9c
mov dword [rsp - 0x20], 0xd3dd4f0
xor edx, 0xb31cfb8
shl cl, 3
inc r9
mov rdi, rdi
sar edx, cl
movsx eax, dl
xor ax, word [r10 + r8 - 2]
mov rbx, rbx
mov word [r8 - 2], ax
cmp r9, qword [rsp + 0x60]
jb 0x1400506a5
mov rsp, rsp
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rdi + 8]
call fcn.14006af40
mov dword [rsp - 0x20], ebp
test eax, eax
je 0x140050787
mov rcx, qword [rdi + 0x38]
test rcx, rcx
xchg rdx, rdx
je 0x140050787
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x140050783
mov dword [rsp - 0x10], 0x4b72cc81
mov rax, qword [rcx]
mov edx, 0x5ed74b9
add edx, 0xf91a5c5
add edx, 0x4afd624d
mov dword [rsp - 0x18], 0x2ae3d3e5
xor edx, 0x3df0f22e
sub edx, 0x10bb0103
xor edx, 0x2e3e47c2
mov dword [rsp - 0x2c], ebp
sub edx, 0x62efca1f
call qword [rax]
mov qword [rdi + 0x38], r15
lea rdx, [rsp + 0x58]
mov dword [rsp - 0x10], esi
lea rcx, [rdi + 8]
call fcn.140069f60
cmp qword [rsp + 0x60], 4
jbe 0x1400507ae
mov r15, r15
mov rcx, qword [rsp + 0x58]
call fcn.140073d00
mov rcx, r14
mov dword [rsp - 0x2c], edx
call fcn.140073d00
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov dword [rsp - 0x40], ecx
mov r9d, dword [rdi + 0x2c]
xor r8d, 0x463463e0
mov edx, dword [r13]
xchg rbx, rbx
and r8d, 0xfffffff2
or r8d, 2
xor r9d, 0x27223355
xor edx, 0x463463e0
mov r11, r11
call fcn.14006dca0
mov ecx, dword [rdi + 0x28]
mov ebx, eax
xor ecx, 0x27223355
mov r14, r14
cmp ecx, eax
je 0x14005086a
mov rcx, qword [rdi + 0x38]
test rcx, rcx
mov dword [rsp - 0x34], 0x5cb01fb4
je 0x14005086a
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
mov dword [rsp - 0x10], 0x51a260e1
jg 0x140050863
mov rax, qword [rcx]
mov edx, 0x4215b9bd
sub edx, 0x2f7ad2d2
mov dword [rsp - 0x38], ebp
add edx, 0x61119b6c
xor edx, 0x31b1aa9d
sub edx, 0x35070fbe
mov dword [rsp - 0x14], 0x34f35edd
xor edx, 0x7bf0fc4c
sub edx, 0x76e6e53f
call qword [rax]
mov qword [rdi + 0x38], r15
mov r15, r15
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov r9d, dword [rdi + 0x34]
xor r8d, 0x463463e0
mov rcx, rcx
and r8d, 0xfffffff4
xor ebx, 0x27223355
mov dword [rdi + 0x28], ebx
mov r13, r13
or r8d, 4
mov edx, dword [r13]
xor r9d, 0x463463e0
xor edx, 0x463463e0
mov dword [rsp - 0x28], edx
call fcn.14006dc00
mov ecx, dword [rdi + 0x30]
mov ebx, eax
mov dword [rsp - 0x2c], edx
xor ecx, 0x463463e0
cmp ecx, eax
je 0x140050914
mov rcx, qword [rdi + 0x38]
mov dword [rsp - 0x1c], ecx
test rcx, rcx
je 0x140050914
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
xchg r14, r14
jg 0x140050908
mov rax, qword [rcx]
mov edx, 0x25159b91
xchg r10, r10
add edx, 0xa634a97
add edx, 0x49d65d3f
sub edx, 0x5a1e8c50
xor edx, 0x221ad266
xchg r9, r9
sub edx, 0x3d2a6570
call qword [rax]
mov qword [rdi + 0x38], r15
mov dword [rsp - 0x20], 0x401b5d8b
mov rcx, qword [rsp + 0x40]
xor ebx, 0x463463e0
mov dword [rdi + 0x30], ebx
call fcn.140073d00
mov rdx, rdx
jmp 0x14005096b
mov r9d, dword [rdi + 0xc]
lea rcx, [rsp + 0x68]
mov r8d, dword [rdi]
mov dword [rsp - 0x24], 0x1aacc36e
xor r9d, 0x463463e0
mov edx, dword [r13]
xor r8d, 0x463463e0
xchg rsp, rsp
xor edx, 0x463463e0
call fcn.14006dc00
xor eax, 0x463463e0
mov dword [rdi + 8], eax
mov r8, r8
add r12, 8
cmp r12, qword [rsp + 0x48]
jne 0x1400501b3
mov r12, qword [rsp + 0x50]
mov dword [rsp - 0x28], 0x2f6956c7
mov rsi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
test r12, r12
xchg r10, r10
je 0x1400509aa
mov rcx, r12
call fcn.140073d00
xchg rbx, rbx
add rsi, 8
mov qword [rsp + 0xf0], rsi
cmp rsi, r14
mov rbx, rbx
jne 0x140050068
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
mov dword [rsp - 0x34], 0x32a3f0d0
mov rdi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xc8]
lea rcx, [rsp + 0x68]
mov dword [rsp - 0x24], 0x15667791
mov r14, qword [rsp + 0xa8]
call fcn.14006d130
add rsp, 0xd0
pop rbx
mov dword [rsp - 0x3c], 0x796aaed9
ret