Function at 0x140089418
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov dword [rsp - 0x30], 0x2427d90b
mov qword [rax + 0x20], rdi
push rsi
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
push rcx
mov qword [rsp], r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
mov dword [rsp - 0x20], edi
xor r15d, r15d
mov dword [rsp + 0x30], 0x4e257f1a
sub dword [rsp + 0x30], 0x9922799
sub dword [rsp + 0x30], 0x4c22f4c
xor dword [rsp + 0x30], 0x3fde287f
mov dword [rbp + 0x1a0], r15d
xchg rsp, rsp
mov esi, r15d
mov dword [rsp + 0x34], 0x4be08513
sub dword [rsp + 0x34], 0xf409ffe
add dword [rsp + 0x34], 0x2ca4ae8c
sub dword [rsp + 0x34], 0x68e492d9
mov r13d, 0xfd30c2f
add r13d, 0x41ad4fbb
xor r13d, 0x70fd4fb4
add r13d, 0xba8eafb
sub r13d, 0x297e823f
mov dword [rsp + 0x38], 0x60f11602
sub dword [rsp + 0x38], 0x29d5180b
add dword [rsp + 0x38], 0x2921b1a3
xor dword [rsp + 0x38], 0x403ca314
sub dword [rsp + 0x38], 0x1ff30c0f
lea eax, [r15 + 0x68]
mov dword [rsp + 0x3c], 0x67d20fea
sub dword [rsp + 0x3c], 0x227f3f16
sub dword [rsp + 0x3c], 0x1497774e
xor dword [rsp + 0x3c], 0x30f05952
mov word [rsp + 0x48], ax
lea r14d, [r15 + 0xf]
mov dword [rsp + 0x40], 0x29f2b09e
xor dword [rsp + 0x40], 0x1bb45061
sub dword [rsp + 0x40], 0x11906dcf
sub dword [rsp + 0x40], 0x209872b5
lea ebx, [r15 + 1]
mov dword [rsp + 0x44], 0x34561f95
add dword [rsp + 0x44], 0x19c0780c
sub dword [rsp + 0x44], 0x22252c77
sub dword [rsp + 0x44], 0x2b8b6a5e
xchg r8, r15
mov qword [rbp + 0x1a0], r8
xchg r8, r15
xchg r9, rax
mov r9, qword [rbp + 0x1a0]
xchg r9, rax
xchg r10, rcx
mov r10, qword [rbp + 0x1a0]
xchg r10, rcx
mov rax, qword [rbp + 0x1a0]
xchg r13, r13
and cl, 3
shl cl, 2
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x30]
mov r14, r14
mov eax, r13d
shr eax, cl
movzx ecx, al
mov rax, qword [rbp + 0x1a0]
mov dword [rsp - 0x2c], 0x10fe5751
xor cx, dx
mov word [rbp + rax*2 + 0x80], cx
xchg rsp, rax
mov rsp, qword [rbp + 0x1a0]
xchg rsp, rax
add rax, rbx
mov rsp, rsp
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x1a0]
cmp rax, 0xd
jb 0x14008958a
mov dword [rsp - 0x1c], edx
lea rax, [rbp + 0x80]
mov word [rbp + 0x9a], r15w
xorps xmm0, xmm0
mov qword [rbp - 0x68], rax
mov r10, r10
lea r9, [rbp + 0x50]
mov dword [rbp - 0x70], 0x37d02e11
sub dword [rbp - 0x70], 0x1a3d6063
add dword [rbp - 0x70], 0x1424d4e5
sub dword [rbp - 0x70], 0x23368cad
sub dword [rbp - 0x70], 0xe6515cc
lea r8, [rbp - 0x70]
mov rdi, rdi
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
movups xmmword [rbp + 0x50], xmm0
mov rdx, rdx
call fcn.1400abfc0
xchg r14, rdi
mov r14, rax
xchg r14, rdi
test rax, rax
je 0x1400896ab
mov dword [rsp - 0xc], 0x66f607f7
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.14007f8d0
test al, al
mov dword [rsp - 0x2c], esi
je 0x1400896ab
lea rdx, [rbp - 0x70]
xchg rdi, r12
mov rcx, r12
xchg rdi, r12
call fcn.14007e7cc
test al, al
jne 0x140089f8b
xchg r15, r15
mov eax, 0x16be8370
xor eax, 0x55c56254
sub eax, 0x1fd95130
add eax, 0x2c9b4b28
sub eax, 0x503dda5a
mov dword [rsp + 0x68], 0x4ee21837
sub dword [rsp + 0x68], 0x293f9675
xor dword [rsp + 0x68], 0x507f8691
sub dword [rsp + 0x68], 0x75c106fc
mov word [rbp - 0x74], ax
mov dword [rsp + 0x6c], 0x72e31128
xor dword [rsp + 0x6c], 0x55c33478
sub dword [rsp + 0x6c], 0x18dfdc0f
xor dword [rsp + 0x6c], 0xe2d498f
mov dword [rsp + 0x70], 0x29065f23
sub dword [rsp + 0x70], 0x137f2be9
xor dword [rsp + 0x70], 0x381e0922
sub dword [rsp + 0x70], 0x2d8539cb
mov dword [rsp + 0x74], 0x2ea0e5a2
add dword [rsp + 0x74], 0x5149d692
sub dword [rsp + 0x74], 0x82829bf
xor dword [rsp + 0x74], 0x77a592bc
mov dword [rsp + 0x78], 0x28d1f6d1
xor dword [rsp + 0x78], 0x1c587949
xor dword [rsp + 0x78], 0x937b415
sub dword [rsp + 0x78], 0x3db43b18
mov dword [rsp + 0x7c], 0x4c5084de
xor dword [rsp + 0x7c], 0x6fb60b4c
xor dword [rsp + 0x7c], 0x52713ad6
xor dword [rsp + 0x7c], 0x71f8b5a0
mov dword [rbp - 0x80], 0x6fea5813
sub dword [rbp - 0x80], 0x158cb469
sub dword [rbp - 0x80], 0x11490f2a
xor dword [rbp - 0x80], 0x77b34029
sub dword [rbp - 0x80], 0x3e99d42e
mov dword [rbp - 0x7c], 0x61821085
xor dword [rbp - 0x7c], 0x759f4ec9
xor dword [rbp - 0x7c], 0x62abdc3
add dword [rbp - 0x7c], 0x3f590c63
xor dword [rbp - 0x7c], 0x51ddef26
mov dword [rbp - 0x78], 0x4f1e8fe7
sub dword [rbp - 0x78], 0x3ebf1c17
xor dword [rbp - 0x78], 0x62c9e667
xor dword [rbp - 0x78], 0x22149804
xor dword [rbp - 0x78], 0x50920dc8
mov qword [rbp + 0x1a0], r15
xchg r8, rax
mov r8, qword [rbp + 0x1a0]
xchg r8, rax
xchg rsi, rcx
mov rsi, qword [rbp + 0x1a0]
xchg rcx, rsi
xchg rsi, rax
mov rsi, qword [rbp + 0x1a0]
xchg rsi, rax
and cl, 3
mov dword [rsp - 0x18], 0xdacf403
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x68]
mov eax, r13d
mov dword [rsp - 0x40], 0x3b85eac4
shr eax, cl
movzx ecx, al
mov rax, qword [rbp + 0x1a0]
mov dword [rsp - 0x30], ebx
xor cx, dx
mov word [rbp + rax*2 + 0xc0], cx
xchg rcx, rax
mov rcx, qword [rbp + 0x1a0]
xchg rcx, rax
add rax, rbx
mov qword [rbp + 0x1a0], rax
mov dword [rsp - 0xc], esp
mov rax, qword [rbp + 0x1a0]
cmp rax, 0x13
jb 0x140089803
xchg rbx, rbx
lea rax, [rbp + 0xc0]
mov word [rbp + 0xe6], r15w
lea r9, [rbp + 0x50]
xchg rsi, rax
mov qword [rbp - 0x58], rsi
xchg rsi, rax
lea r8, [rbp - 0x60]
xchg r8, r8
mov dword [rbp - 0x60], 0x439336c3
sub dword [rbp - 0x60], 0xb482832
add dword [rbp - 0x60], 0x2181ccc9
add dword [rbp - 0x60], 0x13d663df
xor dword [rbp - 0x60], 0x6d8b3f1f
xor edx, edx
mov dword [rsp - 0x14], 0x1373e141
mov dword [rsp + 0x20], r15d
xor ecx, ecx
call fcn.1400abfc0
mov dword [rsp - 0x18], 0x2bbd24fe
mov rdi, rax
mov r13d, 0x690dbc9f
xor r13d, 0x114e786
sub r13d, 0x62315c1
sub r13d, 0x61f64554
test rax, rax
je 0x140089cab
mov dword [rsp - 0x14], 0x485e3a23
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.14007f8d0
mov r12, r12
test al, al
je 0x140089cab
lea rdx, [rbp - 0x60]
xchg r14, rcx
mov r14, rdi
xchg rcx, r14
call fcn.14007e7cc
xchg rcx, rcx
test al, al
je 0x140089cab
xor edx, edx
mov r14, r14
lea r8d, [r13 + 0x7c]
lea rcx, [rbp + 0xf0]
call fcn.1400bb9f0
mov dword [rsp - 0x20], edi
mov rax, qword [0x1404d0218]
lea r8d, [r13 + 0x3c]
movabs rcx, 0x222833740e7e3c03
add rcx, 0x1534556
add rcx, 0x490f7cc9
sub rcx, 0x2695cac2
xor rcx, 0x6d085324
lea rdx, [rbp + 0xf0]
add rax, rcx
mov rdx, rdx
movabs rcx, 0x5bc0e5614bd07040
sub rcx, 0x2e93092b
xor rcx, 0x6aa692af
xor rcx, 0x6fb67c6
not rax
add rax, rcx
mov dword [rsp - 0x30], 0x7edcc39b
movabs rcx, 0x16e5e9e47cd7c473
xor rcx, 0x786f1bfb
add rcx, 0x373731ab
xor rcx, 0x2fae4105
add rcx, 0x7fffffff
xor rcx, 0x1d3d75c2
xor rax, rcx
mov r15, r15
movabs rcx, 0x3a7773fe76e8435e
xor rcx, 0x1fa0f971
xor rcx, 0x1bc1fd10
add rcx, 0x7fffffff
xor rcx, 0x6820e4e9
ror rax, 6
ror rax, 0xe
ror rax, 1
ror rax, 1
xor rax, rcx
movabs rcx, 0x5780ed2d133a87d5
sub rcx, 0x6afa0c6
add rcx, 0x7589060
add rcx, 0x416d1d23
sub rcx, 0x2e0b051d
add rax, rcx
xchg r15, r15
xchg rbx, rcx
mov rbx, rdi
xchg rbx, rcx
call rax
mov dword [rsp - 0x3c], 0x7e7b7b78
test eax, eax
je 0x140089c7f
mov eax, 0x33d33eea
add eax, 0x30ae120a
sub eax, 0x2d1fb6b3
xor eax, 0x37619a94
mov dword [rsp + 0x4a], 0x2042afb8
add dword [rsp + 0x4a], 0x39047948
add dword [rsp + 0x4a], 0x1bf63315
sub dword [rsp + 0x4a], 0xe96cd64
sub dword [rsp + 0x4a], 0x66a28e68
mov word [rsp + 0x66], ax
mov rcx, rcx
mov dword [rsp + 0x4e], 0x552151ea
add dword [rsp + 0x4e], 0x291821f2
sub dword [rsp + 0x4e], 0x943c9b2
sub dword [rsp + 0x4e], 0x1479746c
sub dword [rsp + 0x4e], 0x600534ea
mov dword [rsp + 0x52], 0x30fae80a
sub dword [rsp + 0x52], 0x20c56e45
xor dword [rsp + 0x52], 0x36adf717
add dword [rsp + 0x52], 0x40c0bf45
sub dword [rsp + 0x52], 0x67494d98
mov dword [rsp + 0x56], 0x3bc7cf6c
xor dword [rsp + 0x56], 0x134ffa9b
xor dword [rsp + 0x56], 0x27708269
sub dword [rsp + 0x56], 0xfaeb717
mov dword [rsp + 0x5a], 0x6f10caa1
sub dword [rsp + 0x5a], 0x17091028
sub dword [rsp + 0x5a], 0x24d67664
sub dword [rsp + 0x5a], 0x2f0c9541
sub dword [rsp + 0x5a], 0x409ae60
mov dword [rsp + 0x5e], 0x326763a7
add dword [rsp + 0x5e], 0x45a1688b
xor dword [rsp + 0x5e], 0x615389c6
sub dword [rsp + 0x5e], 0x18ea452c
mov dword [rsp + 0x62], 0x11c895b5
add dword [rsp + 0x62], 0x223ecaa4
xor dword [rsp + 0x62], 0x613ae9d7
sub dword [rsp + 0x62], 0x55258917
xchg rdi, r15
mov qword [rbp + 0x1a0], rdi
xchg r15, rdi
xchg r9, rax
mov r9, qword [rbp + 0x1a0]
xchg r9, rax
xchg rcx, r12
mov r12, qword [rbp + 0x1a0]
xchg r12, rcx
xchg rsi, rax
mov rsi, qword [rbp + 0x1a0]
xchg rsi, rax
and cl, 3
mov dword [rsp - 0x30], ebx
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x4a]
mov eax, 0x5915d8fc
add eax, 0x15fc1fad
sub eax, 0x374f4473
xor eax, 0x5a5aed7e
sub eax, 0x69f0dc2e
shr eax, cl
mov r9, r9
movzx ecx, al
xchg r14, rax
mov r14, qword [rbp + 0x1a0]
xchg r14, rax
xor cx, dx
mov rdx, rdx
mov word [rbp + rax*2 + 0xa0], cx
xchg rdx, rax
mov rdx, qword [rbp + 0x1a0]
xchg rdx, rax
add rax, rbx
xchg rcx, rax
mov qword [rbp + 0x1a0], rcx
xchg rcx, rax
xchg rdi, rax
mov rdi, qword [rbp + 0x1a0]
xchg rdi, rax
cmp rax, r14
jb 0x140089bb0
mov r13, r13
xchg rdi, r14
mov r8, rdi
xchg rdi, r14
mov word [rbp + 0xbe], r15w
xchg rsp, rsp
lea rdx, [rbp + 0xf0]
mov esi, ebx
lea rcx, [rbp + 0xa0]
mov rdx, rdx
call fcn.1400bc2b0
mov dl, bl
test eax, eax
je 0x140089c82
mov dword [rsp - 0x10], 0x709ab03f
mov dl, r15b
test bl, sil
je 0x140089ca3
and esi, 0xfffffffe
mov dword [rsp - 0x30], esi
lea rdi, [rbp + 0xa0]
xor eax, eax
mov rcx, r14
xchg rsi, rsi
rep stosb byte [rdi], al
test dl, dl
jne 0x140089f7a
movdqa xmm0, xmmword [0x14000b780]
mov dword [rsp - 0x28], 0x847c955
lea rcx, [rbp - 8]
xchg rbp, rdi
movdqa xmmword [rdi + 0x60], xmm0
xchg rbp, rdi
lea rdx, [rbp - 8]
mov byte [rbp + 0x70], 0x3c
xor byte [rbp + 0x70], 0x5f
xor byte [rbp + 0x70], 0x3f
sub byte [rbp + 0x70], 0x23
add byte [rbp + 0x70], 0x30
xorps xmm0, xmm0
mov dword [rsp - 0x24], ecx
xchg rcx, r9
mov qword [rbp - 0x10], r9
xchg r9, rcx
mov eax, 0x3bf5674
add eax, 0xe10b7
add eax, 0x26a340b3
sub eax, 0xd686acd
xor eax, 0x1d083d00
xchg r13, rax
mov qword [rbp + 0x28], r13
xchg r13, rax
movups xmmword [rbp - 8], xmm0
xchg rbp, r13
movups xmmword [r13 + 8], xmm0
xchg r13, rbp
xchg rbp, r11
movups xmmword [r11 + 0x18], xmm0
xchg rbp, r11
cmp rcx, rdx
mov dword [rsp - 0x10], edx
je 0x140089d48
call fcn.1400bb460
xchg rdi, rax
mov rdi, qword [rbp + 0x28]
xchg rdi, rax
lea rdx, [rbp - 8]
mov dword [rsp - 0x30], ebx
xorps xmm0, xmm0
mov qword [rbp - 0x10], rdx
xchg r15, rcx
mov r15, rcx
xchg rcx, r15
xchg rbp, r11
movups xmmword [r11 - 8], xmm0
xchg rbp, r11
xchg r10, rbp
movups xmmword [r10 + 8], xmm0
xchg r10, rbp
movups xmmword [rbp + 0x18], xmm0
test rax, rax
mov dword [rsp - 0x44], edx
je 0x140089da5
movzx eax, byte [rbp + rcx + 0x60]
mov word [rdx + rcx*2], ax
mov dword [rsp - 0x34], 0x5fe9ace4
add rcx, rbx
cmp rcx, qword [rbp + 0x28]
jb 0x140089d87
lea rcx, [rbp - 0x10]
mov r12, r12
or esi, 2
call fcn.1400a7210
test al, al
jne 0x140089ed2
mov dword [rsp - 0x38], edi
movdqa xmm0, xmmword [0x14000b760]
lea rcx, [rbp - 0x48]
xchg rbp, rdx
movdqa xmmword [rdx + 0x30], xmm0
xchg rdx, rbp
lea rdx, [rbp - 0x48]
mov word [rbp + 0x40], 0x2d73
xor word [rbp + 0x40], 0x38ca
add word [rbp + 0x40], 0x255b
xor word [rbp + 0x40], 0xae1
sub word [rbp + 0x40], 0x2392
xorps xmm0, xmm0
xchg r10, r10
mov qword [rbp - 0x50], rcx
mov eax, 0x67acbcb6
xor eax, 0x639e38bf
xor eax, 0x3e795167
sub eax, 0x28268d53
sub eax, 0x12254809
mov qword [rbp - 0x18], rax
movups xmmword [rbp - 0x48], xmm0
mov dword [rsp - 0x34], esp
xchg r15, rbp
movups xmmword [r15 - 0x38], xmm0
xchg r15, rbp
xchg r12, rbp
movups xmmword [r12 - 0x28], xmm0
xchg rbp, r12
cmp rcx, rdx
je 0x140089e54
mov r12, r12
call fcn.1400bb460
mov rax, qword [rbp - 0x18]
lea rdx, [rbp - 0x48]
xorps xmm0, xmm0
mov dword [rsp - 0x44], 0x4ecdf89f
mov qword [rbp - 0x50], rdx
mov rcx, r15
xchg rbp, rdx
movups xmmword [rdx - 0x48], xmm0
xchg rdx, rbp
xchg rbp, rdx
movups xmmword [rdx - 0x38], xmm0
xchg rbp, rdx
xchg r14, rbp
movups xmmword [r14 - 0x28], xmm0
xchg r14, rbp
test rax, rax
je 0x140089eaf
xchg rdi, rdi
movzx eax, byte [rbp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, rbx
cmp rcx, qword [rbp - 0x18]
mov dword [rsp - 0x3c], edi
jb 0x140089e95
lea rcx, [rbp - 0x50]
or esi, r13d
call fcn.1400a7210
mov dword [rsp - 0x10], ebx
mov r14b, r15b
test al, al
je 0x140089ed5
mov dword [rsp - 0x10], 0x4e90c723
mov r14b, bl
mov r12d, 0xc9b72d2
add r12d, 0x270f268b
add r12d, 0xa3f61d4
xor r12d, 0x264d7aa7
sub r12d, 0x1ba48166
test r13b, sil
mov dword [rsp - 0x40], 0x7b5777d5
je 0x140089f38
mov rcx, qword [rbp - 0x50]
lea rax, [rbp - 0x48]
cmp rcx, rax
mov dword [rsp - 0x18], ebx
jne 0x140089f30
lea rdi, [rbp - 0x48]
xor eax, eax
xchg r11, r11
mov ecx, r12d
rep stosb byte [rdi], al
jmp 0x140089f38
call fcn.1400bb460
xchg r15, r15
mov rcx, qword [rbp - 0x10]
lea rax, [rbp - 8]
cmp rcx, rax
jne 0x140089f66
mov dword [rsp - 0x1c], esi
lea rdi, [rbp - 8]
xor eax, eax
xchg r8, r12
mov rcx, r8
xchg r8, r12
rep stosb byte [rdi], al
mov r14, r14
jmp 0x140089f6b
call fcn.1400bb460
test r14b, r14b
jne 0x140089f7a
mov rsp, rsp
mov bl, r15b
xor eax, eax
lea rdi, [rbp + 0xc0]
mov rsi, rsi
lea ecx, [rax + 0x13]
rep stosb byte [rdi], al
xor eax, eax
xchg r8, r8
lea r11, [rsp + 0x270]
xchg rsi, rbx
mov rbx, qword [r11 + 0x40]
xchg rsi, rbx
lea rdi, [rbp + 0x80]
lea ecx, [rax + 0xd]
mov dword [rsp - 0x24], ecx
rep stosb byte [rdi], al
mov rdi, qword [r11 + 0x48]
mov al, bl
xchg rbx, rcx
mov rcx, qword [r11 + 0x38]
xchg rbx, rcx
xchg rsp, r8
mov r8, r11
xchg r8, rsp
pop r15
pop r14
mov r14, r14
nop
add rsp, 8
mov r13, qword [rsp - 8]
pop r12
mov r14, r14
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret