Function at 0x14005d5d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x68], rcx
mov ecx, dword [0x140202d00]
xor ecx, 0xeb6ccbe6
mov edx, dword [0x140202d04]
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
or ecx, 0x476d6dc0
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xa3dec5b
xor edx, 0x2a4b0319
mov r8d, 0xec6cbfc4
xor r8d, 0x1393403b
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x2076ef42
mov r8d, 0x2ab1deb5
xor r8d, 0xac731f7
mov r9d, 0xde294462
xor r9d, 0x21d6bb9d
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x276291cd
xor edx, 0xd89d6e32
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x28ada5bb
xor ecx, 0xd7a89743
xor edx, edx
div ecx
cmp eax, 0xb621abf3
ja 0x14005e0d2
mov eax, dword [0x140202d08]
xor eax, 0x88e25841
mov ecx, dword [0x140202d0c]
xor ecx, 0x46e7f581
imul eax, ecx
shr eax, 1
mov ecx, 0xb020ee99
imul rax, rcx
shr rax, 0x3e
imul ecx, eax, 0x75ffe1b5
mov edx, ecx
and edx, 0x1bdb7a0e
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx - 0x642485f2]
mov dword [rbp + 0x60], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14004b700
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x50], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x58], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
mov edx, 2
sub rsp, 0x20
call fcn.14004c6b0
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x60]
mov byte [rbp + 0x67], cl
cmp eax, 0xd624e9b3
je 0x14005e0d2
mov al, byte [rbp + 0x67]
test al, 1
jne 0x14005d79e
jmp 0x14005d7b0
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x14005e0ca
mov eax, dword [0x140202d10]
xor eax, 0x50f86b43
xor edx, edx
div dword [0x140202d14]
and eax, 0x37e584a6
and eax, 0x954b9df3
xor eax, 0x8056d0fd
cmp eax, 0x80fe86e5
ja 0x14005e0db
mov rcx, qword [rbp + 0x48]
mov eax, dword [0x140202d18]
and eax, dword [0x140202d1c]
mov r8d, 0xe5caee29
xor r8d, 0x2d38a06f
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0xc8f24e46
sub eax, edx
xor eax, 0x90932910
mov edx, 0xf134d1b3
xor edx, 0xb2ae5b6e
or eax, edx
mov rcx, qword [rcx]
mov qword [rbp + 0x18], rcx
cmp rcx, 0
setl cl
mov byte [rbp + 0x27], cl
cmp eax, 0x313e42ec
je 0x14005d7dd
mov al, byte [rbp + 0x27]
test al, 1
jne 0x14005d847
jmp 0x14005d86b
mov rcx, qword [rbp + 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x14005e0ca
mov r8d, dword [0x140202d20]
mov edx, dword [0x140202d24]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xfe2b86be
mov r9d, 0xffffffff
xor r9d, 0xfe2b86be
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xfe2b86be
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xa903842a
xor ecx, 0xa6e6af2e
xor edx, edx
div ecx
mov edx, eax
and edx, 0x41b0469f
mov ecx, 0x2fae69c8
xor ecx, 0x2fae69ca
imul ecx, edx
add eax, 0x41b0469f
sub eax, ecx
mov ecx, 0x3621e5cf
xor ecx, 0xc9de1a30
mov edx, eax
xor edx, ecx
and edx, 0x37ca05c9
mov r8d, 0x699a6ede
xor r8d, 0x5e506b17
mov ecx, 0x227187d6
xor ecx, 0xdd8e7829
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x37ca05c9
or eax, 0x37ca05c9
imul eax, edx
add eax, ecx
cmp eax, 0xeeb04075
ja 0x14005e0e4
mov rcx, qword [rbp + 0x40]
mov rsi, qword [rbp + 0x68]
mov eax, dword [0x140202d28]
mov edx, dword [0x140202d2c]
xor edx, 0x5adf422a
or eax, edx
or eax, 0x1583570
mov r9d, 0xffffffff
xor r9d, 0xe3b30948
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x49f38f5b
xor r9d, 0xb60c70a4
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xe3b30948
or eax, 0xe3b30948
imul eax, r8d
add eax, edx
mov r8d, 0x42b8d3c
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x18]
mov dword [rbp - 4], eax
mov eax, 0x54338fdd
xor eax, 0x6cd1bd3d
mov dword [rbp - 8], eax
sub rsp, 0x20
call fcn.14002a11a
mov r10, qword [rbp + 0x40]
mov r8, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 4]
add rsp, 0x20
mov r11, qword [rsi]
mov qword [rbp], r11
mov r9, rsi
add r9, 8
mov qword [rbp + 8], r9
mov r9, qword [rsi + 8]
mov rdi, qword [r10]
mov qword [rsi], rdi
mov rdi, qword [r10 + 8]
mov qword [rsi + 8], rdi
mov qword [r10], r11
mov qword [r8], r9
add rdx, 8
mov qword [rbp + 0x10], rdx
cmp eax, ecx
jae 0x14005e0e4
xor eax, eax
mov qword [rbp - 0x10], rax
jmp 0x14005da0e
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x18], rax
cmp rax, rcx
jge 0x14005e0a7
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x40]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005db42
mov eax, dword [0x140202d30]
mov ecx, dword [0x140202d34]
xor ecx, 0x1773124e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x94a97b55
xor ecx, 0x81ad1f0e
mov edx, 0xc5663fa8
xor edx, 0x3a99c057
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x1504645b
and ecx, edx
mov edx, 0xda4e0b17
xor edx, 0x25b1f4e8
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x1d7b18dd
xor ecx, 0x8fd78cb0
add eax, ecx
add eax, 0xabd6b1a9
sub eax, 0x92ac946d
add eax, 0x31b8089e
cmp eax, 0x95a61634
jb 0x14005e0ed
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140202d38]
xor eax, 0xa6ba4486
xor edx, edx
div dword [0x140202d3c]
sub eax, 0x8f972bda
mov r8d, 0x884f6e4a
xor r8d, 0xad2138bd
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xf3f4bf39
mov r9d, 0xffffffff
xor r9d, 0xf3f4bf39
and eax, r9d
sub eax, r8d
mov dword [rbp - 0x24], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
mov eax, dword [rbp - 0x24]
add rsp, 0x20
cmp eax, 0x421bc458
jae 0x14005dac8
jmp 0x14005e0ca
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x30], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x25], al
or al, cl
test al, 1
jne 0x14005df2a
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
movabs rcx, 0x399046e870c25d6
movabs r8, 0xfc66fb9178f3da29
xor rcx, r8
xor rax, rcx
xor rdx, 0xffffffffffffffff
movabs rcx, 0xb23a662d35a3ff1e
movabs r8, 0x9f74dea3aada9677
xor rcx, r8
movabs r8, 0xb033bfdd24f3af32
movabs r9, 0x4fcc4022db0c50cd
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0x2d4eb88e9f796969
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005dc4e
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
movabs rax, 0xdcaab970088f0ebd
movabs r8, 0x2355468ff770f142
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x14005e0ca
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x14005dcb3
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
movabs rax, 0x1e6dc15522def019
movabs r8, 0xe1923eaadd210fe6
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.14004c879
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x38], rax
je 0x14005dbf1
jmp 0x14005e0ca
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14005dd0d
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x50]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0x1fc4a0084bccdd9d
movabs r8, 0x1fc4a0084bccdd9d
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x14005e0ca
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov ax, word [rcx]
mov word [rbp - 0x5a], ax
sub rsp, 0x20
call fcn.14002a296
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x14005dd71
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x14005e0ca
mov ecx, dword [0x140202d40]
mov r8d, dword [0x140202d44]
mov eax, 0xf031cf7b
xor eax, 0xfce3084
mov edx, r8d
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x69671e90
xor edx, 0x7ba691ef
mov r8d, 0x62f5288d
xor r8d, 0x9d0ad772
xor edx, r8d
or eax, edx
mov edx, 0x12c18f7f
and edx, 0x12c18f7f
xor edx, 0xffffffff
mov r8d, 0x4a95753f
xor r8d, 0xb56a8ac0
xor ecx, r8d
mov r8d, 0x8c2e0cfb
xor r8d, 0x73d1f304
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x577852ac
mov ecx, 0x5b96bb4b
xor ecx, 0xa0152b88
xor eax, ecx
cmp eax, 0x89ca692d
ja 0x14005e0f6
mov rcx, qword [rbp + 0x58]
mov r9d, dword [0x140202d48]
mov r8d, dword [0x140202d4c]
mov edx, 0x638eaa0c
xor edx, 0x9c7155f3
mov eax, r9d
xor eax, edx
and eax, 0xb8a88e88
mov r10d, 0xffffffff
xor r10d, 0xb8a88e88
and r9d, r10d
mov edx, r8d
xor edx, 0xffffffff
and edx, 0xb8a88e88
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
and eax, 0xccff87
mov r8d, 0x8e8d2d4b
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x18]
mov r8d, edx
xor r8d, 0x50f68771
xor r8d, 0xffffffff
mov r9d, 0xb394b0d
xor r9d, 0x5bcfcc7c
or edx, r9d
and edx, r8d
mov dword [rbp - 0x60], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x10
mov rsi, qword [rcx]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140011160
mov r11, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x68]
mov r8w, word [rbp - 0x5a]
mov r9, qword [rbp + 0x30]
mov r10, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [r9], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14005d330
mov rcx, qword [rbp + 0x50]
mov eax, dword [rbp - 0x60]
add rsp, 0x30
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x5b], cl
cmp eax, 0x945ad3e0
ja 0x14005e0f6
mov al, byte [rbp - 0x5b]
test al, 1
jne 0x14005e02b
jmp 0x14005e0ca
mov edx, dword [0x140202d50]
xor edx, 0x126a42af
mov eax, dword [0x140202d54]
xor eax, 0xffffffff
add edx, eax
mov eax, 0xfc74250f
xor eax, 0xfc74250e
add edx, eax
mov eax, edx
and eax, 0x96fc5854
shl eax, 1
xor edx, 0x96fc5854
add edx, eax
mov ecx, 0xd23d215b
xor ecx, 0x172070d7
mov eax, edx
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc51d518c
and edx, ecx
shl edx, 1
sub edx, eax
mov ecx, edx
xor ecx, 0x9d1709bb
mov eax, 0xffffffff
xor eax, 0x9d1709bb
and edx, eax
mov eax, 0x42bdf447
xor eax, 0x42bdf445
imul eax, edx
sub eax, ecx
cmp eax, 0xe6f9f110
jae 0x14005e0ff
mov eax, dword [0x140202d58]
xor eax, dword [0x140202d5c]
mov ecx, eax
and ecx, 0x11ce8338
shl ecx, 1
add eax, 0x11ce8338
sub eax, ecx
mov ecx, 0x82202363
xor ecx, 0x36741460
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3a28da52
or ecx, 0x3a28da52
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x99f17d99
xor ecx, 0xb1a6d9f2
cmp eax, ecx
je 0x14005e0ff
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x25]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x14005e08e
jmp 0x14005e02b
mov rax, qword [rbp - 0x18]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor ecx, ecx
sub rcx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
movabs r8, 0xbba3730a4cad8e9f
movabs rax, 0xbba3730a4cad8e9f
xor r8, rax
mov al, 1
cmp rdx, r8
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x14005e08e
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x14005e0ca
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x14005da0e
jmp 0x14005e0ca
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004dba0
add rsp, 0x20
lea rsp, [rbp + 0x70]
pop rdi
pop rsi
pop rbp
ret
pop rsi
xchg edx, eax
lea edx, [rbx - 0xa4817]
call [rdi]
ret 0x276
invalid
pop rsp
int3
movsb byte [rdi], byte [rsi]
out 0x75, eax
xlatb
jmp 0x14005dac8
mov ebx, dword [rbp - 0x59]
sub al, 0xe9
adc al, 0xfd
invalid
adc dword [rdx + 0x38], ebx
ja 0x14005e0ed
cmpsb byte [rsi], byte [rdi]
invalid