Function at 0x14005ba10
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x140
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov ecx, dword [0x140274d80]
mov r8d, dword [0x140274d84]
mov edx, 0xdb2cc23
xor edx, 0xf24d33dc
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0x5284c41a
xor edx, 0xad7b3be5
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x34c416d4
xor edx, 0xcb3be92b
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
or eax, 0x5f134496
mov ecx, 0xa04f3861
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x3d5689bc
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xacca8998
xor ecx, 0xaf41b014
cmp eax, ecx
jae 0x14005c3c0
mov eax, dword [0x140274d88]
mov edx, dword [0x140274d8c]
mov ecx, eax
and ecx, edx
xor ecx, 0xffffffff
and eax, edx
mov edx, 0x4e0bd837
xor edx, 0xb1f427c8
xor eax, edx
mov edx, 0x6df706b1
xor edx, 0x9208f94e
xor ecx, edx
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe3b178c3
mov r8d, 0xddab01db
xor r8d, 0x3e1a7918
mov r9d, 0x9a55ba28
xor r9d, 0x65aa45d7
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xe3b178c3
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x9a33bb58
add eax, ecx
mov ecx, 0x572045b1
xor ecx, 0x6f3c7e90
xor edx, edx
div ecx
mov dword [rsp + 0x114], eax
mov eax, 0xe85a2fec
xor eax, 0xaa64ec2d
mov dword [rsp + 0x110], eax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rdx, qword [rsp + 0x130]
mov ecx, dword [rsp + 0x110]
mov r8, rax
mov eax, dword [rsp + 0x114]
add r8, 0x60
mov qword [rsp + 0x118], r8
movabs r8, 0xc801424e1c586f6c
movabs r9, 0xc801424e1c586f6c
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rsp + 0x127], dl
cmp eax, ecx
jae 0x14005c3c0
mov dl, byte [rsp + 0x127]
mov rcx, 0xffffffffffffffff
xor eax, eax
test dl, 1
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
jne 0x14005bc05
jmp 0x14005bc95
mov rax, qword [rsp + 0x138]
mov dl, byte [rax]
mov byte [rsp + 0xff], dl
mov rcx, 0xffffffffffffffff
mov eax, 1
cmp dl, 0x2b
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
je 0x14005bc95
mov r8b, byte [rsp + 0xff]
cmp r8b, 0x2d
sete al
movabs rdx, 0xcc9f912a78617342
movabs rcx, 0xcc9f912a78617343
xor rdx, rcx
movabs rcx, 0x6315ac466fe8259
movabs r9, 0xf9cea53b99017da6
xor rcx, r9
cmp r8b, 0x2d
cmove rcx, rdx
and al, 1
movzx eax, al
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
mov rdx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0xf0], rax
jge 0x14005c3af
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xe0]
mov cl, byte [rax + rcx]
add cl, 0xd0
xor eax, eax
cmp cl, 0xa
mov qword [rsp + 0xf0], rax
jae 0x14005c3af
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x128]
movabs rdx, 0xabd087156cb1462c
movabs r8, 0xabd087156cb1462c
xor rdx, r8
mov qword [rcx], rdx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd0], rax
cmp rax, 0xffffffffffffffff
jg 0x14005bd83
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x130]
movabs rax, 0xfa728eac8e0660a1
movabs r8, 0x58d715371f99f5e
xor rax, r8
add rdx, rax
call fcn.1400292ad
xor eax, eax
mov qword [rsp + 0xf0], rax
jmp 0x14005c3af
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x138]
mov cl, byte [rcx + rax]
mov byte [rsp + 0xc7], cl
mov dl, 0x34
xor dl, 0xe4
add cl, dl
mov dl, 0x45
xor dl, 0x4f
cmp cl, dl
mov qword [rsp + 0xc8], rax
jae 0x14005c290
mov al, byte [rsp + 0xc7]
movzx eax, al
mov ecx, eax
movabs rdx, 0x145a5e84f5b43261
movabs rax, 0xeba5a17b0a4bcdb1
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rsp + 0xb0], rax
movabs rax, 0xc56726ebb4bead87
movabs rdx, 0x456726ebb4beadb7
xor rax, rdx
sub rax, rcx
mov ecx, 0xa
xor edx, edx
div rcx
mov r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, r8
xor rdx, 0
xor r8, 0xffffffffffffffff
and r8, 0
movabs rcx, 0x5ca3cd54e4e5eaa3
movabs r9, 0x5ca3cd54e4e5eaa1
xor rcx, r9
imul rcx, r8
sub rcx, rdx
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
cmp rax, rcx
jl 0x14005c098
mov rcx, qword [rsp + 0xb8]
imul rax, rcx, 0xa
mov qword [rsp + 0x98], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140281ff0]
mulsd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0xa8], xmm1
ucomisd xmm0, xmm1
jne 0x14005beab
jp 0x14005beab
jmp 0x14005bf13
movsd xmm1, qword [rsp + 0xa0]
movsd xmm0, qword [rsp + 0xa8]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0xa0]
movsd qword [rsp + 0x90], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x90]
movsd xmm2, qword [0x140281ff8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14005bf13
call fcn.14000f24b
xor eax, eax
mov qword [rsp + 0xf0], rax
jmp 0x14005c3af
mov eax, dword [0x140274d90]
xor eax, dword [0x140274d94]
mov edx, 0xab4017d7
xor edx, 0xdc11dd1b
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x7751cacc
add eax, ecx
xor eax, 0x242ea9bf
sub eax, 0x6e7706ef
mov ecx, 0x2d10537e
xor ecx, 0xc9f93c64
cmp eax, ecx
ja 0x14005c3c9
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x98]
mov eax, dword [0x140274d98]
xor edx, edx
div dword [0x140274d9c]
mov ecx, 0x8b28b455
xor ecx, 0x444aad17
xor eax, ecx
or eax, 0xc9ffb896
add eax, 0xc65aee13
mov ecx, 0xa7ec20c
xor ecx, 0x293712d0
mov r9, r11
sub r9, r10
mov qword [rsp + 0x80], r9
mov r8, r9
xor r8, 0xffffffffffffffff
mov rdx, r11
and rdx, r8
xor r11, 0xffffffffffffffff
mov r8, r9
and r8, r11
or rdx, r8
cmp rdx, 0
setl dl
mov r8, r9
or r8, r8
xor r8, 0xffffffffffffffff
mov r11, r10
xor r11, 0xffffffffffffffff
mov rsi, r10
xor rsi, 0xffffffffffffffff
and r11, rsi
or r8, r11
movabs r11, 0x47d1b82a4a67768
movabs rsi, 0xfb82e47d5b598897
xor r11, rsi
xor r8, r11
xor r9, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
xor r8, 0xffffffffffffffff
movabs r10, 0x1211b6170a95e053
movabs r11, 0xedee49e8f56a1fac
xor r10, r11
xor r9, r10
and r8, r9
movabs r9, 0x9225c4c3a2274ff8
movabs r10, 0x6dda3b3c5dd8b007
xor r9, r10
cmp r8, r9
setg r8b
and dl, r8b
mov byte [rsp + 0x8f], dl
cmp eax, ecx
jbe 0x14005bf55
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x14005c06c
jmp 0x14005c080
call fcn.14000f24b
xor eax, eax
mov qword [rsp + 0xf0], rax
jmp 0x14005c3af
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
jmp 0x14005c0be
call fcn.14005b977
mov rax, qword [rsp + 0x118]
mov cl, byte [rax]
mov dl, 0x8a
xor dl, 0x8a
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xf0], rax
jne 0x14005c3af
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x130]
mov rcx, rax
add rcx, 1
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rsp + 0x68], rcx
movabs rdx, 0xe39e2512bb903f13
movabs r8, 0xe39e2512bb903f13
xor rdx, r8
sub rdx, rcx
movabs rcx, 0x9a3d724a2d52c0ce
movabs r8, 0x9a3d724a2d52c0ce
xor rcx, r8
movabs r8, 0xd914afe535d2d573
movabs r9, 0x26eb501aca2d2a8c
xor r8, r9
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov ecx, dword [0x140274da0]
xor ecx, 0xb92d8833
or ecx, dword [0x140274da4]
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6c6f974f
mov eax, 0xffffffff
xor eax, 0x7fb345fd
or ecx, edx
or eax, 0x7fb345fd
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0xcb46ea27
xor edx, 0x34b915d8
mov eax, ecx
xor eax, edx
and eax, 0x7ed721fa
mov edx, 0xffffffff
xor edx, 0x7ed721fa
and ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0xede24ead
shl ecx, 1
add eax, 0xede24ead
sub eax, ecx
cmp eax, 0xf3827b38
jb 0x14005c3d2
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140274da8]
xor eax, 0x31e39217
mov edx, dword [0x140274dac]
xor edx, 0xdb9fe5af
xor eax, edx
mov r8d, 0xd54dfa53
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x70]
mov r8d, 0x56186ea8
xor r8d, 0xf788ad67
add eax, r8d
or eax, 0x19f93da1
cmp rcx, rdx
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xa9d1e49a
jbe 0x14005c1c1
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x5f]
test cl, 1
mov qword [rsp + 0xc8], rax
jne 0x14005c290
jmp 0x14005c238
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x50], rax
mov cl, byte [rcx + rdx + 1]
mov dl, 0xa9
xor dl, 0xf6
cmp cl, dl
mov qword [rsp + 0x78], rax
je 0x14005c141
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x130]
cmp rax, rcx
mov rcx, rax
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
jl 0x14005bd2b
mov rcx, qword [rsp + 0x128]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x40], rdx
not rax
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
movabs rdx, 0x8000000000000000
xor rcx, rdx
or rax, rcx
sete al
test al, 1
jne 0x14005c2d8
jmp 0x14005c2ec
call fcn.14005b977
xor eax, eax
mov qword [rsp + 0xf0], rax
jmp 0x14005c3af
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x28], rax
cvtsi2sd xmm1, rdx
cvtsi2sd xmm0, rcx
mulsd xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x38], xmm1
ucomisd xmm0, xmm1
jne 0x14005c339
jp 0x14005c339
jmp 0x14005c392
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x20], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x20]
movsd xmm2, qword [0x140281ff8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14005c392
call fcn.14000f24b
xor eax, eax
mov qword [rsp + 0xf0], rax
jmp 0x14005c3af
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x28]
mov qword [rcx], rdx
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xf0]
add rsp, 0x140
pop rsi
ret
mov edi, 0xe98b6a58
cli
idiv bh
inc esi
in eax, dx
insd dword [rdi], dx
test eax, 0xfffb83e9
call [rbp + rdi*4 - 0x1916bf00]
invalid
pushfq
mov ebp, 0xe6e94100
std
invalid