Function at 0x14004ec20
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0xd0
mov dword [rsp - 0x40], esp
mov rbx, rcx
xor r8d, r8d
lea rcx, [rsp + 0x68]
call fcn.14006b470
xchg r10, r10
lea rcx, [rsp + 0x68]
call fcn.14006b800
test al, al
mov r8, r8
jne 0x14004ec77
mov rcx, rbx
call fcn.14004e7d0
mov dword [rsp - 0x28], 0x1a2a8f24
lea rcx, [rsp + 0x68]
call fcn.14006b630
add rsp, 0xd0
xchg r8, r8
pop rbx
ret
mov qword [rsp + 0xc8], rsi
lea rsi, [rbx + 0x1a98]
mov qword [rsp + 0xa8], r14
mov dword [rsp - 0x44], ecx
lea r14, [rbx + 0x1b18]
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r14
cmp rsi, r14
mov r12, r12
je 0x14004f616
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xc0], rdi
mov rsi, rsi
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xa0], r15
xchg rcx, rcx
xor r15d, r15d
nop dword [rax]
nop dword [rax + rax]
mov r13, qword [rsi]
xchg rcx, rcx
mov r12, r15
mov rbx, r15
mov rdi, r15
mov rbp, r15
mov dword [rsp - 0x3c], 0x5bd7c4f7
cmp qword [r13 + 0x108], 0
jbe 0x14004f5bf
lea r14, [r13 + 8]
mov dword [rsp - 0x20], 0x7ca028bd
test rbx, rbx
je 0x14004ed9e
cmp rbx, rdi
jb 0x14004eddd
mov dword [rsp - 0x40], ecx
add rdi, 0x20
lea rcx, [rdi*8]
call fcn.140072200
mov dword [rsp - 0x1c], 0x59244569
mov rsi, rax
test rbx, rbx
je 0x14004ed89
mov r10, r12
mov dword [rsp - 0x1c], 0x10a2e9b1
mov r8, rax
sub r10, rax
mov r9, rbx
xchg rcx, rcx
mov rdx, qword [r10 + r8]
mov qword [r8], rdx
lea r8, [r8 + 8]
sub r9, 1
mov dword [rsp - 0x38], 0x6d7fa076
jne 0x14004ed70
test r12, r12
je 0x14004ed99
mov rcx, r12
mov r10, r10
call fcn.140072210
mov r12, rsi
jmp 0x14004eddd
test r12, r12
jne 0x14004eddd
mov ecx, 0x1e85909e
mov dword [rsp - 0x3c], esp
xor ecx, 0x24eb8233
sub ecx, 0xf510955
sub ecx, 0x1909da7e
xor ecx, 0x23829d67
mov r14, r14
sub ecx, 0x3191b2bd
lea edi, [r12 + 0x20]
call fcn.140072200
mov r12, rax
xchg rdi, rdi
mov rax, qword [r14]
lea rcx, [r12 + rbx*8]
inc rbx
mov r14, r14
mov qword [rcx], rax
add r14, 8
inc rbp
mov r9, r9
cmp rbp, qword [r13 + 0x108]
jb 0x14004ed26
test rbx, rbx
je 0x14004f5af
mov r8, r8
lea rcx, [r12 + rbx*8]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], rcx
cmp r12, rcx
mov dword [rsp - 0x40], 0x4f01659a
je 0x14004f5af
nop dword [rax + rax]
mov rdi, qword [r12]
mov ecx, dword [rdi + 4]
mov r13, r13
xor ecx, 0x2fa0562a
sub ecx, 1
je 0x14004f552
sub ecx, 1
mov r11, r11
je 0x14004f552
sub ecx, 1
je 0x14004f552
mov dword [rsp - 0x2c], 0x5c9b1734
cmp ecx, 1
jne 0x14004f593
lea rsi, [rdi + 0x18]
mov rbp, qword [rsi + 8]
mov rcx, rcx
lea r14, [rsi + 8]
cmp rbp, 4
jbe 0x14004ee8f
mov dword [rsp - 0x10], edx
mov rsi, qword [rsi]
lea rcx, [rbp + 1]
mov eax, 0x4a346689
xor eax, 0x286ac991
mov dword [rsp - 0x40], edi
xor eax, 0x689edf35
xor eax, 0x3f3d75d1
sub eax, 0x189c2167
add eax, 0x3cc24ab
mov dword [rsp - 0xc], edi
sub eax, 0x212d093e
mul rcx
pushf
xchg rdx, rdx
movabs rcx, 0xffffffff62768c4e
sub rcx, 0x1c35031e
sub rcx, 0x959f091
xor rcx, 0x1f2cb14d
xchg rsi, rsi
add rcx, 0x7fffffff
xor rcx, 0x5c34d62e
popf
xchg rdx, rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140072200
mov dword [rsp - 0x2c], esp
mov rbx, rax
mov r8, r15
test rbp, rbp
xchg r12, r12
je 0x14004ef81
mov rdx, rax
sub rsi, rax
xchg r8, r8
nop word [rax + rax]
movzx ecx, r8b
lea rdx, [rdx + 2]
mov dword [rsp - 0x10], ebx
and cl, 3
mov eax, 0x323782bb
add eax, 0x47e0e499
xor eax, 0x610a0e20
mov dword [rsp - 0x10], 0x36fd5916
xor eax, 0x1197394c
xor eax, 0x5ba40e5d
shl cl, 3
inc r8
mov dword [rsp - 0x30], ebx
sar eax, cl
movsx eax, al
xor ax, word [rsi + rdx - 2]
mov word [rdx - 2], ax
mov dword [rsp - 0x2c], 0x6bfbdef3
cmp r8, rbp
jb 0x14004ef2c
mov word [rbx + rbp*2], r15w
mov r8, rbx
xchg r13, r13
mov rax, qword [0x1400a2ec0]
xor edx, edx
mov r14d, dword [r14]
mov ecx, 0x1354ca2d
mov dword [rsp - 0x14], esi
xor ecx, 0x13e3b5bb
add ecx, 0x37ded7a4
add ecx, 0x225ce642
sub ecx, 0x5af23f93
mov dword [rsp - 0x30], 0x46aa3afb
xor rax, qword [0x1400a2a90]
mov r9d, r14d
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp - 0x44], 0x6beb86bc
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call rax
movsxd rbp, eax
mov rbp, rbp
lea esi, [rbp + 1]
movsxd rcx, esi
call fcn.140072200
mov r10, qword [0x1400a2ec0]
mov rdi, rdi
mov r15, rax
xor r10, qword [0x1400a2a90]
mov r9d, r14d
mov qword [rsp + 0x40], rax
xchg r13, r13
mov r8, rbx
xor eax, eax
xor edx, edx
mov qword [rsp + 0x38], rax
mov r15, r15
mov ecx, 0x24064563
add ecx, 0xab74588
sub ecx, 0xb750dab
xchg r9, r9
sub ecx, 0x1d2ddd74
add ecx, 0x6ff4768
xor ecx, 0xd191add
mov dword [rsp - 0x40], edi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
call r10
mov dword [rsp - 0x30], 0x2f68d4b4
mov rcx, rbx
mov byte [rbp + r15], 0x6a
xor byte [rbp + r15], 0x62
mov dword [rsp - 0x10], 0x2a4bbd46
add byte [rbp + r15], 0x65
sub byte [rbp + r15], 0x6a
xor byte [rbp + r15], 3
call fcn.140072210
mov r11, r11
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov edx, dword [r13]
mov dword [rsp - 0x38], esi
xor r8d, 0x2fa0562a
and r8d, 0xfffffff1
xor edx, 0x2fa0562a
mov rcx, rcx
or r8d, 1
mov r9, r15
call fcn.14006c260
nop
mov dword [rsp - 0x20], 0x4032db75
movabs r14, 0xffffffff29de38db
sub r14, 0x20816d71
add r14, 0x36c54be
add r14, 0x181ae3e9
xchg rsp, rsp
xor r14, 0x3eeb993f
add r14, 0x7fffffff
xor r14, 0x65f062d2
mov dword [rsp - 0x1c], 0x49ce7a21
mov r15, rax
mov rbp, r14
nop
inc rbp
mov rbp, rbp
cmp byte [rax + rbp], 0
jne 0x14004f11b
mov rax, qword [0x1400a2eb0]
xor ecx, ecx
mov dword [rsp - 0x40], ebx
xor rax, qword [0x1400a2a90]
mov r9d, ebp
mov dword [rsp + 0x28], ecx
mov r8, r15
mov dword [rsp - 0x28], ebx
mov qword [rsp + 0x20], rcx
xor edx, edx
mov ecx, 0x73581db2
xor ecx, 0x3b535e06
mov dword [rsp - 0x28], esp
sub ecx, 0xe947746
xor ecx, 0x6cb2a653
sub ecx, 0x7bb4a7b
xor ecx, 0x66a0f224
mov dword [rsp - 0x44], 0x6cb17d86
sub ecx, 0x28a8effd
call rax
movsxd rsi, eax
mov eax, 0x6fa0c002
xchg rcx, rcx
sub eax, 0x456e90df
add eax, 0x4a16ac50
xor eax, 0x625ac0b1
mov r11, r11
sub eax, 0x16121bc0
lea ebx, [rsi + 1]
movsxd rcx, ebx
mov dword [rsp - 0x3c], 0x6584b3f9
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.140072200
mov r10, r10
mov r10, qword [0x1400a2eb0]
mov r9d, ebp
xor r10, qword [0x1400a2a90]
mov dword [rsp - 0x28], esp
mov r8, r15
mov dword [rsp + 0x28], ebx
xor edx, edx
mov r11, r11
mov ecx, 0x2b0a9f0e
sub ecx, 0x2298cb97
add ecx, 0x6aafaf3e
xor ecx, 0x453f282f
mov dword [rsp - 0x20], 0x56bcb384
sub ecx, 0x361dacb1
mov qword [rsp + 0x20], rax
mov r14, rax
mov dword [rsp - 0x24], 0x7950d3cf
call r10
xor r15d, r15d
nop
mov dword [rsp - 0x34], ebp
movabs r8, 0xffffffff70676c6c
add r8, 0x307cad9
sub r8, 0x570ba575
xchg r10, r10
sub r8, 0xfb093ca
add r8, 0x14a52297
add r8, 0x7fffffff
xor r8, 0x5ea7df63
mov dword [rsp - 0x44], edi
mov word [r14 + rsi*2], r15w
mov rcx, r8
mov qword [rsp + 0x58], r15
nop
mov r15, r15
inc rcx
cmp word [r14 + rcx*2], r15w
jne 0x14004f276
mov qword [rsp + 0x60], rcx
mov dword [rsp - 0xc], 0x1e2c5f65
lea rdx, [rsp + 0x58]
cmp rcx, 4
jbe 0x14004f2e3
mov eax, 0x2583f757
mov r10, r10
add eax, 0x3b8b7392
sub eax, 0x4bee0a90
xor eax, 0xa8da678
mov rcx, rcx
xor eax, 0x35150d0e
sub eax, 0x1814900c
xor eax, 0x12a53b21
mov rsi, rsi
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140072200
xchg r12, r12
mov rcx, qword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0x58], rax
mov r8, r15
mov dword [rsp - 0x40], 0x4f588e16
test rcx, rcx
je 0x14004f355
mov r9, r14
sub r9, rdx
xchg r10, r10
nop dword [rax]
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
mov dword [rsp - 0x30], ebx
mov eax, 0x104de484
add eax, 0x4918c2e4
sub eax, 0x1bf2b65
mov r8, r8
sub eax, 0x2af4bd3e
xor eax, 0x7d93e0a0
shl cl, 3
inc r8
mov dword [rsp - 0x34], 0x404436de
sar eax, cl
movsx eax, al
xor ax, word [r9 + rdx - 2]
mov word [rdx - 2], ax
mov rsi, rsi
cmp r8, qword [rsp + 0x60]
jb 0x14004f303
xor r8d, r8d
xchg r8, r8
lea rdx, [rsp + 0x58]
lea rcx, [rdi + 8]
call fcn.1400691c0
xchg rcx, rcx
test eax, eax
je 0x14004f3c3
mov rcx, qword [rdi + 0x38]
xchg r11, r11
test rcx, rcx
je 0x14004f3c3
dec dword [rcx + 8]
xchg rbx, rbx
cmp dword [rcx + 8], r15d
jg 0x14004f3bc
mov rax, qword [rcx]
mov edx, 0x4c0344a4
xchg r11, r11
xor edx, 0x279f5539
xor edx, 0x228f3fdd
add edx, 0x3218dbea
sub edx, 0x389338b2
xchg rsp, rsp
sub edx, 0x40aa25e8
sub edx, 0x1eeab8f
call qword [rax]
mov qword [rdi + 0x38], r15
xchg r12, r12
lea rdx, [rsp + 0x58]
lea rcx, [rdi + 8]
call fcn.140068200
cmp qword [rsp + 0x60], 4
mov r15, r15
jbe 0x14004f3e6
mov rcx, qword [rsp + 0x58]
call fcn.140072210
mov rcx, r14
xchg r9, r9
call fcn.140072210
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov r9d, dword [rdi + 0x2c]
xchg rdx, rdx
xor r8d, 0x2fa0562a
mov edx, dword [r13]
and r8d, 0xfffffff2
or r8d, 2
mov dword [rsp - 0x44], ecx
xor r9d, 0x49322ea4
xor edx, 0x2fa0562a
call fcn.14006c1d0
mov ecx, dword [rdi + 0x28]
mov dword [rsp - 0x1c], ebp
mov ebx, eax
xor ecx, 0x49322ea4
cmp ecx, eax
je 0x14004f48c
mov dword [rsp - 0x44], esp
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x14004f48c
dec dword [rcx + 8]
mov dword [rsp - 0x3c], edi
cmp dword [rcx + 8], r15d
jg 0x14004f488
mov rax, qword [rcx]
mov edx, 0x5b75b0d
mov dword [rsp - 0x18], ebp
add edx, 0x513dc139
xor edx, 0x75571754
add edx, 0x2c25427f
mov r12, r12
xor edx, 0x4b4c3a53
sub edx, 0x48b77c1
call qword [rax]
mov rsi, rsi
mov qword [rdi + 0x38], r15
mov r8d, dword [rdi]
lea rcx, [rsp + 0x68]
mov r9d, dword [rdi + 0x34]
xchg rsi, rsi
xor r8d, 0x2fa0562a
and r8d, 0xfffffff4
xor ebx, 0x49322ea4
mov dword [rdi + 0x28], ebx
mov rcx, rcx
or r8d, 4
mov edx, dword [r13]
xor r9d, 0x2fa0562a
mov rdi, rdi
xor edx, 0x2fa0562a
call fcn.14006c140
mov ecx, dword [rdi + 0x30]
mov rbx, rbx
mov ebx, eax
xor ecx, 0x2fa0562a
cmp ecx, eax
mov rsp, rsp
je 0x14004f53a
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x14004f53a
mov dword [rsp - 0xc], ebx
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x14004f536
mov dword [rsp - 0x20], 0x26cb4261
mov rax, qword [rcx]
mov edx, 0xe5f38f4
add edx, 0x3915c54a
sub edx, 0xf5d4d0a
mov dword [rsp - 0x18], 0x74f8aed1
xor edx, 0x217a8acd
xor edx, 0x47927094
xor edx, 0x5eff4b6c
mov dword [rsp - 0x30], edi
call qword [rax]
mov qword [rdi + 0x38], r15
mov rcx, qword [rsp + 0x40]
xchg rcx, rcx
xor ebx, 0x2fa0562a
mov dword [rdi + 0x30], ebx
call fcn.140072210
jmp 0x14004f593
mov r9d, dword [rdi + 0xc]
lea rcx, [rsp + 0x68]
mov dword [rsp - 0x38], esp
mov r8d, dword [rdi]
xor r9d, 0x2fa0562a
mov edx, dword [r13]
xor r8d, 0x2fa0562a
mov dword [rsp - 0x28], edx
xor edx, 0x2fa0562a
call fcn.14006c140
xor eax, 0x2fa0562a
mov dword [rdi + 8], eax
mov dword [rsp - 0x40], 0x6dac1c31
add r12, 8
cmp r12, qword [rsp + 0x48]
jne 0x14004ee34
mov dword [rsp - 0x44], 0x6720f7af
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
test r12, r12
mov r11, r11
je 0x14004f5cf
mov rcx, r12
call fcn.140072210
add rsi, 8
mov dword [rsp - 0x14], esi
mov qword [rsp + 0xf0], rsi
cmp rsi, r14
jne 0x14004ecf2
xchg rsi, rsi
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rbx, rbx
mov rbp, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xc8]
lea rcx, [rsp + 0x68]
mov r14, qword [rsp + 0xa8]
xchg r15, r15
call fcn.14006b630
add rsp, 0xd0
pop rbx
mov dword [rsp - 0x28], 0x687b7b3e
ret