Function at 0x14010a8e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x48], rcx
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14010a6cf
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x68], 0
mov rcx, qword [rcx]
mov qword [rbp + 0x58], rcx
cmp byte [rax], 0
jne 0x14010b500
mov eax, dword [0x1401dc070]
mov ecx, dword [0x1401dc074]
xor eax, 0xffffffff
mov edx, 0x33fbf78b
xor edx, 0xcc040874
xor ecx, edx
mov edx, 0x43367cd4
xor edx, 0x38c95e5c
mov r8d, 0x30f5027b
xor r8d, 0xcf0afd84
xor edx, r8d
or eax, ecx
mov ecx, 0x50a9c8cb
xor ecx, 0x2b56ea43
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
sub eax, 0x672b968b
and eax, eax
mov ecx, 0x6d09e0e4
xor ecx, 0x92f61f1b
xor eax, ecx
mov ecx, 0x648a2f1a
xor ecx, 0x837f605c
mov edx, 0x21571ee3
xor edx, 0xdea8e11c
xor ecx, edx
mov edx, 0x9b3806be
xor edx, 0x7ccd49f8
mov r8d, 0xce90052
xor r8d, 0xf316ffad
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0xdf58ed27
xor edx, 0x20a712d8
mov ecx, eax
xor ecx, edx
mov edx, 0x81394178
xor edx, 0x58427f47
and edx, ecx
mov r8d, 0x5e82d6e1
xor r8d, 0x87f9e8de
mov ecx, 0x9ca85409
xor ecx, 0x6357abf6
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd97b3e3f
mov r8d, 0x40ecb9ba
xor r8d, 0x99978785
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x2c89f9ab
xor ecx, 0xc73d9e
cmp eax, ecx
je 0x14010b506
mov eax, dword [0x1401dc078]
mov ecx, 0x4173c571
xor ecx, 0x2d6899d9
xor eax, ecx
imul eax, dword [0x1401dc07c]
mov ecx, 0xdf908f5a
xor ecx, 0xdf908f5a
sub ecx, eax
mov eax, 0x8510ab47
xor eax, 0x8510ab47
mov edx, 0x8d4d8428
xor edx, 0x8474929d
sub eax, edx
add ecx, eax
mov eax, 0xb99b2c4d
xor eax, 0xb99b2c4d
sub eax, ecx
mov ecx, 0xeff1cfce
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x38]
and eax, 0x75fdaf1b
mov ecx, 0x49ef9c63
xor ecx, 0x42dea362
cmp rdx, 0
setl dl
mov byte [rbp + 0x37], dl
cmp eax, ecx
ja 0x14010b506
mov al, byte [rbp + 0x37]
test al, 1
jne 0x14010aacf
jmp 0x14010aaf3
mov rcx, qword [rbp + 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14010b500
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.14010a6ea
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x14010b500
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
xor eax, eax
mov r8b, al
xor r8b, 0
and r8b, 1
sub rsp, 0x20
lea rcx, [rbp + 0x68]
call fcn.14010d086
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010b500
mov rcx, qword [rbp + 0x38]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14010b53c
add rsp, 0x20
test al, 1
jne 0x14010ab70
jmp 0x14010ab82
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14010b500
mov rcx, qword [rbp + 0x60]
movabs rdx, 0x9f5c39138ed4f07e
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0x9f5c39138ed4f07e
sub rax, rdx
mov qword [rbp + 0x20], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jl 0x14010abdd
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x48]
add rdx, 8
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
jmp 0x14010acf8
mov ecx, dword [0x1401dc080]
mov edx, dword [0x1401dc084]
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xdde7e3f4
xor edx, 0x30084507
and eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xedefa6f3
mov r8d, 0xe4d012e6
xor r8d, 0x93fb415
mov r9d, 0x4d79b0e2
xor r9d, 0xb2864f1d
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xe9732099
xor ecx, 0x168cdf66
xor eax, ecx
mov ecx, 0x114073c7
xor ecx, 0x47c2e14e
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xb05c561
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb05c561
or eax, 0xb05c561
imul eax, edx
add eax, ecx
mov ecx, 0x8dcc625f
xor ecx, 0xe66f0931
cmp eax, ecx
ja 0x14010b50f
mov ecx, dword [0x1401dc088]
imul ecx, dword [0x1401dc08c]
mov eax, 0xe5afebfb
xor eax, 0x287d6cb5
sub ecx, eax
mov eax, ecx
and eax, 0x5678a2aa
or ecx, 0x5678a2aa
add eax, ecx
mov ecx, 0x1b572008
xor ecx, 0x107eb990
and eax, ecx
mov dword [rbp + 4], eax
sub rsp, 0x20
call fcn.1400077a3
mov eax, dword [rbp + 4]
add rsp, 0x20
cmp eax, 0x44f338c7
jae 0x14010aca0
jmp 0x14010b500
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
mov eax, dword [0x1401dc090]
xor eax, dword [0x1401dc094]
add eax, 0x87554dd1
mov ecx, 0x1c0dc57f
xor ecx, 0xda0c941e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x8aa9537
xor ecx, 0x8aa9537
or eax, ecx
cmp eax, 0xa6dc6b48
jae 0x14010b518
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [0x1401dc098]
mov r9d, dword [0x1401dc09c]
mov eax, r8d
and eax, r9d
or r8d, r9d
add eax, r8d
and eax, 0xb8eb3868
imul r8d, eax, 0xba280d77
mov eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x3a03487c
mov r10d, 0xffffffff
xor r10d, 0x3a03487c
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0x3c3bb392
xor r9d, 0xc3c44c6d
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x3a03487c
and r8d, r9d
mov r9d, 0x312505ba
xor r9d, 0xcedafa45
xor eax, r9d
mov r9d, 0xdcb01ce8
xor r9d, 0x234fe317
xor r8d, r9d
and eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp - 0x11], cl
cmp eax, 0xfa1921c4
ja 0x14010ad44
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14010ae08
jmp 0x14010b467
mov rdx, qword [rbp - 8]
mov rax, rdx
add rax, 1
mov qword [rbp - 0x20], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
and rcx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r8, 0xd615aa1ea7d4ca83
movabs r9, 0x29ea55e1582b357c
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xf2736da25cdcf831
movabs r9, 0xd8c925da32307ce
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x59e6488e43b3c240
xor rdx, r8
or rax, rcx
movabs rcx, 0x707952ffe120ae33
movabs r8, 0x299f1a71a2936c73
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14010aee3
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14010b44d
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x58]
cmp rcx, rdx
mov qword [rbp - 0x28], rax
jge 0x14010b080
mov rax, qword [rbp - 8]
cmp rax, 0
jge 0x14010af2e
mov rcx, qword [rbp - 8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14010b44d
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.14010a6ea
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x14010b44d
mov eax, dword [0x1401dc0a0]
mov ecx, dword [0x1401dc0a4]
mov edx, 0xa48ec055
xor edx, 0x47019078
xor ecx, edx
imul eax, ecx
sub eax, 0xacfed17d
and eax, 0x66dc47a7
sub eax, 0x273d5bd3
mov ecx, 0x2b5df533
xor ecx, 0x6a0f4fae
cmp eax, ecx
jb 0x14010b521
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x48]
mov eax, dword [0x1401dc0a8]
imul eax, dword [0x1401dc0ac]
mov r8d, eax
xor r8d, 0xeab6d9c
xor r8d, 0xffffffff
mov r9d, 0x175eb1d3
xor r9d, 0x19f5dc4f
or eax, r9d
and eax, r8d
sub eax, 0xbd8edd3f
mov r8d, 0xc82875a1
xor r8d, 0x7aa4b486
add eax, r8d
sub eax, 0x437db113
mov r8d, 0x71b9a277
xor r8d, 0xc3356350
sub eax, r8d
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.14010a6ea
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rdx
mov cl, byte [rcx]
mov dl, 0xdd
xor dl, 0xdd
cmp cl, dl
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x546252ab
ja 0x14010b521
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14010b03d
jmp 0x14010b44d
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14010a770
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x50]
mov byte [rbp - 0x45], cl
cmp byte [rax], 0
jne 0x14010b44d
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x20]
mov dl, byte [rbp - 0x45]
test dl, 1
cmovne rax, rcx
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x58], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14010b0be
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14010b44d
mov rax, qword [rbp - 0x58]
cmp rax, 0
jge 0x14010b1f8
mov ecx, dword [0x1401dc0b0]
mov edx, dword [0x1401dc0b4]
xor edx, 0x703662e0
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xac20df78
or ecx, edx
or eax, 0xac20df78
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
or eax, 0xee948d72
xor eax, 0xffffffff
mov edx, 0x26b0dd09
xor edx, 0xd94f22f6
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xee948d72
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xbd7efe43
xor edx, 0x428101bc
xor ecx, edx
and eax, ecx
mov ecx, 0xe60e0976
xor edx, edx
div ecx
xor eax, 0xae1cf2a7
mov ecx, 0x2f1fd325
xor ecx, 0xf4225340
cmp eax, ecx
jae 0x14010b52a
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1401dc0b8]
mov r8d, dword [0x1401dc0bc]
mov edx, 0xf981e7fa
xor edx, 0x53b0e3e1
xor r8d, edx
xor edx, edx
div r8d
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x351730bf
mov r8d, 0x826b8fb2
xor r8d, 0x65c8c99a
mov r9d, 0xe24edc54
xor r9d, 0x1db123ab
xor r8d, r9d
or eax, edx
mov edx, 0x8a6af378
xor edx, 0x6dc9b550
or edx, r8d
xor eax, 0xffffffff
and eax, edx
mov edx, 0xb7103aa8
xor edx, 0x799abaaa
and eax, edx
sub eax, 0xadae7d56
mov dword [rbp - 0x5c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x479ebfc8
jb 0x14010b52a
jmp 0x14010b44d
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.14010a6ea
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x68], rcx
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14010b44d
mov rax, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
mov r8d, 1
sub rsp, 0x20
call fcn.14010d086
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb1
xor cl, 0xb1
cmp al, cl
jne 0x14010b44d
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14010b53c
add rsp, 0x20
test al, 1
jne 0x14010b28c
jmp 0x14010b29e
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14010b44d
mov eax, dword [0x1401dc0c0]
xor eax, 0x92d1cafd
mov ecx, dword [0x1401dc0c4]
sub eax, 0xfc99fcd6
sub eax, ecx
mov ecx, 0x37f4f4c6
xor ecx, 0xcb6d0810
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xbacc9dd7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbacc9dd7
or eax, 0xbacc9dd7
imul eax, edx
add eax, ecx
imul ecx, eax, 0xe15ee62b
mov edx, 0x1a55fa32
xor edx, 0xe5aa05cd
mov eax, ecx
xor eax, edx
mov edx, 0x4f97d4a6
xor edx, 0xb0682b59
xor ecx, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc149b337
mov edx, 0xffffffff
xor edx, 0xc149b337
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xb9cfe3e5
jae 0x14010b533
mov eax, dword [0x1401dc0c8]
mov ecx, 0x658de9a5
xor ecx, 0x56fcd235
xor eax, ecx
mov edx, dword [0x1401dc0cc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x346065ab
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x40]
mov ecx, eax
and ecx, 0x69709a92
shl ecx, 1
mov r8d, 0xb1064aaf
xor r8d, 0xd876d03d
xor eax, r8d
add eax, ecx
mov r9d, 0xd6304157
xor r9d, 0xaff9505b
mov ecx, 0x776f41b4
xor ecx, 0x8890be4b
xor r9d, ecx
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x79c9110c
or eax, 0x79c9110c
imul eax, r8d
add eax, ecx
mov ecx, 0x7ce89686
xor ecx, 0x2b45d0f3
mov r9, qword [rdx]
movabs rdx, 0x3064c18d7d5b8577
movabs r8, 0x3064c18d7d5b8577
xor rdx, r8
sub rdx, r9
xor r8d, r8d
sub r8, 1
add rdx, r8
xor r8d, r8d
sub r8, rdx
mov qword [rbp - 0x78], r8
xor r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov rdx, r8
xor rdx, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x14010b533
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14010b440
jmp 0x14010b452
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14010b500
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
jmp 0x14010acf8
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov qword [rbp - 0x80], rcx
cmp rax, rcx
jl 0x14010b4b3
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x80]
movabs rax, 0x873a9b7d01b9543e
movabs r8, 0x78c56482fe46abc1
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14010b500
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.14010d120
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010b500
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.140109ba0
add rsp, 0x20
lea rsp, [rbp + 0x70]
pop rbp
ret
fucomi st(6)
push rdx
jmp 0x14010aa44
int3
and dword [rax + 0x23e945af], ecx
clc
invalid
call [rcx + 0x6be9a958]
cli
invalid
invalid
mov dword [rdx + 0x12], 0xfe02e9bf
invalid