Function at 0x14004bbd0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rdx
mov rdi, rcx
call fcn.14007dd8d
mov ecx, 0x41c85b18
add ecx, 0xbe37a4e8
cmp eax, ecx
jne 0x14004bf88
jmp 0x14004c0a3
cmp eax, 0x1d1
jl 0x14004bfbd
jmp 0x14004c275
call fcn.14007df3f
mov ecx, 0x2732dab6
sub ecx, 0x2732dab6
cmp eax, ecx
jne 0x14004c0cb
jmp 0x14004bcb0
jmp 0x14004bed9
mov rax, qword [rsp + 0x58]
movabs rcx, 0x1c3e9f0cd34b07e
movabs rdx, 0x1c3e9f0cd34b06f
sub rcx, rdx
mov qword [rax], rcx
mov rax, qword [rsp + 0x50]
xor ecx, ecx
shl cl, 1
xor edx, edx
shr dl, 7
or cl, dl
mov byte [rax], cl
mov rax, qword [rsp + 0x38]
mov cl, 0x40
shl cl, 2
mov dl, 0x40
shr dl, 6
or cl, dl
mov byte [rax], cl
mov eax, 0x3940
shr eax, 5
mov ecx, 0x3940
shl ecx, 0x1b
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
mov rax, qword [rsp + 0x38]
mov cl, 0x64
sub cl, 0x64
mov byte [rax], cl
mov al, byte [rsi + 0x98]
mov byte [rsp + 0x25], al
mov eax, 0x56774a27
add eax, 0xa988b7a9
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
call fcn.14007df7d
mov ecx, 0x38050e56
xor ecx, 0x38050e56
movabs rdx, 0x6eaf57e94b80c436
movabs r8, 0x9150a816b47f3bd9
add rdx, r8
mov qword [rsi + 0x68], rdx
mov rdx, qword [rsp + 0x30]
mov r8b, 0x28
sub r8b, 0x28
mov byte [rdx], r8b
mov rdx, qword [rsp + 0x28]
mov r8b, 0x2a
sub r8b, 0x29
mov byte [rdx], r8b
mov edx, 0x5763ce05
add edx, 0xa89c33c2
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14004c30d
jmp 0x14004c0cb
mov dword [rsp + 0x20], 0x1ca
mov eax, dword [0x140115abc]
add eax, 0x14d9b953
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140115ac0]
xor ecx, 0x538ef087
sub rax, rcx
jmp rax
mov rax, rsi
add rax, 0x50
mov qword [rsp + 0x30], rax
mov eax, 0x1d892af9
sub eax, 0x1d892931
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
call fcn.14007dfba
mov ecx, 0x58a11383
add ecx, 0xa75eec7d
cmp eax, ecx
jne 0x14004c2f3
jmp 0x14004c312
mov eax, dword [rsi]
mov dword [rdi], eax
mov rcx, rdi
add rcx, 8
mov rax, rsi
add rax, 8
mov qword [rsp + 0x60], rax
xor edx, edx
mov r8d, 0x20
call fcn.1400d8c10
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov qword [rdi + 8], rcx
mov rcx, qword [rax + 8]
mov qword [rdi + 0x10], rcx
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x18], rcx
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x20], rax
xor eax, eax
shr rax, 0x11
xor ecx, ecx
shl rcx, 0x2f
or rax, rcx
mov qword [rsi + 0x18], rax
movabs rax, 0x1a681b7b7b293e46
movabs rcx, 0x1a681b7b7b293e37
sub rax, rcx
mov qword [rsi + 0x20], rax
mov eax, 0x39c0
shl eax, 0x1b
mov ecx, 0x39c0
shr ecx, 5
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
call fcn.14007de7f
xor ecx, ecx
shl ecx, 0x16
xor edx, edx
shr edx, 0xa
or ecx, edx
cmp eax, ecx
jne 0x14004bf35
jmp case.default.0x14004bf86
jmp 0x14004bc26
cmp eax, 0x1cb
jl 0x14004c1dc
jmp 0x14004c2a7
mov rax, qword [rsp + 0x48]
movabs rcx, 0xeab008be26afb59
movabs rdx, 0xeab008be26afb59
sub rcx, rdx
mov qword [rax], rcx
mov rax, rsi
add rax, 0x90
mov qword [rsp + 0x58], rax
mov eax, 0x18dcdc6
xor eax, 0x18dcc0b
mov dword [rsp + 0x20], eax
jmp 0x14004be83
call fcn.14007de4c
mov ecx, 0x4adf9caf
sub ecx, 0x4adf9caf
mov rdx, qword [rsp + 0x48]
movabs r8, 0x7af4c237900bc038
movabs r9, 0x850b3dc86ff43fc8
add r8, r9
mov qword [rdx], r8
mov rdx, rsi
add rdx, 0x90
mov qword [rsp + 0x58], rdx
mov edx, 0x67d7b178
sub edx, 0x67d7afab
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14004be83
jmp 0x14004c285
mov eax, dword [rsp + 0x20]
jmp 0x14004c2b7
cmp eax, 0x1ce
jl 0x14004bc2b
jmp 0x14004c344
mov rax, qword [rsp + 0x40]
mov cx, word [rsp + 0x26]
mov word [rax], cx
mov rax, rdi
add rax, 0x70
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov eax, dword [0x140115ac4]
rol eax, 4
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140115ac8]
rol ecx, 0xd
sub rax, rcx
jmp rax
call fcn.14007ded4
mov ecx, 0x27b4c14c
add ecx, 0xd84b3eb4
mov edx, 0xce546121
xor edx, 0xce5460eb
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne case.default.0x14004bf86
mov eax, dword [0x140115ab4]
add eax, 0xca56199f
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140115ab8]
add ecx, 0x6deec70
movsxd rcx, ecx
sub rax, rcx
jmp rax
mov eax, 0x314ee96
xor eax, 0x314ef44
mov dword [rsp + 0x20], eax
jmp 0x14004bbf4
jmp 0x14004bed9
call fcn.14007ddf8
mov ecx, 0x24c99974
xor ecx, 0x24c99974
cmp eax, ecx
jne 0x14004be81
jmp 0x14004be46
test byte [rsp + 0x25], 1
jne 0x14004c241
jmp 0x14004be13
call fcn.14007e0a2
mov edx, 0x6d11d8ee
sub edx, 0x6d11d8ee
mov rcx, qword [rsp + 0x40]
mov r8w, word [rsp + 0x26]
mov word [rcx], r8w
mov rcx, rdi
add rcx, 0x70
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x28]
mov r8b, 0x41
sub r8b, 0x41
mov byte [rcx], r8b
mov cl, byte [rsi + 0x70]
cmp eax, edx
jne 0x14004c121
jmp 0x14004bef2
call fcn.14007ddc2
mov ecx, 0x273232d7
xor ecx, 0x273232d7
mov edx, 0x154a9231
add edx, 0xeab56fa1
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14004c0a3
jmp 0x14004bf9b
movabs rax, 0x7b76a89bf6ab2f9e
movabs rcx, 0x7b76a89bf6ab2f8f
sub rax, rcx
mov qword [rsi + 0x68], rax
mov rax, qword [rsp + 0x30]
mov cl, 0x19
sub cl, 0x19
mov byte [rax], cl
mov rax, qword [rsp + 0x28]
mov cl, 0x5f
add cl, 0xa2
mov byte [rax], cl
mov eax, 0x68801f77
add eax, 0x977fe250
mov dword [rsp + 0x20], eax
jmp 0x14004bcb0
cmp eax, 0x1ca
jl 0x14004c3c2
jmp 0x14004be36
test cl, 1
jne 0x14004c2c4
jmp 0x14004bd65
mov rax, qword [rsp + 0x60]
mov cl, 0x56
xor cl, 0x56
mov byte [rax], cl
mov rcx, rdi
add rcx, 0x28
xor edx, edx
mov r8d, 0x20
call fcn.1400d8c10
mov rax, qword [rsi + 0x28]
mov qword [rdi + 0x28], rax
mov rax, qword [rsi + 0x30]
mov qword [rdi + 0x30], rax
mov rax, qword [rsi + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [rsi + 0x40]
mov qword [rdi + 0x40], rax
movabs rax, 0x419c3d0c18171799
movabs rcx, 0x419c3d0c18171799
xor rax, rcx
mov qword [rsi + 0x38], rax
movabs rax, 0x94f2a8b80538b00f
movabs rcx, 0x94f2a8b80538b000
xor rax, rcx
mov qword [rsi + 0x40], rax
mov al, 0x66
add al, 0x9a
mov byte [rsi + 0x28], al
mov rax, rdi
add rax, 0x48
mov qword [rsp + 0x40], rax
mov ax, word [rsi + 0x48]
mov word [rsp + 0x26], ax
mov eax, 0xc0000073
shr eax, 0x1e
mov ecx, 0xc0000073
shl ecx, 2
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
add rsp, 0x68
pop rdi
pop rsi
ret
xor ecx, ecx
sub eax, 0x1c7
sete cl
lea rax, case.0x14004c207.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140115ab0]
xor ecx, 0xe9040c43
sub rax, rcx
jmp rax
mov eax, 0xeeeadc5f
xor eax, 0xeeeadd99
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
cmp eax, 0x1d2
jl 0x14004bd46
jmp 0x14004bd82
jmp 0x14004bc26
call fcn.14005886c
xor ecx, ecx
shr ecx, 0x1f
xor edx, edx
shl edx, 1
or ecx, edx
cmp eax, ecx
jne 0x14004c03b
jmp 0x14004bef2
cmp eax, 0x1cc
jl 0x14004bfa0
jmp 0x14004bc09
cmp eax, 0x1cd
jl 0x14004c111
jmp 0x14004c2e3
mov eax, 0x32f37011
sub eax, 0x32f36e40
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
cmp eax, 0x1c9
jl 0x14004c354
jmp 0x14004bc87
cmp eax, 0x1d0
jl 0x14004bee2
jmp 0x14004bbf9
mov eax, 0x38e
shl eax, 0x1f
mov ecx, 0x38e
shr ecx, 1
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14004bd7d
jmp 0x14004bc26
call fcn.14007dff6
mov ecx, 0x461f3d
xor ecx, 0x461f3d
mov edx, 0x38e00
shl edx, 0x17
mov r8d, 0x38e00
shr r8d, 9
or edx, r8d
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14004c312
jmp 0x14004be31
cmp eax, 0x1cf
jl 0x14004c12f
jmp 0x14004c28a
mov rcx, rdi
add rcx, 0x50
xor edx, edx
mov r8d, 0x20
call fcn.1400d8c10
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rdi + 0x50], rcx
mov rcx, qword [rax + 8]
mov qword [rdi + 0x58], rcx
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x60], rcx
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x68], rax
movabs rax, 0x4c00570d2af5f9da
movabs rcx, 0x4c00570d2af5f9da
sub rax, rcx
mov qword [rsi + 0x60], rax
mov eax, 0xe60000
shr eax, 0xf
mov ecx, 0xe60000
shl ecx, 0x11
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14004bc26
cmp eax, 0x1c8
jl 0x14004c1e3
jmp 0x14004c2d7
mov rdi, r14
mov r8, rsi
mov rdx, rdi
jmp 0x1400a8655
mov rcx, r15
call fcn.1400871fc
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
test byte [rdi + 0x48000000], bl
cmp dword [rcx], ebx
jne 0x1400a8751
lea ecx, [rbx + 0x20]
call fcn.140086460
mov rdi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400a8727
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.140090724
nop
mov dword [rsp + 0x20], 1
cmp qword [rax + 0x18], 0xf
jbe 0x1400a86f3
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140030eb0
mov ebx, 3
and dword [rdi + 8], 0
lea rax, vtable.std::collate_char_.0
mov qword [rdi], rax
lea rcx, [rsp + 0x28]
call fcn.1400ae6d4
movups xmm0, xmmword [rax]
movdqu xmmword [rdi + 0x10], xmm0
jmp 0x1400a8729
xor edi, edi
mov qword [rsi], rdi
test bl, 2
je 0x1400a873f
and ebx, 0xfffffffd
lea rcx, [rsp + 0x38]
call fcn.140031df0
nop
test bl, 1
je 0x1400a8751
lea rcx, [rsp + 0xa0]
call fcn.140087070
mov eax, 1
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400865d0
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop rdi
pop rsi
pop rbp
ret