Function at 0x140090391
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp - 8], rbp
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
lea rbp, [rsp - 0x78]
mov dword [rsp - 0x34], 0x2283cd5e
add rsp, 0x6287e045
sub rsp, 0x6287e1bd
lea rdi, [rcx + 8]
mov rbx, rbx
mov rsi, rdx
mov qword [rcx], rdi
mov rbx, rcx
xchg r10, rdi
mov rcx, r10
xchg r10, rdi
xor edx, edx
mov rcx, rcx
mov r8d, 0x30f9c956
add r8d, 0x23a2687a
sub r8d, 0x16d8bb53
sub r8d, 0x3dc3757d
call fcn.140098bf0
mov dword [rsp - 0x1c], 0x1e70b775
mov eax, 0x5548487c
xor eax, 0x1c9b05c9
xor eax, 0x85ae7b6
sub eax, 0x4189a9dd
mov qword [rbx + 0x108], rax
mov rcx, qword [rbx]
mov dword [rsp - 0x14], ebx
cmp rcx, rdi
je 0x1400903ca
call fcn.140098600
xchg rsi, rsi
xor edx, edx
mov qword [rbx], rdi
mov r8d, 0x45c83907
add r8d, 0xcf7ee7
sub r8d, 0x334a0488
add r8d, 0x2150d10f
xor r8d, 0x349e8575
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.140098bf0
xchg rbp, rdi
mov rbp, qword [rbx]
xchg rbp, rdi
test rdi, rdi
je 0x140090997
xchg rdx, rdx
movzx r8d, byte [rsi + 0xf]
mov eax, 0x3ceb7209
xor eax, 0x4f99adbb
sub eax, 0x6ca21b52
sub eax, 0x6d0c3c5
movzx r10d, byte [rsi + 0xe]
xor edx, edx
movzx r11d, byte [rsi + 0xd]
mov rdx, rdx
movzx r9d, byte [rsi + 8]
xchg rbp, r12
mov qword [rsp + 0x1a8], rbp
xchg r12, rbp
movzx r12d, byte [rsi + 0xa]
mov qword [rsp + 0x1b0], r13
movzx r13d, byte [rsi + 9]
mov dword [rsp - 0xc], 0xd036603
mov word [rbp - 0x18], ax
xchg r11, r14
mov qword [rsp + 0x1b8], r11
xchg r14, r11
movzx r14d, byte [rsi + 0xc]
mov dword [rsp - 0x28], ebp
mov dword [rsp + 0x70], 0x23d8162c
add dword [rsp + 0x70], 0x301b8ed0
sub dword [rsp + 0x70], 0x3feb2d75
sub dword [rsp + 0x70], 0x13bc76ea
mov dword [rsp + 0x74], 0x466b2d2
add dword [rsp + 0x74], 0x11b0d734
xor dword [rsp + 0x74], 0x4928c427
xor dword [rsp + 0x74], 0x5f234e12
mov dword [rsp + 0x78], 0x47e8861
xor dword [rsp + 0x78], 0x6cabbd10
sub dword [rsp + 0x78], 0x29ddc0ca
xor dword [rsp + 0x78], 0x694150b9
xor dword [rsp + 0x78], 0x578724c0
mov dword [rsp + 0x7c], 0x1ca3b235
xor dword [rsp + 0x7c], 0x7771b596
sub dword [rsp + 0x7c], 0x46953a91
sub dword [rsp + 0x7c], 0x2525cce4
mov dword [rbp - 0x80], 0x2e252ec3
add dword [rbp - 0x80], 0x903e9de
xor dword [rbp - 0x80], 0x7968b25b
xor dword [rbp - 0x80], 0x4e06aa2c
mov dword [rbp - 0x7c], 0x441ad796
xor dword [rbp - 0x7c], 0x2b50fedb
sub dword [rbp - 0x7c], 0x54483e32
sub dword [rbp - 0x7c], 0x1a97eae4
mov dword [rbp - 0x78], 0x1134c5f4
xor dword [rbp - 0x78], 0x3b582451
sub dword [rbp - 0x78], 0x1746d1da
add dword [rbp - 0x78], 0x39343bd
sub dword [rbp - 0x78], 0x166d52bd
mov dword [rbp - 0x74], 0x5da6b1c5
sub dword [rbp - 0x74], 0x265295cc
add dword [rbp - 0x74], 0x1a5a7ba2
sub dword [rbp - 0x74], 0x51929768
mov dword [rbp - 0x70], 0x1c0d26c0
sub dword [rbp - 0x70], 0xdf63d08
add dword [rbp - 0x70], 0x5dd6bf34
sub dword [rbp - 0x70], 0x6bbca81a
mov dword [rbp - 0x6c], 0x27818318
add dword [rbp - 0x6c], 0x48beae0b
sub dword [rbp - 0x6c], 0x403758bb
sub dword [rbp - 0x6c], 0x2ff1d83a
mov dword [rbp - 0x68], 0x3cb43903
add dword [rbp - 0x68], 0xef61932
sub dword [rbp - 0x68], 0x3b9dfbed
xor dword [rbp - 0x68], 0x516973b6
sub dword [rbp - 0x68], 0x411e2528
mov dword [rbp - 0x64], 0x26db1aaf
add dword [rbp - 0x64], 0x39dc791f
xor dword [rbp - 0x64], 0x1a1dba33
sub dword [rbp - 0x64], 0x7a4029cc
mov dword [rbp - 0x60], 0x17493571
add dword [rbp - 0x60], 0x3805724
add dword [rbp - 0x60], 0x156876fe
sub dword [rbp - 0x60], 0x2fd902d0
mov dword [rbp - 0x5c], 0x35c17552
xor dword [rbp - 0x5c], 0x55fc50b2
sub dword [rbp - 0x5c], 0x4a4e1ceb
xor dword [rbp - 0x5c], 0x370ad652
xor dword [rbp - 0x5c], 0x22e5de8a
mov dword [rbp - 0x58], 0x5049127e
add dword [rbp - 0x58], 0x15bd5ab8
add dword [rbp - 0x58], 0x5a35c8d
sub dword [rbp - 0x58], 0x6b65c905
mov dword [rbp - 0x54], 0x66d149e4
sub dword [rbp - 0x54], 0x10978f82
add dword [rbp - 0x54], 0x2028fb1b
sub dword [rbp - 0x54], 0x7660b557
mov dword [rbp - 0x50], 0x2d6c0b82
sub dword [rbp - 0x50], 0x33939c0
add dword [rbp - 0x50], 0x27da71a0
sub dword [rbp - 0x50], 0x51b2429a
mov dword [rbp - 0x4c], 0x1f7b47c6
sub dword [rbp - 0x4c], 0x46040f1
add dword [rbp - 0x4c], 0x55c338cb
sub dword [rbp - 0x4c], 0x70c73f45
mov dword [rbp - 0x48], 0x2b761d09
xor dword [rbp - 0x48], 0xbb9f979
add dword [rbp - 0x48], 0xbaedc5e
sub dword [rbp - 0x48], 0x2c37bff8
mov dword [rbp - 0x44], 0x14a3bcc7
add dword [rbp - 0x44], 0x34b4d164
xor dword [rbp - 0x44], 0x55ada746
sub dword [rbp - 0x44], 0x1c8b293c
mov dword [rbp - 0x40], 0x59f84930
sub dword [rbp - 0x40], 0x28913812
add dword [rbp - 0x40], 0x96dd78b
xor dword [rbp - 0x40], 0x3a8de86a
mov dword [rbp - 0x3c], 0x6bbc3732
sub dword [rbp - 0x3c], 0x3441a462
add dword [rbp - 0x3c], 0x2f7d5ab8
sub dword [rbp - 0x3c], 0x66f7ed5b
mov dword [rbp - 0x38], 0x4aeb6661
xor dword [rbp - 0x38], 0x3bc22740
add dword [rbp - 0x38], 0x5605eb8
xor dword [rbp - 0x38], 0x76c59f67
mov dword [rbp - 0x34], 0x3569d5f2
sub dword [rbp - 0x34], 0x1aa44b19
add dword [rbp - 0x34], 0x4506ff82
sub dword [rbp - 0x34], 0x5fb08a28
mov dword [rbp - 0x30], 0x60da4396
add dword [rbp - 0x30], 0x475eb43
sub dword [rbp - 0x30], 0x36b99d14
xor dword [rbp - 0x30], 0x2ea79111
mov dword [rbp - 0x2c], 0x69b3f5b6
sub dword [rbp - 0x2c], 0x507309fb
add dword [rbp - 0x2c], 0x46e7d88a
add dword [rbp - 0x2c], 0x6751296
xor dword [rbp - 0x2c], 0x669fd6fd
mov dword [rbp - 0x28], 0x4586d345
add dword [rbp - 0x28], 0x29329cfd
sub dword [rbp - 0x28], 0x61a17c8e
xor dword [rbp - 0x28], 0xd4cf37c
mov dword [rbp - 0x24], 0x266b8993
add dword [rbp - 0x24], 0x1d68599e
add dword [rbp - 0x24], 0x35e40dc1
sub dword [rbp - 0x24], 0x79a0f097
mov dword [rbp - 0x20], 0x5b085e4d
add dword [rbp - 0x20], 0x627430c
sub dword [rbp - 0x20], 0x3e456b23
add dword [rbp - 0x20], 0x2f402dc0
sub dword [rbp - 0x20], 0x51e36320
mov dword [rbp - 0x1c], 0x368f0b41
xor dword [rbp - 0x1c], 0x5dc5c763
sub dword [rbp - 0x1c], 0x136276bc
sub dword [rbp - 0x1c], 0x418779d2
sub dword [rbp - 0x1c], 0x15f6db63
mov qword [rbp + 0xa0], rdx
mov dword [rsp - 0x10], 0x3ed05f6c
xchg r14, rax
mov r14, qword [rbp + 0xa0]
xchg r14, rax
xchg r15, rbp
mov qword [rsp + 0x170], rbp
xchg rbp, r15
movzx r15d, byte [rsi + 0xb]
xchg r8, r8
nop dword [rax]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
and cl, 3
mov dword [rsp - 0x3c], 0x5830ad60
shl cl, 2
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x70]
mov eax, 0x34d7f23a
sub eax, 0x1dad0491
sub eax, 0xa057627
add eax, 0x6df93e00
xor eax, 0x491ddc64
shr eax, cl
mov dword [rsp - 0x10], esi
movzx ecx, al
xchg rbx, rax
mov rbx, qword [rbp + 0xa0]
xchg rbx, rax
xor cx, dx
mov word [rbp + rax*2 - 0x16], cx
xchg r12, r12
mov rax, qword [rbp + 0xa0]
inc rax
mov qword [rbp + 0xa0], rax
mov dword [rsp - 0x28], ebp
mov rax, qword [rbp + 0xa0]
cmp rax, 0x3d
jb 0x140090841
movzx eax, word [rsi + 6]
mov dword [rsp - 0x3c], edx
xor edx, edx
mov dword [rsp + 0x68], r8d
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
mov dword [rsp + 0x60], r10d
xchg r14, r14
lea r8, [rbp - 0x16]
mov dword [rsp + 0x58], r11d
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x48], r15d
mov rbx, rbx
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r9d
mov r9d, dword [rsi]
mov dword [rsp - 0x18], edi
mov dword [rsp + 0x28], eax
movzx eax, word [rsi + 4]
mov word [rbp + 0x64], dx
mov dword [rsp - 0x24], 0x779928f4
mov edx, 0x7737a9e7
sub edx, 0x30767436
xor edx, 0x51c0d32a
sub edx, 0xe9de7b1
xor edx, 0x863fecd
mov dword [rsp + 0x20], eax
mov dword [rsp - 0x14], edi
call fcn.140090fd0
mov r15, qword [rsp + 0x170]
lea rdi, [rbp - 0x16]
xchg rdx, rdx
xchg rbx, r14
mov rbx, qword [rsp + 0x1b8]
xchg r14, rbx
xor eax, eax
mov rbx, rbx
mov r13, qword [rsp + 0x1b0]
mov ecx, 0x79d87d71
sub ecx, 0x454ac53
sub ecx, 0x1a81f51e
xor ecx, 0x5b01dc3d
mov r12, qword [rsp + 0x1a8]
rep stosb byte [rdi], al
mov rax, rbx
mov dword [rsp - 0x20], edi
add rsp, 0x374d55f8
sub rsp, 0x374d5480
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbx
nop
mov rbp, qword [rsp]
add rsp, 8
ret