Function at 0x1400b4fa0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov qword [rbp + 8], rcx
mov ecx, dword [0x1401f6830]
xor ecx, 0x51454b8a
mov eax, dword [0x1401f6834]
mov edx, 0xbc961136
xor edx, 0x1a0fda7b
xor eax, edx
add ecx, eax
xor ecx, 0x41ca4173
mov edx, 0x422512e8
xor edx, 0xbddaed17
mov eax, ecx
xor eax, edx
mov edx, 0xa58e936b
xor edx, 0x3ebe781f
mov r8d, 0x991701ae
xor r8d, 0x66e8fe51
xor edx, r8d
and eax, edx
mov edx, 0x97ca6511
xor edx, 0x68359aee
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x9b30eb74
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
and edx, 0xe70db51c
mov ecx, 0x57eaee2c
xor ecx, 0x57eaee2e
imul ecx, edx
mov edx, 0x9d93c08e
xor edx, 0x7a9e7592
add eax, edx
sub eax, ecx
mov ecx, 0xa4d50b95
xor ecx, 0x79e7aaf0
cmp eax, ecx
ja 0x1400b5595
xor eax, eax
mov dword [rbp - 0xc], eax
mov eax, 0x120
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x20
mov qword [rbp - 0x40], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1400b6082
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x60
mov qword [rbp - 0x28], rax
mov edx, 0x11c
sub rsp, 0x20
call fcn.1400b55a7
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov eax, 0xa0be5931
xor eax, 0xa0be582d
mov dword [rcx], eax
sub rsp, 0x20
call fcn.1400b4f71
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 8], edx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0x6b76dbe6
ja 0x1400b5595
mov al, byte [rbp - 1]
test al, 1
jne 0x1400b5149
jmp 0x1400b51ba
mov eax, dword [rbp - 8]
cmp eax, 0
je 0x1400b51bf
mov rcx, qword [rbp - 0x48]
movabs rdx, 0xf4170d2ff8895ee2
movabs rax, 0xf4170d2ff8895ef6
xor rdx, rax
sub rsp, 0x20
call fcn.1400b55a7
mov rcx, qword [rbp - 0x48]
call fcn.1400b5627
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x2f
xor cl, 0x2f
cmp al, cl
jne 0x1400b51ba
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
jmp 0x1400b558b
jmp 0x1400b53f8
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax + 4]
mov dword [rbp - 0x60], ecx
mov edx, dword [rax + 8]
mov dword [rbp - 0x5c], edx
mov eax, dword [rax + 0xc]
mov dword [rbp - 0x58], eax
mov al, 1
cmp ecx, 5
mov byte [rbp - 0x51], al
je 0x1400b5359
mov rax, qword [rbp - 0x20]
mov edx, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x60]
sub ecx, 6
sete cl
mov byte [rbp - 0x64], cl
test edx, edx
sete dl
and cl, dl
mov byte [rbp - 0x63], cl
mov al, byte [rax + 0x11a]
mov byte [rbp - 0x62], al
sub al, 1
sete al
mov byte [rbp - 0x61], al
and cl, al
mov al, 2
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov cl, byte [rbp - 0x63]
mov al, byte [rbp - 0x62]
sub al, 1
setne al
mov byte [rbp - 0x65], al
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x65]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 1
sete dl
and cl, dl
mov byte [rbp - 0x66], cl
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x66]
and cl, al
mov al, 6
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x65]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 2
sete dl
and cl, dl
mov byte [rbp - 0x67], cl
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x67]
and cl, al
mov al, 8
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 3
sete dl
and cl, dl
mov byte [rbp - 0x68], cl
and cl, al
mov al, 9
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x65]
mov cl, byte [rbp - 0x68]
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov al, byte [rbp - 0x65]
mov ecx, dword [rbp - 0x60]
sub ecx, 0xa
sete cl
mov byte [rbp - 0x69], cl
and cl, al
mov al, 0xb
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov cl, byte [rbp - 0x69]
mov eax, dword [rbp - 0x58]
sub eax, 0x55f0
setl al
and cl, al
mov al, 0xa
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400b5359
mov cl, byte [rbp - 0x69]
mov eax, dword [rbp - 0x58]
sub eax, 0x55f0
setge al
and cl, al
mov al, 0xc
xor edx, edx
mov byte [rbp - 0x6b], dl
test cl, 1
mov byte [rbp - 0x6a], al
jne 0x1400b5353
mov al, byte [rbp - 0x6b]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x6a]
mov byte [rbp - 0x51], al
mov rcx, qword [rbp - 0x50]
mov al, byte [rbp - 0x51]
mov byte [rbp - 0x6c], al
mov edx, 0x14
sub rsp, 0x20
call fcn.1400b55a7
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov edx, 0x14
sub rsp, 0x20
call fcn.1400b55a7
mov r11b, byte [rbp - 0x6c]
mov r10d, dword [rbp - 0x60]
mov r9d, dword [rbp - 0x5c]
mov r8d, dword [rbp - 0x58]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov byte [rdx + 0x10], 1
mov byte [rdx], r11b
mov dword [rdx + 4], r10d
mov dword [rdx + 8], r9d
mov dword [rdx + 0xc], r8d
mov r8, qword [rdx]
mov qword [rcx], r8
mov r8, qword [rdx + 8]
mov qword [rcx + 8], r8
mov edx, dword [rdx + 0x10]
mov dword [rcx + 0x10], edx
cmp byte [rax], 0
jne 0x1400b53f8
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
jmp 0x1400b558b
mov ecx, dword [0x1401f6840]
mov eax, 0xf3e89f82
xor eax, 0x38421da2
xor ecx, eax
mov edx, dword [0x1401f6844]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9461f27a
mov r8d, 0xffffffff
xor r8d, 0x9461f27a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9461f27a
mov r8d, 0x75b2e2a3
xor r8d, 0xe1d310d9
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xec597981
xor edx, edx
div ecx
mov ecx, 0x9b792a10
xor ecx, 0x28d7e51b
xor edx, edx
div ecx
cmp eax, 0x661037cf
jae 0x1400b559e
mov eax, dword [0x1401f6848]
xor eax, 0xfa077eed
and eax, dword [0x1401f684c]
or eax, 0xdbc69c26
mov ecx, 0x7eda919f
xor ecx, 0xa7ce17e1
xor edx, edx
div ecx
mov ecx, 0xdaf77a35
xor edx, edx
div ecx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1400b6082
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x6d], cl
cmp eax, 0xc6990ba0
jae 0x1400b5478
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1400b54ed
jmp 0x1400b558b
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1400b558b
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov dl, 0xd6
xor dl, 0xd6
mov byte [rax], dl
mov edx, 0x14
sub rsp, 0x20
call fcn.1400b55a7
mov rcx, qword [rbp - 0x30]
call fcn.1400b5627
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400b558b
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
sub rsp, 0x20
call fcn.1400b6082
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor eax, eax
mov r8b, al
xor r8b, 0
and r8b, 1
sub rsp, 0x20
call fcn.140015b08
add rsp, 0x20
mov rax, qword [rbp + 8]
lea rsp, [rbp + 0x10]
pop rbp
ret
scasb al, byte [rdi]
adc al, 0x2e
ret 0xc4e9
out 0xcb, al
jrcxz 0x1400b55cd
jmp 0x1400b5478