Function at 0x140109ba0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14010a6cf
mov r8, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x58], rcx
mov qword [rax], 0
cmp r8, 0
jge 0x140109c38
mov rcx, qword [rbp + 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14010a681
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14010a6ea
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x14010a681
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
xor r8d, r8d
sub rsp, 0x20
call fcn.14010d086
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x22
xor cl, 0x22
cmp al, cl
jne 0x14010a681
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x30]
add rcx, 8
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rax
cmp rax, rcx
jle 0x14010a4b1
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x40]
mov qword [rcx], 0
mov rcx, rax
add rcx, 0xffffffffffffffff
mov qword [rbp], rcx
xor rcx, rax
cmp rcx, 0
setl cl
cmp rax, 0
setg al
and al, cl
test al, 1
jne 0x140109cf2
jmp 0x140109d04
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14010a3a2
mov ecx, dword [0x1401dbff0]
mov r8d, dword [0x1401dbff4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x21edd6ce
or ecx, 0x21edd6ce
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r8d, eax
and r8d, 0x1a48cd81
or eax, 0x1a48cd81
add r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x1b912c2c
xor eax, 0x2c48bade
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x37d996f2
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6aa60281
and ecx, 0x37d996f2
and edx, 0x6aa60281
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xab9831c6
je 0x14010a687
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
mov eax, dword [0x1401dbff8]
mov r10d, dword [0x1401dbffc]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
mov r11d, 0xc8da2c7e
xor r11d, 0x3725d381
xor r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, 0x99e3f327
xor r8d, 0xe36ae0fc
or eax, r8d
mov r10d, 0xffffffff
xor r10d, 0xf6b48266
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0xe2e98a00
xor r10d, 0x1d1675ff
xor r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xf6b48266
or eax, 0xf6b48266
imul eax, r9d
add eax, r8d
sub eax, 0xda18e66
sar rdx, 1
mov qword [rbp - 0x10], rdx
cmp rcx, 1
setl cl
mov byte [rbp - 1], cl
cmp eax, 0xe8d19d18
ja 0x140109db2
mov al, byte [rbp - 1]
test al, 1
jne 0x140109e83
jmp 0x140109ea7
mov rcx, qword [rbp - 0x10]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14010a3a2
mov eax, dword [0x1401dc000]
mov ecx, dword [0x1401dc004]
add eax, 0x52913ea4
add eax, ecx
mov ecx, 0x85cf4ec0
xor ecx, 0xd75e7064
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2c27392a
add eax, ecx
add eax, 1
imul eax, eax, 0xc4921510
or eax, 0xd3d374e1
mov ecx, 0x6c0efc5f
xor ecx, 0x941a1c4a
cmp eax, ecx
ja 0x14010a690
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401dc008]
mov edx, dword [0x1401dc00c]
xor edx, 0x76007bdf
add eax, edx
mov edx, 0x2ac166ff
xor edx, 0xeada7ce6
imul eax, edx
mov r8d, 0xf47db44f
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x10]
mov r8d, 0x84e94d2c
xor r8d, 0x17d690b3
and r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xbd4258c9
xor r9d, 0x2e7d8556
add eax, r9d
mov r9d, 0x543b5751
xor r9d, 0x543b5750
add eax, r9d
add eax, r8d
mov dword [rbp - 0x24], eax
sub rsp, 0x20
call fcn.14010a6ea
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x15daa0b7
jb 0x140109ef5
mov rax, qword [rbp + 8]
mov dl, byte [rbp - 0x11]
mov cl, 1
test dl, 1
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x140109fb1
jmp 0x14010a3b3
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
xor r8d, r8d
sub rsp, 0x20
call fcn.14010d086
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x14010a3b3
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14010a770
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x58]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp - 0x32], al
and al, cl
test al, 1
jne 0x14010a020
jmp 0x14010a27d
mov eax, dword [0x1401dc010]
mov ecx, 0x88cf31a9
xor ecx, 0x7c59c84b
xor eax, ecx
and eax, dword [0x1401dc014]
xor eax, 0xa547e8ba
mov r8d, 0xffffffff
xor r8d, 0x7e84866f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3095136e
xor r8d, 0xcf6aec91
xor ecx, r8d
imul ecx, edx
mov r8d, 0xcb6e8bc9
xor r8d, 0xb5ea0da6
mov edx, eax
and edx, r8d
or eax, 0x7e84866f
imul eax, edx
add eax, ecx
mov ecx, 0xcd9ba226
xor ecx, 0xf2a676a8
and eax, ecx
cmp eax, 0x32904461
je 0x14010a699
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x30]
mov eax, dword [0x1401dc018]
mov r8d, dword [0x1401dc01c]
mov r9d, 0xc3a64f40
xor r9d, 0xeb9b4677
xor r8d, r9d
and eax, r8d
mov r8d, 0xcdc68dac
xor r8d, 0xcd4b367
add eax, r8d
imul eax, eax, 0x3ebfc643
mov r8d, 0x5b005d67
xor r8d, 0xc6e07680
sub eax, r8d
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x33], cl
cmp eax, 0x615b7547
je 0x14010a09c
mov al, byte [rbp - 0x33]
test al, 1
jne 0x14010a133
jmp 0x14010a115
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14010a3a2
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14010d120
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x14010a3b3
mov ecx, dword [0x1401dc020]
mov edx, dword [0x1401dc024]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0xd58749eb
sub eax, 0xbb35fbeb
imul eax, eax, 0xe36d29de
cmp eax, 0x7a725bc7
jae 0x14010a6a2
mov rcx, qword [rbp + 0x40]
mov edx, dword [0x1401dc028]
mov r8d, dword [0x1401dc02c]
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
mov r8d, 0x6af2e1bc
xor r8d, 0xd5d39eb6
mov edx, eax
xor edx, r8d
mov r8d, 0x7736c41
xor r8d, 0xf88c93be
xor edx, r8d
mov r8d, 0x65e7e6f7
xor r8d, 0xdac699fd
and r8d, edx
mov edx, 0xf9f1fcda
xor edx, 0xf9f1fcd8
imul edx, r8d
mov r8d, 0xe885972e
xor r8d, 0x57a4e824
sub edx, r8d
sub eax, edx
mov r8d, 0xfaf4a80f
xor edx, edx
div r8d
mov edx, 0x864c81bc
xor edx, 0x116efe05
sub eax, edx
mov dword [rbp - 0x50], eax
sub rsp, 0x20
call fcn.14010d372
mov r8, qword [rbp + 0x58]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x50]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp - 0x49], r8b
cmp r8b, 0
cmove rcx, rdx
mov qword [rbp - 0x48], rcx
cmp eax, 0x64f401e8
jbe 0x14010a1a7
mov rax, qword [rbp - 0x48]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jmp 0x14010a3b3
mov eax, dword [0x1401dc030]
sub eax, dword [0x1401dc034]
mov ecx, 0x8c3184a1
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x5627cf80
xor eax, 0xf6f07b79
xor ecx, eax
mov eax, ecx
and eax, 0xa8763a49
xor eax, 0xffffffff
mov edx, 0x2c3aed5b
xor edx, 0xd3c512a4
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xa8763a49
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x7b14ab3e
jbe 0x14010a6ab
mov eax, dword [0x1401dc038]
mov ecx, 0xdf74b8d7
xor ecx, 0xb90a2e70
xor eax, ecx
and eax, dword [0x1401dc03c]
mov ecx, 0xe73599dd
xor ecx, 0x3fe6e3eb
xor edx, edx
div ecx
mov edx, 0xfc616b81
xor edx, 0x39e947e
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x56ae8981
or ecx, edx
and eax, 0x56ae8981
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x3a31d96f
xor edx, 0xc5ce2690
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9d105ecb
mov edx, 0xb5adf383
xor edx, 0x28bdad48
mov r8d, 0xfd884d50
xor r8d, 0x277b2af
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0x9ce2647c
jbe 0x14010a6ab
mov al, byte [rbp - 0x32]
test al, 1
jne 0x14010a376
jmp 0x14010a3a2
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14010d380
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa2
xor cl, 0xa2
cmp al, cl
je 0x14010a4b1
jmp 0x14010a4ac
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x58]
mov cl, byte [rcx]
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x40]
mov dl, byte [rbp - 0x31]
mov r8, qword [rbp - 0x30]
mov qword [rbp - 0x60], r8
mov byte [rbp - 0x51], dl
mov byte [rcx], 0
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14010d380
mov rax, qword [rbp + 0x58]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010a4ac
mov ecx, dword [0x1401dc040]
add ecx, dword [0x1401dc044]
mov eax, 0x45631ff5
xor eax, 0x34bd9fef
or ecx, eax
mov eax, ecx
and eax, 0xf7833b67
xor ecx, 0xf7833b67
or eax, ecx
add eax, 0x43a9e382
sub eax, 0x7807d19d
sub eax, 0x43a9e382
cmp eax, 0x3a0c15a0
jbe 0x14010a6b4
mov rcx, qword [rbp + 0x58]
mov eax, dword [0x1401dc048]
xor eax, 0x58c24e3e
xor edx, edx
div dword [0x1401dc04c]
mov dl, byte [rbp - 0x51]
mov r8d, 0xbb9cfc32
xor r8d, 0xa40224c
or eax, r8d
add eax, 0x88b6fef3
mov r8d, 0x8d2d064b
xor r8d, 0x8378c776
add eax, r8d
sub eax, 0x88b6fef3
mov r8d, eax
xor r8d, 0x60d7fa64
xor r8d, 0xffffffff
or eax, 0x60d7fa64
and eax, r8d
cmp dl, 0
sete r8b
mov byte [rbp - 0x61], r8b
mov byte [rcx], dl
cmp eax, 0xadb289b9
ja 0x14010a6b4
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14010a58a
jmp 0x14010a4ac
jmp 0x14010a681
mov eax, dword [0x1401dc050]
xor eax, 0x2b80937d
mov edx, dword [0x1401dc054]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x3934da5f
xor edx, edx
div ecx
imul eax, eax, 0x6df7e44f
mov r8d, 0xffffffff
xor r8d, 0x7a5811c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7a5811c
or eax, 0x7a5811c
imul eax, edx
add eax, ecx
cmp eax, 0x843fe748
je 0x14010a6bd
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x30]
mov eax, dword [0x1401dc058]
mov r8d, dword [0x1401dc05c]
sub eax, 0xaca7fc34
add eax, r8d
add eax, 0xaca7fc34
mov r8d, eax
and r8d, 0x7aeb395
xor r8d, 0xffffffff
add eax, 0x7aeb395
add eax, 1
add eax, r8d
sub eax, 0x2f620fa1
imul eax, eax, 0xd7e07f2d
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x62], cl
cmp eax, 0x845c4c70
ja 0x14010a6bd
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14010a5b5
jmp 0x14010a597
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x18], rax
jmp 0x140109ca3
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14010a681
mov eax, dword [0x1401dc060]
xor eax, 0x5b4ac94e
mov ecx, dword [0x1401dc064]
xor ecx, 0x592d704b
add eax, ecx
mov ecx, 0x9f7361df
xor edx, edx
div ecx
mov edx, 0x699e8be2
xor edx, 0x39e3e408
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x507d6fea
sub eax, ecx
and eax, 0x4af9bed4
cmp eax, 0x45424abe
ja 0x14010a6c6
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov r8d, dword [0x1401dc068]
mov r9d, dword [0x1401dc06c]
mov r10d, 0x9d2ae255
xor r10d, 0x9148bd78
xor r9d, r10d
imul r8d, r9d
and r8d, 0xa02a9b36
mov r9d, 0x6354d2dd
xor r9d, 0xd569875
xor r8d, r9d
and r8d, 0xe9f19e18
mov dword [rbp - 0x74], r8d
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14010d120
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x3f4f9fc6
je 0x14010a600
jmp 0x14010a681
lea rsp, [rbp + 0x60]
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
and dh, bh
invalid
adc al, 0xfe
cmp eax, 0xf85ce9da
invalid
not bl
pop rbp
jmp 0x14010a09c
stosb byte [rdi], al
invalid
add esi, dword [rsi + 0x20e9d847]
cld
invalid
stosb byte [rdi], al
pop rsp
fcomp dword [rdi]
jmp 0x14010a42a
sub byte [rbp + 0x53e99858], al
invalid
add eax, dword [rax]
test eax, 0xff31e9ff
invalid