Function at 0x140438710
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, qword [0x140682ee8]
xor rax, rsp
mov qword [rsp + 0x50], rax
test ecx, ecx
je 0x140438f07
mov ebx, ecx
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x28], 0xbab98702
mov dword [rsp + 0x20], 0x52956c4b
xor edi, edi
lea r8, [rsp + 0x48]
mov ecx, 1
xor edx, edx
mov r9d, 0x7c347c69
call fcn.1404396d0
mov rsi, rax
test rax, rax
sete al
movzx ecx, byte [0x140694504]
test cl, al
jne 0x140438f3d
xor cl, al
jne 0x140438f3d
xor eax, eax
test al, al
nop
mov eax, dword [rsi]
mov ecx, dword [0x140697010]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x140438790
xor edi, edi
test eax, eax
je 0x140438f0b
cmp dword [rsi], 0
je 0x140438f0b
mov r15, rsi
add r15, 8
mov eax, ebx
not eax
xor ebx, 0x800
and eax, 0xfffff7ff
or eax, ebx
not eax
mov dword [rsp + 0x44], eax
xor r12d, r12d
mov r13b, 1
xor edi, edi
xor ebx, ebx
jmp 0x1404387f5
xor ebp, ebp
or edi, ebp
add r15, 0x128
inc ebx
cmp ebx, dword [rsi]
jae 0x140438f0b
movzx eax, word [r15 + 0x26]
lea r14, [r15 + rax]
add r14, 0x28
mov dword [rsp + 0x20], 0xbbd5873a
mov ecx, 1
mov edx, 1
mov r8, r14
xor r9d, r9d
call fcn.1404394a0
cmp eax, 9
je 0x1404388e0
cmp eax, 0xa
jne 0x1404387e0
movzx eax, byte [r14]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
xor ebp, ebp
cmp cl, 0x73
jne 0x1404387e2
movzx eax, byte [r14 + 1]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x69
jne 0x1404387e2
movzx eax, byte [r14 + 2]
mov ecx, eax
xor cl, 0xbf
mov edx, eax
and dl, 0x3f
add dl, dl
add dl, cl
lea ecx, [rax + 0x58]
mov r8d, ecx
xor r8b, 0xe0
and cl, 0x60
add cl, cl
add cl, r8b
add cl, 0xa8
cmp dl, 0x1a
movzx ecx, cl
cmovae ecx, eax
cmp cl, 0x77
jne 0x1404387e2
movzx eax, byte [r14 + 3]
mov ecx, eax
xor cl, 0xbf
mov edx, eax
and dl, 0x3f
add dl, dl
add dl, cl
lea ecx, [rax - 0x20]
cmp dl, 0x1a
movzx ecx, cl
cmovae ecx, eax
cmp cl, 0x76
jne 0x1404387e2
mov eax, dword [0x140697014]
cmp eax, 0x2e
jg 0x140438cb8
jmp 0x140438c1f
mov eax, dword [0x140697010]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
movzx ecx, byte [r14]
lea eax, [rcx - 0x41]
mov edx, ecx
xor dl, 0xe0
mov r8d, ecx
and r8b, 0x60
add r8b, r8b
add r8b, dl
cmp al, 0x1a
movzx eax, r8b
cmovae eax, ecx
test r12b, r12b
jne 0x1404388ef
cmp al, 0x6e
je 0x14043893a
movzx ecx, al
cmp ecx, 0x73
jne 0x1404389ab
mov eax, dword [0x140697014]
cmp eax, 0xb
jg 0x140438d80
jmp 0x140438d40
movzx eax, byte [r14 + 1]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
xor ebp, ebp
cmp cl, 0x74
jne 0x1404387e2
nop dword [rax]
mov eax, dword [0x140697010]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14043899e
movzx ecx, byte [r14 + 2]
mov eax, ecx
xor al, 0xbf
mov edx, ecx
and dl, 0x3f
add dl, dl
add dl, al
lea eax, [rcx - 0x20]
cmp dl, 0x1a
movzx eax, al
cmovae eax, ecx
mov ecx, dword [0x140697014]
cmp ecx, 0x32
jle 0x140438ac6
mov eax, dword [0x140697014]
cmp eax, 0xf
jge 0x140438960
jmp 0x140438971
xor ebp, ebp
cmp dword [rsp + 0x44], 0
je 0x1404387e2
cmp al, 0x6b
jne 0x1404387e2
movzx eax, byte [r14 + 1]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x64
jne 0x1404387e2
movzx eax, byte [r14 + 2]
mov ecx, eax
xor cl, 0xbf
mov edx, eax
and dl, 0x3f
add dl, dl
mov r8d, ecx
xor r8b, dl
and dl, cl
add dl, dl
add dl, r8b
lea ecx, [rax - 0x20]
cmp dl, 0x1a
movzx ecx, cl
cmovae ecx, eax
cmp cl, 0x6e
jne 0x1404387e2
movzx eax, byte [r14 + 3]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x69
jne 0x1404387e2
movzx eax, byte [r14 + 4]
lea ecx, [rax - 0x41]
mov edx, eax
xor dl, 0xe0
mov r8d, eax
and r8b, 0x60
add r8b, r8b
add r8b, dl
cmp cl, 0x1a
movzx ecx, r8b
cmovae ecx, eax
cmp cl, 0x63
jne 0x1404387e2
movzx eax, byte [r14 + 5]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x2e
jne 0x1404387e2
lea rax, [fcn.140438710]
add eax, eax
add eax, 0x1a80
mov ecx, eax
not ecx
test ecx, eax
jne 0x140438ab9
movzx ecx, byte [r14 + 6]
lea eax, [rcx - 0x41]
mov edx, ecx
xor dl, 0xe0
mov r8d, ecx
and r8b, 0x60
add r8b, r8b
add r8b, dl
cmp al, 0x1a
movzx eax, r8b
cmovae eax, ecx
test r12b, r12b
je 0x140438b9a
mov eax, dword [0x140697014]
cmp eax, 0xc
jge 0x140438a77
jmp 0x140438a8d
cmp al, 0x69
jne 0x1404387e2
movzx eax, byte [r14 + 3]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x63
jne 0x1404387e2
movzx eax, byte [r14 + 4]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x65
jne 0x1404387e2
movzx eax, byte [r14 + 5]
mov ecx, eax
neg cl
mov edx, ecx
xor dl, 0x41
and cl, 0x41
add cl, cl
add cl, dl
neg cl
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x2e
jne 0x1404387e2
movzx eax, byte [r14 + 6]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x73
jne 0x1404387e2
movzx eax, byte [r14 + 7]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb dl
movzx r8d, byte [0x140693d70]
xor dl, r8b
lea r9d, [rax - 0x20]
movzx r9d, r9b
test dl, dl
cmovne eax, r9d
cmp cl, 0x1a
cmovae r9d, eax
test r8b, r8b
cmove r9d, eax
cmp r9b, 0x79
jne 0x1404387e2
movzx eax, byte [r14 + 8]
jmp 0x140438eaa
cmp al, 0x73
jne 0x1404387e2
movzx eax, byte [r14 + 7]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x79
jne 0x1404387e2
test r12b, r12b
jne 0x140438c00
movzx eax, byte [r14 + 8]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x68]
mov r8d, edx
xor r8b, 0x48
and dl, 0x48
add dl, dl
add dl, r8b
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
xor ebp, ebp
cmp cl, 0x73
sete al
mov ecx, dword [0x140697010]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140438c14
mov eax, dword [0x140697010]
mov ecx, eax
not ecx
imul ecx, eax
test cl, 1
jne 0x140438bbf
jmp 0x140438bc4
mov bpl, al
shl ebp, 0x14
jmp 0x1404387e2
movzx ecx, byte [r14 + 4]
lea eax, [rcx - 0x41]
lea edx, [rcx - 0x20]
cmp al, 0x1a
movzx eax, dl
cmovae eax, ecx
test r12b, r12b
jne 0x140438cb8
cmp al, 0x69
jne 0x1404387e2
movzx eax, byte [r14 + 5]
lea ecx, [rax - 0x41]
mov edx, eax
xor dl, 0xe0
mov r8d, eax
and r8b, 0x60
add r8b, r8b
add r8b, dl
cmp cl, 0x1a
movzx ecx, r8b
cmovae ecx, eax
cmp cl, 0x64
jne 0x1404387e2
mov eax, dword [0x140697010]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140438ca5
movzx ecx, byte [r14 + 6]
lea eax, [rcx - 0x41]
lea edx, [rcx - 0x20]
cmp al, 0x1a
movzx eax, dl
cmovae eax, ecx
mov ecx, dword [0x140697010]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140438cda
mov eax, dword [0x140697010]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140438c70
jmp 0x140438c81
mov ecx, 0x59
call fcn.1404ca39c
mov qword [0x140697008], rax
lea rcx, [0x140439520]
call fcn.1404ea090
jmp 0x140438c1f
cmp al, 0x2e
jne 0x1404387e2
movzx eax, byte [r14 + 7]
mov ecx, eax
xor cl, 0xbf
mov edx, eax
and dl, 0x3f
add dl, dl
add dl, cl
mov ecx, eax
xor cl, 0xe0
mov r8d, eax
xor r8b, 0x1f
and r8b, al
add r8b, r8b
add r8b, cl
cmp dl, 0x1a
movzx ecx, r8b
cmovae ecx, eax
cmp cl, 0x73
jne 0x1404387e2
mov eax, dword [0x140697010]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140438f00
jmp 0x140438eca
movzx ecx, byte [r14 + 1]
lea eax, [rcx - 0x41]
lea edx, [rcx - 0x20]
cmp al, 0x1a
movzx eax, dl
cmovae eax, ecx
mov ecx, dword [0x140697014]
cmp ecx, 0x19
jge 0x140438d80
cmp al, 0x79
jne 0x1404387e0
test r12b, r12b
jne 0x140438ea0
jmp 0x140438d97
mov dword [0x140697010], 1
mov eax, dword [0x140697014]
cmp eax, 0x13
jge 0x140438d80
jmp 0x140438d40
movzx ecx, byte [r14 + 2]
lea eax, [rcx - 0x41]
lea edx, [rcx - 0x20]
cmp al, 0x1a
movzx eax, dl
cmovae eax, ecx
mov ecx, dword [0x140697014]
cmp ecx, 0x2c
jge 0x140438ea0
cmp al, 0x73
jne 0x1404387e0
movzx eax, byte [r14 + 3]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x65
jne 0x1404387e0
movzx eax, byte [r14 + 4]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x72
jne 0x1404387e0
movzx eax, byte [r14 + 5]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x2e
jne 0x1404387e0
movzx eax, byte [r14 + 6]
lea ecx, [rax - 0x41]
mov edx, eax
xor dl, 0xe0
mov r8d, eax
and r8b, 0x60
add r8b, r8b
add r8b, dl
cmp cl, 0x1a
movzx ecx, r8b
cmovae ecx, eax
cmp cl, 0x73
jne 0x1404387e0
movzx eax, byte [r14 + 7]
lea ecx, [rax + 0x5d]
mov edx, ecx
xor dl, 0x62
and cl, 0x62
add cl, cl
add cl, dl
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x79
jne 0x1404387e0
movzx eax, byte [r14 + 8]
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
mov ebp, 0x10000
cmp cl, 0x73
jne 0x1404387e0
jmp 0x1404387e2
test r13b, r13b
je 0x140438ea0
jmp 0x140438d97
lea ecx, [rax - 0x41]
lea edx, [rax - 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
xor ebp, ebp
cmp cl, 0x73
sete bpl
shl ebp, 0x11
jmp 0x1404387e2
movzx ecx, byte [r14 + 8]
lea eax, [rcx - 0x41]
lea edx, [rcx - 0x20]
cmp al, 0x1a
movzx eax, dl
cmovae eax, ecx
mov ecx, dword [0x140697014]
cmp ecx, 0x55
jge 0x140438f00
cmp al, 0x79
jne 0x1404387e2
movzx eax, byte [r14 + 9]
jmp 0x140438eaa
test r13b, r13b
je 0x140438f00
jmp 0x140438eca
xor edi, edi
jmp 0x140438f3d
mov dword [rsp + 0x38], 0xa1a79d8b
mov dword [rsp + 0x30], 0x3ce82792
mov dword [rsp + 0x28], 0xf12a0952
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 1
mov r8, rsi
xor r9d, r9d
call fcn.140439670
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1404e9d20
mov eax, edi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret