Function at 0x14046dec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp - 8], rbp
sub rsp, 8
push rsi
mov dword [rsp - 0x20], esi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
lea rbp, [rsp - 0x1f0]
sub rsp, 0x248a6352
add rsp, 0x248a6062
lea r9, [rsp + 0x62]
xchg rbp, rsi
mov rbp, rcx
xchg rsi, rbp
neg r9
xchg r13, r13
lea r8, [0x14000c3e2]
lea rdi, [rsp + 0x62]
nop word [rax + rax]
lea edx, [r9 + rdi]
mov dword [rsp - 0x10], esi
mov eax, 0x1a57669c
xor eax, 0x5e075476
sub eax, 0x237d76ed
xor eax, 0x58b59aa6
sub eax, 0xbd70aeb
mov ecx, edx
lea rdi, [rdi + 4]
mov dword [rsp - 0x30], 0x433c3dea
rol eax, cl
lea ecx, [rdx + 1]
xor al, byte [r8 - 2]
xchg rbx, rbx
lea r8, [r8 + 4]
mov byte [rdi - 6], al
mov eax, 0x1e78683d
add eax, 0x2284b4b3
sub eax, 0x26dab009
add eax, 0x526da989
rol eax, cl
mov rbx, rbx
lea ecx, [rdx + 2]
xor al, byte [r8 - 5]
mov byte [rdi - 5], al
xchg rbp, rbp
mov eax, 0x636e19ab
sub eax, 0x1b3bf3ee
sub eax, 0xe06b1c9
add eax, 0x3264a27c
rol eax, cl
xchg r11, r11
lea ecx, [rdx + 3]
xor al, byte [r8 - 4]
mov byte [rdi - 4], al
mov eax, 0x5f653722
sub eax, 0x3d403099
add eax, 0x27cdfdb2
add eax, 0x229d1235
rol eax, cl
xor al, byte [r8 - 3]
xchg r12, r12
mov byte [rdi - 3], al
lea rax, [r9 + rdi]
cmp rax, 0x10
xchg r12, r12
jb 0x14046de15
lea r9, [rsp + 0x52]
neg r9
lea r8, [0x14000c3f2]
xchg r9, r9
lea rdi, [rsp + 0x52]
nop dword [rax]
lea edx, [rdi + r9]
mov eax, 0x73a9d7f0
xor eax, 0x241fb11e
xor eax, 0x395e028f
sub eax, 0x2584df1
mov ecx, edx
mov dword [rsp - 0x30], 0x6b6d819c
lea rdi, [rdi + 4]
rol eax, cl
lea ecx, [rdx + 1]
xchg rbp, rbp
xor al, byte [r8 - 2]
lea r8, [r8 + 4]
mov byte [rdi - 6], al
mov eax, 0x76b25a56
sub eax, 0x3bafbb19
xor eax, 0x2b9e9883
add eax, 0x5bf40eb2
rol eax, cl
lea ecx, [rdx + 2]
xor al, byte [r8 - 5]
xchg r8, r8
mov byte [rdi - 5], al
mov eax, 0x66a74808
xor eax, 0x16d1a8aa
sub eax, 0x6790397e
add eax, 0x23b16600
add eax, 0x3ff8094c
rol eax, cl
lea ecx, [rdx + 3]
xor al, byte [r8 - 4]
mov dword [rsp - 0x28], esp
mov byte [rdi - 4], al
mov eax, 0x4accfda4
sub eax, 0x2149ebb9
xor eax, 0x4f0887ac
xor eax, 0xa1b8037
rol eax, cl
xchg rdi, rdi
xor al, byte [r8 - 3]
mov byte [rdi - 3], al
lea rax, [r9 + rdi]
cmp rax, 0x10
mov rbp, rbp
jb 0x14046deeb
lea rcx, [0x1404a58d0]
mov qword [rsp + 0x2e8], rbx
call fcn.140057c60
mov dword [rsp - 0x1c], ecx
xor ebx, ebx
xorps xmm0, xmm0
test al, al
jne 0x14046dff7
xchg r14, r14
lea rax, [rsi + 8]
xchg rdi, rax
mov qword [rsi], rdi
xchg rdi, rax
xchg rdx, rax
movups xmmword [rdx], xmm0
xchg rdx, rax
xchg rsi, rax
movups xmmword [rsi + 0x10], xmm0
xchg rsi, rax
xchg rdi, rax
movups xmmword [rdi + 0x20], xmm0
xchg rdi, rax
mov qword [rsi + 0x38], rbx
mov rsi, rsi
jmp 0x14046e9a7
lea rax, [rbp - 0x48]
mov qword [rsp + 0x2d8], r14
xchg r12, r12
mov qword [rbp - 0x50], rax
movabs rcx, 0xebb74924a52cefb
xor rcx, 0x47553eab
xor rcx, 0x21cd4d45
add rcx, 0x4c1fef93
mov rax, qword [0x1404a55a0]
ror rax, 1
ror rax, 2
ror rax, 3
ror rax, 2
xor rax, rcx
mov qword [rbp - 0x18], rbx
movabs rcx, 0x589bd9346c4ffd2e
xor rcx, 0x8f6f03a
xor rcx, 0x4cc96515
add rcx, 0x15d247b0
add rcx, 0x7fffffff
xor rcx, 0x71cef82f
sub rax, rcx
movabs rcx, 0x3cf3560561a1593e
xor rcx, 0x1933b38d
sub rcx, 0x464ca78a
add rcx, 0x7fffffff
sub rcx, 0xdc2669b
xor rax, rcx
xchg rdi, rdi
xor ecx, ecx
xchg rbp, r11
movups xmmword [r11 - 0x48], xmm0
xchg r11, rbp
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
mov rdi, rdi
call rax
test eax, eax
js 0x14046e84c
mov rax, qword [0x1404a55b0]
mov r10, r10
lea r9, [rsp + 0x50]
not rax
movabs rcx, 0x50d43ce15cf7bae5
sub rcx, 0x20ec4b3e
sub rcx, 0x15660e44
add rcx, 0x3b2d2035
add rcx, 0x61bd526e
rol rax, 3
rol rax, 2
rol rax, 1
rol rax, 8
xor edx, edx
mov dword [rsp - 0x1c], 0x19bc4e29
not rax
mov r8d, 0x32b4c7ee
xor r8d, 0x31da3e0a
sub r8d, 0x1c2391a
sub r8d, 0x1acc0b3
sub rax, rcx
mov r13, r13
lea rcx, [rsp + 0x40]
xchg rcx, r9
mov qword [rsp + 0x20], r9
xchg rcx, r9
lea rcx, [rsp + 0x60]
mov dword [rsp - 0x3c], 0x3d4988bc
call rax
test eax, eax
js 0x14046e84c
mov rcx, qword [rsp + 0x40]
mov dword [rsp - 0x1c], ebx
lea r8, [rbp + 0x228]
mov qword [rbp + 0x228], rbx
xor edx, edx
mov r8, r8
xchg r8, rax
mov r8, qword [rcx]
xchg r8, rax
call qword [rax + 0x28]
mov r14, r14
test eax, eax
js 0x14046e83a
mov rcx, qword [rsp + 0x40]
mov dword [rsp - 0x1c], 0x56f8eaa0
lea r8, [rbp + 0x220]
xchg rdi, rdx
mov rdi, qword [rbp + 0x228]
xchg rdi, rdx
mov qword [rbp + 0x220], rbx
mov qword [rsp + 0x2e0], r12
xchg r13, rax
mov r13, qword [rcx]
xchg r13, rax
mov qword [rsp + 0x2d0], r15
call qword [rax + 0x20]
mov dword [rsp - 0x44], ebp
movabs r15, 0xaca6dc66635b59c6
xor r15, 0x66e7c9ab
add r15, 0x42d0c6d4
add r15, 0x7fffffff
xor r15, 0x18f70f3e
movabs r12, 0x7b66fe8d36408adb
sub r12, 0x17371ef4
xor r12, 0x443780fc
xor r12, 0x39d3644e
add r12, 0x35d5bd99
test eax, eax
js 0x14046e7ee
mov r12, r12
mov rax, qword [0x1404a5400]
movabs rcx, 0x4f6c910a79d6b2f5
sub rcx, 0xba57a51
add rcx, 0x87347a5
add rcx, 0xe4f31d0
not rax
mov dword [rsp - 0x28], 0x68bf33dd
add rax, rcx
movabs rcx, 0x1f8132f7301e74d4
sub rcx, 0x13f3b42c
add rcx, 0x4c0c63a0
sub rcx, 0x4814db8d
add rcx, 0x3bb9a10d
xor rax, rcx
lea rcx, [rbp + 0x50]
mov dword [rsp - 0x24], 0x29225f14
not rax
call rax
lea rcx, [rbp - 0x10]
call fcn.1400827b0
mov r15, r15
mov r14, qword [rbp + 0x220]
lea rax, [rbp + 0xc8]
xor edx, edx
mov dword [rsp - 0x10], esi
xchg rsi, rax
mov qword [rbp + 0xc0], rsi
xchg rsi, rax
mov r8d, 0xdc7c72c
xor r8d, 0x4c317e48
add r8d, 0x9bdf215
sub r8d, 0x4bb4aa79
lea rcx, [rbp + 0xc8]
call fcn.140098790
mov dword [rsp - 0x18], 0x12732ec4
nop
movabs rdi, 0xffffffff3547dcc8
add rdi, 0x1efd1c7f
add rdi, 0xf3ede3f
add rdi, 0x7fffffff
add rdi, 0x1c7c287a
xchg rcx, rdx
mov rcx, rdi
xchg rcx, rdx
nop dword [rax + rax]
mov rsp, rsp
inc rdx
cmp word [r14 + rdx*2], bx
jne 0x14046e32e
xchg rsp, rsp
xchg rdx, r12
mov qword [rbp + 0x1c8], r12
xchg r12, rdx
lea rcx, [rbp + 0xc0]
mov dword [rsp - 0x44], esp
inc rdx
call fcn.14003dc50
test rax, rax
mov dword [rsp - 0x10], 0x214c65ba
je 0x14046e390
xchg r9, r12
mov r12, qword [rbp + 0x1c8]
xchg r9, r12
mov r8, r14
mov rcx, rax
mov dword [rsp - 0xc], ecx
lea rdx, [r9 + 1]
call fcn.140099210
mov r14, qword [rbp + 0xc0]
mov r9, r9
lea rax, [rsp + 0x78]
xorps xmm0, xmm0
mov qword [rsp + 0x70], rax
xchg rsi, rsp
movups xmmword [rsi + 0x78], xmm0
xchg rsp, rsi
xchg r8, rbp
movups xmmword [r8 - 0x78], xmm0
xchg r8, rbp
xchg rbp, r15
movups xmmword [r15 - 0x68], xmm0
xchg rbp, r15
nop dword [rax]
inc rdi
mov r15, r15
cmp word [r14 + rdi*2], bx
jne 0x14046e3cb
mov rdx, rdi
xchg r8, rdi
mov qword [rbp - 0x58], r8
xchg r8, rdi
lea rcx, [rsp + 0x70]
call fcn.14000ef40
mov edx, 0x22f5891e
xor edx, 0x35f3a98c
xor edx, 0x76097596
sub edx, 0x9004f0d
add edx, 0x4ad4a4b
mov rdi, rbx
mov dword [rsp - 0x1c], edi
cmp qword [rbp - 0x58], rbx
jbe 0x14046e47c
sub r14, rax
mov r8d, 0x3ca50d77
sub r8d, 0x10b4efb
sub r8d, 0x13399f3f
add r8d, 0xd7e3123
xor r8d, 0x35de509f
movzx ecx, dx
mov dword [rsp - 0xc], edi
lea rax, [rax + 2]
and cx, r8w
ror edx, 3
ror edx, 3
ror edx, 2
xor cx, word [r14 + rax - 2]
inc rdi
mov dword [rsp - 0x2c], ebp
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x58]
jb 0x14046e446
mov r13, r13
mov byte [rsp + 0x38], bl
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x30], 0x75f69c5a
sub dword [rsp + 0x30], 0x53a0d9e9
xor dword [rsp + 0x30], 0x2f76441
sub dword [rsp + 0x30], 0x20a2a5d0
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x28], 0x917b688
add dword [rsp + 0x28], 0x45f724aa
xor dword [rsp + 0x28], 0x7dec0ece
add dword [rsp + 0x28], 0x31ac9540
sub dword [rsp + 0x28], 0x648f6b3b
mov r9d, 0x7917a72d
sub r9d, 0x70f8c406
add r9d, 0x6c136062
sub r9d, 0xd3372f8
xor r9d, 0x66fed011
mov r8d, 0x320ebfaf
add r8d, 0x34075e31
xor r8d, 0x12ae3f15
sub r8d, 0x3c11d228
sub r8d, 0x38945044
mov dword [rsp + 0x20], 0x3228e98b
sub dword [rsp + 0x20], 0xa4197eb
add dword [rsp + 0x20], 0x33835548
xor dword [rsp + 0x20], 0x40236c2e
sub dword [rsp + 0x20], 0x1b49cac5
call fcn.1400833f0
xchg rdi, rcx
mov rdi, qword [rsp + 0x70]
xchg rdi, rcx
movzx r14d, al
lea rax, [rsp + 0x78]
cmp rcx, rax
mov dword [rsp - 0x28], esp
jne 0x14046e58b
lea rdi, [rsp + 0x78]
xor eax, eax
mov rsp, rsp
mov ecx, 0x1d105249
add ecx, 0x3c28674c
sub ecx, 0x1ea0b134
sub ecx, 0x3a980831
rep stosb byte [rdi], al
jmp 0x14046e598
call fcn.140098180
mov dword [rsp - 0x1c], 0x26c1e94a
mov rcx, qword [rbp + 0xc0]
lea rax, [rbp + 0xc8]
cmp rcx, rax
jne 0x14046e5e7
mov dword [rsp - 0x28], 0x3af0f503
lea rdi, [rbp + 0xc8]
xor eax, eax
mov ecx, 0x1e520b3c
xor ecx, 0x43957e68
sub ecx, 0xbc24b1a
add ecx, 0x1f2b6fe0
sub ecx, 0x7130991a
rep stosb byte [rdi], al
mov r15, r15
jmp 0x14046e5ec
call fcn.140098180
test r14b, r14b
je 0x14046e6b4
mov r11, r11
lea r8, [rbp + 0x218]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x10]
call fcn.140083c30
xchg r11, r11
test al, al
je 0x14046e6b4
mov rax, qword [0x1404a5408]
mov rsp, rsp
movabs rcx, 0x749899ba6c2a6493
sub rcx, 0x51e441bd
xor rcx, 0x6c543429
add rcx, 0x62342515
mov r8d, dword [rbp + 0x218]
not rax
mov rdx, qword [rsp + 0x48]
mov dword [rsp - 0x2c], 0x1f2d83b1
add rax, rcx
rol rax, 0x1a
rol rax, 6
rol rax, 2
rol rax, 1
rol rax, 1
rol rax, 1
movabs rcx, 0x19559ce81c3e5f65
add rcx, 0x446cdbfa
xor rcx, 0x1ca0b57b
sub rcx, 0x5756084c
add rcx, 0x1826ba27
xor rax, rcx
xchg r11, r11
lea rcx, [rbp + 0x50]
call rax
mov rcx, qword [rsp + 0x48]
call fcn.140098020
mov dword [rsp - 0x38], 0x64494820
lea rcx, [rbp - 0x10]
call fcn.1400827d0
mov rax, qword [0x1404a5410]
movabs rcx, 0x7d92196264cb1fc0
xor rcx, 0x211db1f0
add rcx, 0x20fe40b5
xor rcx, 0x1bf4e2be
ror rax, 3
ror rax, 0x10
ror rax, 5
not rax
ror rax, 0xb
ror rax, 0xf
ror rax, 7
ror rax, 9
ror rax, 1
ror rax, 2
ror rax, 1
add rax, rcx
lea rcx, [rbp + 0x50]
call rax
xchg rbp, rbp
mov rdx, qword [0x1404a5278]
xchg r12, rcx
mov r12, qword [rbp + 0x220]
xchg r12, rcx
not rdx
rol rdx, 3
rol rdx, 0xb
rol rdx, 2
rol rdx, 2
rol rdx, 2
add rdx, r15
xor rdx, r12
rol rdx, 1
rol rdx, 2
rol rdx, 1
call rdx
mov r8d, 0x750a6f42
sub r8d, 0x3533fdd3
add r8d, 0xca8a0d0
xor r8d, 0xbe52317
sub r8d, 0x479a3118
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 8]
call fcn.140053510
mov dword [rsp - 0x40], esp
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
lea rcx, [rbp - 0x50]
xchg rbx, rbx
call fcn.140052290
xchg rcx, rdi
mov rdi, qword [rbp + 8]
xchg rdi, rcx
lea rax, [rbp + 0x10]
cmp rcx, rax
xchg rsp, rsp
jne 0x14046e7e9
lea rdi, [rbp + 0x10]
xor eax, eax
mov dword [rsp - 0x28], edx
mov ecx, 0x3f41205a
add ecx, 0x2d8d8d7c
sub ecx, 0x638162d0
add ecx, 0x3f34f4ad
sub ecx, 0x48823f83
rep stosb byte [rdi], al
xchg r8, r8
jmp 0x14046e7ee
call fcn.140098180
mov rdx, qword [0x1404a5278]
mov rcx, qword [rbp + 0x228]
xchg rdx, rdx
not rdx
rol rdx, 9
rol rdx, 8
rol rdx, 1
rol rdx, 1
rol rdx, 1
add rdx, r15
mov dword [rsp - 0x28], esi
xor rdx, r12
rol rdx, 1
rol rdx, 3
call rdx
mov r15, qword [rsp + 0x2d0]
mov dword [rsp - 0x2c], esi
mov r12, qword [rsp + 0x2e0]
mov rcx, qword [rsp + 0x40]
xchg r15, rax
mov r15, qword [rcx]
xchg r15, rax
call qword [rax + 0x10]
mov rbp, rbp
mov r14, qword [rbp - 0x18]
lea rdi, [rsi + 8]
xchg r9, rdi
mov qword [rsi], r9
xchg r9, rdi
xorps xmm0, xmm0
xchg r14, r14
xchg r10, rdi
movups xmmword [r10], xmm0
xchg r10, rdi
movups xmmword [rdi + 0x10], xmm0
mov dword [rsp - 0xc], ecx
xchg r15, rdi
movups xmmword [r15 + 0x20], xmm0
xchg rdi, r15
xchg r14, rdx
mov qword [rsi + 0x38], rdx
xchg r14, rdx
mov rcx, qword [rsi]
cmp rcx, rdi
xchg r11, r11
je 0x14046e89e
call fcn.140098180
cmp r14, 0x18
mov dword [rsp - 0x3c], 0x406a98f6
jbe 0x14046e8e4
lea rcx, [r14 + r14]
call fcn.1400984c0
mov qword [rsi], rax
mov dword [rsp - 0x1c], 0x642c71af
test rax, rax
jne 0x14046e8f4
xchg rdi, rbx
mov qword [rsi], rbx
xchg rbx, rdi
xchg rbx, r15
mov rcx, r15
xchg rbx, r15
jmp 0x14046e91d
mov qword [rsi], rdi
mov dword [rsp - 0x10], esi
xchg rdx, rdi
mov rax, rdx
xchg rdi, rdx
xorps xmm0, xmm0
xchg rdi, rdi
xchg rbx, rax
movups xmmword [rbx], xmm0
xchg rbx, rax
xchg rdi, rax
movups xmmword [rdi + 0x10], xmm0
xchg rdi, rax
xchg r8, rax
movups xmmword [r8 + 0x20], xmm0
xchg r8, rax
mov rcx, qword [rsi]
mov dword [rsp - 0x44], 0x70cfbc86
xchg r14, r11
mov r11, qword [rsp + 0x2d8]
xchg r11, r14
cmp qword [rsi + 0x38], rbx
mov r10, r10
jbe 0x14046e960
nop dword [rax]
xchg rdx, rax
mov rdx, qword [rbp - 0x50]
xchg rdx, rax
movzx edx, word [rax + rbx*2]
mov word [rcx + rbx*2], dx
inc rbx
mov dword [rsp - 0x28], ebp
cmp rbx, qword [rsi + 0x38]
jb 0x14046e93f
mov rcx, qword [rbp - 0x50]
mov dword [rsp - 0x34], esi
lea rax, [rbp - 0x48]
cmp rcx, rax
jne 0x14046e9a2
lea rdi, [rbp - 0x48]
mov rdx, rdx
xor eax, eax
mov ecx, 0x3fda1cd1
xor ecx, 0x47892f83
sub ecx, 0x674b5467
xor ecx, 0x1dc49a8c
sub ecx, 0xcc34437
rep stosb byte [rdi], al
jmp 0x14046e9a7
call fcn.140098180
xchg r15, rbx
mov r15, qword [rsp + 0x2e8]
xchg r15, rbx
lea rdi, [rsp + 0x50]
mov dword [rsp - 0x14], 0x293c1309
xor eax, eax
mov ecx, 0x2c62e974
add ecx, 0x201711c7
add ecx, 0xf3eb081
add ecx, 0x12ad33f8
sub ecx, 0x6e65dfa4
rep stosb byte [rdi], al
xchg rdx, rdx
mov ecx, 0x475cd949
add ecx, 0x22f0a175
add ecx, 0x11b738ad
sub ecx, 0x7c04b35b
lea rdi, [rsp + 0x60]
rep stosb byte [rdi], al
mov dword [rsp - 0x20], 0x19972569
mov rax, rsi
sub rsp, 0xfffffffffffffd10
pop rdi
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbp
ret