Function at 0x140109e20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
call fcn.140108ce9
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0xf0], rax
mov rax, qword [rdx]
mov qword [rsp + 0xf8], rax
movabs rcx, 0xe4a5ec9b998f858c
movabs rdx, 0xe4a5ec9b998f858c
xor rcx, rdx
cmp rax, rcx
jge 0x140109f28
mov eax, dword [0x1402576d0]
mov ecx, dword [0x1402576d4]
xor ecx, 0xbb9d9222
xor edx, edx
div ecx
and eax, 0x812dad1f
add eax, 0x3f781122
add eax, 0x100bfecd
cmp eax, 0xed6b7b7b
jae 0x14010a917
mov rcx, qword [rsp + 0xf8]
mov eax, dword [0x1402576d8]
mov r9d, dword [0x1402576dc]
mov r8d, r9d
xor r8d, 0xffffffff
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, edx
mov r8d, 0x8ab9f4eb
xor r8d, 0xfd9d5142
xor edx, edx
div r8d
add eax, 0xa04a2e7c
sub eax, 0x7ed4111c
mov dword [rsp + 0xd4], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000cee2
mov eax, dword [rsp + 0xd4]
cmp eax, 0x3da1fb8f
jae 0x140109eaf
jmp 0x14010a907
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xd8]
call fcn.14001bb40
mov ecx, 0x3ef
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xc8], rcx
cmp byte [rax], 0
jne 0x14010a907
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe8]
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xb0], rax
mov edx, dword [0x1402576e0]
mov r8d, dword [0x1402576e4]
xor r8d, 0x9ff01fe9
mov eax, 0xbdb6fda5
xor eax, 0x4249025a
mov r9d, r8d
xor r9d, eax
mov ecx, edx
and ecx, r9d
mov eax, edx
or eax, r9d
mov r9d, 0x35d317bc
xor r9d, 0xca2ce843
xor eax, r9d
imul eax, ecx
mov ecx, edx
and ecx, r8d
or edx, r8d
imul edx, ecx
add edx, eax
mov eax, edx
xor eax, 0x7bf95213
mov ecx, 0xffffffff
xor ecx, 0x7bf95213
and edx, ecx
mov ecx, 0xb2989d38
xor ecx, 0xb2989d3a
imul ecx, edx
sub ecx, eax
xor ecx, 0x232c5093
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x62f6ca5b
or eax, edx
mov edx, 0xffffffff
xor edx, 0x62f6ca5b
mov r8d, 0x924d1b50
xor r8d, 0xf0bbd10b
mov r9d, 0x9a0d6963
xor r9d, 0x65f2969c
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xb13cbd28
ja 0x14010a920
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xe8]
mov eax, dword [0x1402576e8]
mov ecx, 0x8b2a4093
xor ecx, 0x5eb85a61
xor eax, ecx
or eax, dword [0x1402576ec]
sub eax, 0x422b540e
sub eax, 0xa4c24ca
mov ecx, 0x73c66eb4
xor ecx, 0x31ed3aba
add eax, ecx
mov ecx, 0x5aceeac3
xor ecx, 0xe40c169c
add eax, ecx
mov ecx, 0xe28c3bde
xor ecx, 0x5ad055ad
add eax, ecx
sub eax, 0xbec2fc5f
and eax, 0xa80c922e
mov ecx, 0xc6d9552f
xor ecx, 0xf301c5a2
mov r8, qword [r8]
mov qword [rsp + 0xa0], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0xaf], dl
cmp eax, ecx
je 0x14010a920
mov al, byte [rsp + 0xaf]
test al, 1
jne 0x14010a10c
jmp 0x14010a907
mov rax, qword [rsp + 0xb0]
cmp rax, 0
jge 0x14010a16c
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa0]
movabs rax, 0x30e5c0e3e5ad3c8e
movabs r8, 0x30e5c0e3e5ad3c8e
xor rax, r8
movabs r8, 0x4c8040ccf59e56a5
movabs r9, 0xb37fbf330a61a95a
xor r8, r9
sub rax, r8
sub rdx, rax
call fcn.140013507
jmp 0x14010a6fb
mov ecx, 0xf85b
mov edx, 0xed79
call fcn.14006ae75
mov cx, ax
mov rax, qword [rsp + 0xf0]
mov word [rsp + 0x9e], cx
cmp byte [rax], 0
jne 0x14010a700
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
mov dx, word [rsp + 0x9e]
mov rax, qword [rax]
mov r8, rax
add r8, 8
add r8, rcx
mov qword [rsp + 0x90], r8
cmp byte [rax + rcx + 8], dl
je 0x14010a1f7
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
mov qword [rsp + 0x88], rcx
cmp rax, rcx
jl 0x14010a83e
jmp 0x14010a80c
mov ecx, 0x291
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x80], rcx
cmp byte [rax], 0
jne 0x14010a6fb
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0xb0]
xor eax, eax
sub rax, r8
xor ecx, ecx
sub rcx, r9
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
mov qword [rsp + 0x78], rdx
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, r9
xor rcx, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
mov rax, rdx
and rax, r9
xor rax, 0xffffffffffffffff
and rcx, rax
xor rcx, 0xffffffffffffffff
mov rax, rdx
and rax, r8
shl rax, 1
add rdx, r8
sub rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14010a2b6
call fcn.140007e9d
jmp 0x14010a6fb
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x78]
cmp qword [rax], rcx
jg 0x14010a35d
movabs rcx, 0x4ce4746775249060
movabs rax, 0x4ce4746775249020
xor rcx, rax
movabs rdx, 0x45664a4c7569ba84
movabs rax, 0x45664a4c7569ba8c
xor rdx, rax
call fcn.1400132f0
mov rcx, rax
mov rax, qword [0x1402696e8]
mov qword [rcx], rax
lea rax, [0x140268128]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140268158]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140268160]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140268128]
lea r8, [0x140268137]
lea r9, [0x14026814a]
mov qword [rsp + 0x20], 0xffffffffbc14c222
call fcn.1400127b0
jmp 0x14010a6fb
mov byte [rsp + 0x117], 0
mov cx, 0x9f35
xor cx, 0x9569
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x70], rcx
cmp byte [rax], 0
jne 0x14010a6fb
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xb0]
mov rax, rcx
and rax, r8
shl rax, 1
mov rdx, rcx
xor rdx, r8
add rdx, rax
mov qword [rsp + 0x68], rdx
mov rax, rdx
xor rax, r8
xor rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0x6cd57a845127dd99
movabs rdx, 0x6cd57a845127dd99
xor rcx, rdx
cmp rax, rcx
jge 0x14010a3f5
call fcn.140007e9d
jmp 0x14010a6fb
mov cx, 0x7b96
xor cx, 0x79e2
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rcx
mov al, byte [rax]
mov cl, 0x84
xor cl, 0x84
cmp al, cl
jne 0x14010a6fb
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rax]
mov qword [rsp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x117]
call fcn.14003dc30
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x58], rcx
cmp byte [rax], 0
jne 0x14010a6fb
mov ecx, 0x8a9
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rcx
cmp byte [rax], 0
jne 0x14010a6fb
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jne 0x14010a63b
mov eax, dword [0x1402576f0]
mov edx, dword [0x1402576f4]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
mov edx, 0x918cd547
xor edx, 0x4bfcea7d
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, 0xda703f3a
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xfc11c6bc
xor edx, 0x3ee3943
xor ecx, edx
and eax, ecx
xor eax, 0xe8e600cf
mov edx, 0x1f3c1526
xor edx, 0xed93cb83
mov ecx, eax
and ecx, edx
mov edx, 0xf4223822
xor edx, 0xf4223820
imul ecx, edx
xor eax, 0xf2afdea5
add eax, ecx
cmp eax, 0xb5422ec7
jae 0x14010a929
mov eax, dword [0x1402576f8]
mov edx, dword [0x1402576fc]
mov r8d, eax
xor r8d, edx
mov ecx, 0xa82a7f01
xor ecx, 0x57d580fe
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x919f53f5
xor edx, edx
div ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x84f055ba
mov edx, 0x8bf969b
xor edx, 0x8c4fc321
mov r8d, 0xbe5b1358
xor r8d, 0x41a4eca7
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x27067866
xor edx, edx
div ecx
mov dword [rsp + 0x4c], eax
movabs rcx, 0x8a28037ca7791946
movabs rax, 0x8a28037ca7791906
xor rcx, rax
movabs rdx, 0xc51d34bd131035d8
movabs rax, 0xc51d34bd131035d0
xor rdx, rax
call fcn.1400132f0
mov rcx, rax
mov rax, qword [0x1402696e8]
mov qword [rcx], rax
lea rax, [0x140268128]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140268158]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140268160]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140268128]
lea r8, [0x140268137]
lea r9, [0x14026814a]
mov qword [rsp + 0x20], 0x6a463509
call fcn.1400127b0
mov eax, dword [rsp + 0x4c]
cmp eax, 0x4ca9a465
jae 0x14010a524
jmp 0x14010a6fb
mov rcx, qword [rsp + 0xd8]
mov dl, byte [rsp + 0x117]
call fcn.140108d04
mov ecx, 0x5d7
call fcn.1400685ae
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x40], rcx
cmp byte [rax], 0
jne 0x14010a6fb
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0xb0]
mov rdx, rcx
add rdx, r9
mov qword [rsp + 0x38], rdx
mov r8, rdx
and r8, r9
shl r8, 1
mov rax, rdx
add rax, r9
sub rax, r8
xor rdx, rcx
movabs r8, 0x54f0c4dda73a294
movabs rcx, 0x54f0c4dda73a295
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0x3ea3a0c094c8efb6
movabs rdx, 0x3ea3a0c094c8efb6
xor rcx, rdx
cmp rax, rcx
jl 0x14010a6f6
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
jmp 0x14010a862
call fcn.140007e9d
jmp 0x14010a907
mov ecx, dword [0x140257700]
xor ecx, 0xa9e9bf7a
imul ecx, dword [0x140257704]
mov edx, 0xf45e8fd0
xor edx, 0x84fb69f3
mov eax, ecx
or eax, edx
mov edx, 0x5d42fc3d
xor edx, 0xa2bd03c2
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x70a5e623
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xdf2d2f08
xor edx, 0x20d2d0f7
xor ecx, edx
and eax, ecx
mov ecx, 0x28ca1223
xor edx, edx
div ecx
or eax, 0x86ebe93e
mov ecx, 0x6a3e7b6e
xor ecx, 0x91f02cdf
cmp eax, ecx
ja 0x14010a932
mov ecx, dword [0x140257708]
mov eax, dword [0x14025770c]
xor eax, 0xf91d82b4
or ecx, eax
mov eax, 0xc07a0b99
xor eax, 0x3f85f466
mov edx, ecx
xor edx, eax
and edx, 0xce039ad6
mov r8d, 0x3924d6db
xor r8d, 0xf7274c0d
mov eax, 0xabca64bf
xor eax, 0x54359b40
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xce039ad6
mov r8d, 0x4a0c639f
xor r8d, 0x840ff949
or ecx, r8d
imul ecx, edx
add ecx, eax
xor ecx, 0x9429070d
mov edx, 0x835f2d1a
xor edx, 0x43500eb
mov eax, ecx
and eax, edx
mov edx, 0x876f3dba
xor edx, 0x5104b
xor ecx, edx
or eax, ecx
cmp eax, 0x5f0f7e89
jbe 0x14010a772
jmp 0x14010a907
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140013507
jmp 0x14010a907
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x90]
mov dl, byte [rax]
call fcn.140108d04
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
mov r8, rcx
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rdx, 0x33f599657ffecdc7
movabs r9, 0xcc0a669a80013238
xor rdx, r9
movabs r9, 0xd230eb9ed89e5395
movabs r10, 0x2dcf14612761ac6a
xor r9, r10
xor rdx, r9
and rcx, rdx
or r8, rcx
movabs rcx, 0x6324fa8519845bfb
movabs rdx, 0x6324fa8519845bfa
xor rcx, rdx
mov rdx, rax
add rdx, rcx
movabs r9, 0xe1384def67d2b7f2
movabs rcx, 0x1ec7b210982d480d
xor r9, rcx
mov rcx, rax
xor rcx, r9
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rsp + 0xc0], rax
jge 0x140109f87
call fcn.140007e9d
mov rax, qword [rsp + 0xe0]
add rsp, 0x118
ret
movsd dword [rdi], dword [rsi]
pop rbx
outsb dx, byte [rsi]
add ecx, ebp
invalid
invalid
invalid
rcl dword [rdx + 0x37e964ef]
invalid