Function at 0x140014110
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov eax, dword [0x1401c8a58]
mov edx, dword [0x1401c8a5c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3987b066
xor edx, 0xfd19e9db
and edx, ecx
mov r8d, 0xd41136d9
xor r8d, 0x108f6f64
mov ecx, 0xf6671cd3
xor ecx, 0x998e32c
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc49e59bd
mov r8d, 0x4d826497
xor r8d, 0x891c3d2a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x65662b78
xor ecx, 0x9befd200
xor eax, ecx
mov ecx, 0x86e31179
xor ecx, 0xceada4d
xor edx, edx
div ecx
cmp eax, 0xcd570812
je 0x140014e1b
mov rcx, qword [rsp + 0xc8]
mov eax, dword [0x1401c8a60]
xor edx, edx
div dword [0x1401c8a64]
add eax, 0xe8bacaba
xor eax, 0xa48be16
mov edx, eax
add edx, 1
mov r8d, 0x39077e1a
xor r8d, 0xc6f881e5
xor eax, r8d
or eax, 0xdd9f047c
add eax, edx
cmp rcx, 0
sete cl
mov byte [rsp + 0xc7], cl
cmp eax, 0xe467c36e
jae 0x1400141b2
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x140014e00
jmp 0x14001421b
mov rax, qword [rsp + 0xd0]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0xb0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xb8], rax
cmp rax, 0
je 0x1400143df
mov eax, dword [0x1401c8a68]
mov edx, dword [str._bVr_MO]
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x35772191
xor r8d, 0xca88de6e
xor ecx, r8d
and edx, edx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xef6f054f
xor r8d, 0xb998a4e2
mov eax, 0x65f53bf6
xor eax, 0x9a0ac409
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x3986bf52
xor r8d, 0xc67940ad
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x56f7a1ad
or ecx, 0x56f7a1ad
imul ecx, edx
add ecx, eax
mov edx, 0xd7ff327f
xor edx, 0xf525b1a
mov eax, 0x9d5d5d8
xor eax, 0xf62a2a27
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0x39eacea9
cmp eax, 0xc7aafdec
jbe 0x140014e24
mov rcx, qword [rsp + 0xb8]
mov eax, dword [0x1401c8a70]
xor eax, 0xdd343542
xor eax, dword [0x1401c8a74]
sub eax, 0x38de282a
add eax, 0xce08e09
sub eax, 0x98b4734
sub eax, 0xce08e09
mov r8d, 0xc0b7309c
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x32301b8f934191b0
movabs r8, 0xcdcfe4706cbe6e4f
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x97910b509475c0ed
xor r8, r9
or rcx, rdx
movabs rdx, 0x53ca59859a46c14a
movabs r9, 0xc45b52d50e3301a7
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x2b5362d2cddfb5c3
movabs r8, 0x2b5362d2cddfb5c3
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0xaf], cl
cmp eax, 0x4f9d195f
ja 0x1400142f3
mov al, byte [rsp + 0xaf]
test al, 1
jne 0x140014a5d
jmp 0x1400143df
mov eax, dword [0x1401c8a78]
mov ecx, 0xdef27121
xor ecx, 0x6237242
xor eax, ecx
xor edx, edx
div dword [0x1401c8a7c]
mov ecx, 0x5a52e07b
xor edx, edx
div ecx
or eax, 0x67b284e3
add eax, 0xd01af22d
add eax, 0xa001a95a
mov ecx, 0x8a1da6f3
xor ecx, 0x5a0754de
sub eax, ecx
cmp eax, 0xad0a96d9
jae 0x140014e2d
mov r8, qword [rsp + 0xc8]
mov eax, dword [0x1401c8a80]
mov ecx, dword [0x1401c8a84]
xor ecx, 0xb684b8d9
add eax, ecx
mov r9d, 0x2dc354c0
xor r9d, 0x79b02b4a
mov ecx, 0xedfa4c5
xor ecx, 0xf1205b3a
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov r9d, 0x10505113
xor r9d, 0x44232e99
mov edx, eax
and edx, r9d
or eax, 0x54737f8a
imul eax, edx
add eax, ecx
mov ecx, eax
or ecx, 0xb8966a87
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb8966a87
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x76cf9340
and ecx, 0x76cf9340
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x65219654
xor ecx, 0x790077cc
movabs rdx, 0x26db025848c08825
movabs r9, 0x307fa42763560e65
xor rdx, r9
mov r9, r8
add r9, rdx
add r9, 1
movabs rdx, 0x16a4a67f2b968640
sub r9, rdx
mov qword [rsp + 0x90], r9
xor r8, 0xffffffffffffffff
mov rdx, r9
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, r8
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
cmp rdx, 0
setl dl
mov byte [rsp + 0x9f], dl
cmp eax, ecx
je 0x140014e2d
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x140014555
jmp 0x14001455f
call fcn.140008024
jmp 0x140014e13
mov rdx, qword [rsp + 0xc8]
movabs rcx, 0xe6037523cc500729
mov rax, rdx
sub rax, rcx
add rax, 9
movabs rcx, 0xe6037523cc500729
add rax, rcx
mov qword [rsp + 0x88], rax
mov rcx, 0xfffffffffffffffe
sub rcx, rdx
and rax, rcx
movabs rcx, 0xd1c717387207130d
movabs rdx, 0xd1c717387207130d
xor rcx, rdx
cmp rax, rcx
jge 0x1400145c7
call fcn.140008024
jmp 0x140014e13
mov eax, dword [0x1401c8a88]
and eax, dword [0x1401c8a8c]
or eax, 0x2d095d25
mov ecx, 0xacdfbb3f
xor edx, edx
div ecx
sub eax, 0x7b50ab1e
cmp eax, 0xf52b63a5
ja 0x140014e36
mov rcx, qword [rsp + 0x88]
mov edx, dword [0x1401c8a90]
mov eax, dword [0x1401c8a94]
mov r8d, 0xb27b6a13
xor r8d, 0x4ba4dc24
xor eax, r8d
add edx, eax
mov eax, edx
or eax, 0x15d0e2e8
xor eax, 0xffffffff
or edx, 0x15d0e2e8
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or eax, 0x85cd3dbf
mov edx, 0xffffffff
xor edx, 0x58920ed1
add eax, edx
add eax, 1
cmp rcx, 0
setl cl
mov byte [rsp + 0x87], cl
cmp eax, 0x3d8050e4
jb 0x1400145f1
mov al, byte [rsp + 0x87]
test al, 1
jne 0x140014674
jmp 0x140014684
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
jmp 0x140014e13
mov rcx, qword [rsp + 0x88]
call fcn.14000b1b3
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x70], rcx
mov qword [r8], rcx
mov qword [rcx], rdx
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
movabs rcx, 0x158bb5955cab096d
movabs rdx, 0x158bb5955cab096d
xor rcx, rdx
cmp rax, rcx
jle 0x14001493f
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xc8]
mov rdx, rcx
sub rdx, rax
cmovl rax, rcx
mov qword [rsp + 0x68], rax
movabs rcx, 0x506c3aafff08b8f1
movabs rdx, 0x506c3aafff08b8f1
xor rcx, rdx
cmp rax, rcx
jge 0x14001472b
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
jmp 0x140014e13
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
add rcx, 8
add rdx, 8
call fcn.14002f75a
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, rcx
jge 0x14001491e
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc8]
movabs rcx, 0xef8dfc8f2a5d312c
mov rax, rdx
add rax, rcx
sub rax, r8
movabs rcx, 0xa996aa6f11ddfede
movabs r9, 0x461b56e03b80cff2
xor rcx, r9
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
mov r9, rax
xor r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
mov al, cl
xor al, 0xff
xor r8d, r8d
xor r8b, 1
xor cl, r8b
and al, cl
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x140014806
jmp 0x140014895
mov eax, dword [0x1401c8a98]
mov edx, dword [0x1401c8a9c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x2728e5d2
sub eax, ecx
and eax, 0x3bb8d6b9
or eax, 0x945d6203
cmp eax, 0xf7a46ee7
ja 0x140014e3f
mov eax, dword [0x1401c8aa0]
and eax, dword [0x1401c8aa4]
or eax, 0x108670cb
xor ecx, ecx
sub ecx, 0xe49d1f4a
sub eax, ecx
sub eax, 0x406ec350
add eax, 0xe304cb38
add eax, 0x406ec350
mov dword [rsp + 0x54], eax
mov eax, 0xc3536230
xor eax, 0x1090a0c8
mov dword [rsp + 0x50], eax
call fcn.140008024
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp eax, ecx
ja 0x140014e3f
jmp 0x140014e13
mov rdx, qword [rsp + 0x58]
mov rax, rdx
and rax, 1
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rsp + 0x48], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x1400148d9
call fcn.140008024
jmp 0x140014e13
mov rax, qword [rsp + 0x48]
cmp rax, 0
jge 0x1400148f8
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
jmp 0x140014e13
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx]
add rcx, 8
add rcx, rax
call fcn.140008640
jmp 0x140014d41
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
mov dl, 0x2b
xor dl, 0x2b
mov byte [rax + rcx + 8], dl
jmp 0x140014d41
mov rax, qword [rsp + 0x90]
cmp rax, 0
jl 0x14001496c
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
add rcx, 8
call fcn.140008640
jmp 0x140014d41
mov eax, dword [0x1401c8aa8]
mov r8d, dword [0x1401c8aac]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x90d5bc41
add ecx, eax
xor eax, eax
sub eax, ecx
xor eax, 0x9dbaec0b
mov ecx, 0xff186b1e
xor ecx, 0x400ea926
or eax, ecx
cmp eax, 0xb0192bfb
je 0x140014e48
mov eax, dword [0x1401c8ab0]
mov edx, dword [0x1401c8ab4]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x877fbdc4
or eax, edx
or ecx, 0x877fbdc4
xor eax, 0xffffffff
and eax, ecx
and eax, eax
mov ecx, 0xed0fe1ae
xor ecx, 0x12f01e51
xor eax, ecx
mov ecx, 0xbcc1efd5
xor ecx, 0x31def966
mov edx, 0xb2bd1622
xor edx, 0x3fa20091
and ecx, edx
mov edx, 0xed9d81f5
xor edx, 0x12627e0a
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
sub eax, 0x4d620559
sub eax, 0x76b45531
mov dword [rsp + 0x44], eax
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
mov eax, dword [rsp + 0x44]
cmp eax, 0x585ac368
je 0x1400149cd
jmp 0x140014e13
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
cmp qword [rax], rcx
jge 0x140014d41
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xa0]
movabs rdx, 0xa045c094e1a833cc
movabs r8, 0x1fba3f6b1e57cc33
xor rdx, r8
and rax, rdx
mov qword [rsp + 0x38], rax
cmp rax, rcx
jge 0x140014d41
mov rcx, qword [rsp + 0x38]
call fcn.1400114f0
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa0]
mov r8, rax
mov rax, qword [rsp + 0x38]
mov r9, r8
sub r9, rdx
cmovg rdx, r8
mov qword [rsp + 0x30], rdx
movabs rdx, 0x3e847c885bdd59a1
movabs r8, 0xea84a519cb1993bd
xor rdx, r8
sub rax, rdx
add rax, 1
movabs rdx, 0xd400d99190c4ca1c
add rax, rdx
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0xc91c3fc375a3edd5
movabs r9, 0x36e3c03c8a5c122a
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140014b49
call fcn.140008024
jmp 0x140014e13
mov rdx, qword [rsp + 0x38]
mov rax, rdx
and rax, 9
mov rcx, rdx
or rcx, 9
add rax, rcx
mov qword [rsp + 0x28], rax
movabs rcx, 0x563088609c8ac2c9
movabs r8, 0xa9cf779f63753d37
xor rcx, r8
movabs r8, 0x14e736842c7fa123
movabs r9, 0x2220fb85f542d555
xor r8, r9
add rcx, r8
sub rcx, rdx
movabs rdx, 0x36c7cd01d93d7476
sub rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0x9360b3f3cecb6f5
movabs r8, 0x9deea1687159fa4a
xor rdx, r8
movabs r8, 0x221a9d3b4fa034e6
movabs r9, 0xdde562c4b05fcb19
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x6e17ab8e8427a5e2
movabs r8, 0xfacf01d9c992e95d
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140014c16
call fcn.140008024
jmp 0x140014e13
mov rax, qword [rsp + 0x38]
cmp rax, 0xfffffffffffffff7
jge 0x140014c35
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
jmp 0x140014e13
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
movabs rdx, 0x1a8d9ac643a99059
movabs r8, 0xe5726539bc566fa6
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xc04ec679a94a17f6
movabs rdx, 0xc04ec679a94a17f6
xor rcx, rdx
cmp rax, rcx
jge 0x140014c88
call fcn.140008024
jmp 0x140014e13
mov rdx, qword [rsp + 0x30]
mov rax, rdx
add rax, 9
mov qword [rsp + 0x20], rax
xor rdx, 0xffffffffffffffff
add rdx, 0xfffffffffffffffe
movabs rcx, 0x668f87a46faeae32
movabs r8, 0x668f87a46faeae33
xor rcx, r8
add rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0xa2a2a3a3b0b118b
movabs rdx, 0xa2a2a3a3b0b118b
xor rcx, rdx
cmp rax, rcx
jge 0x140014cf5
call fcn.140008024
jmp 0x140014e13
mov rax, qword [rsp + 0x20]
cmp rax, 0
jge 0x140014d14
mov rcx, r8
mov rdx, r8
call fcn.14000c8ac
jmp 0x140014e13
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rax]
call fcn.1400101db
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x30]
mov qword [rdx], rax
mov qword [rax], rcx
mov eax, dword [0x1401c8ab8]
xor eax, 0xef5f3f83
xor edx, edx
div dword [0x1401c8abc]
mov ecx, 0x11f38ac6
xor edx, edx
div ecx
add eax, 0xe0934de2
imul eax, eax, 0x9ece3580
cmp eax, 0x614fda5a
je 0x140014e51
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x1401c8ac0]
xor eax, 0x8dfd054c
mov r8d, dword [0x1401c8ac4]
xor edx, edx
sub edx, r8d
add eax, edx
imul eax, eax, 0xbc8d8f59
mov r8d, 0xcb827dc
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xc8]
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x307d7762
mov r10d, 0xffffffff
xor r10d, 0x307d7762
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x307d7762
or eax, 0x307d7762
imul eax, r9d
add eax, r8d
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], 0
cmp eax, 0x80b80461
ja 0x140014e51
jmp 0x140014e00
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov qword [rax], rcx
add rsp, 0xd8
ret
lea esp, [rdx - 0x3e]
jmp 0x13ff4dd0c
xchg ebp, eax
mov ecx, 0xf4c6e9d2
invalid
fdivrp st(4)
invalid
sti
adc byte [rbp + 0x7e], bh
jmp 0x1400145f1
movabs al, byte [0xfffff9f7e97d1995]
invalid
cmc
jb 0x140014eb4
mov cl, 0xe9
sbb edi, edi
invalid
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x140014ee4
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x140014eee
call fcn.140008024
jmp 0x140014f9f
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x140014f92
mov rax, qword [rsp + 0x28]
cmp rax, 0
jl 0x140014f28
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x140014f35
mov rcx, rdx
call fcn.1400122ad
jmp 0x140014f9f
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
imul rcx, rcx, 0x18
lea rcx, [rax + rcx + 8]
call fcn.140014e5a
mov rcx, qword [rsp + 0x28]
mov rax, rcx
dec rax
mov rdx, rax
xor rdx, rcx
sets r8b
test rcx, rcx
setne cl
sete dl
or dl, r8b
add cl, dl
inc cl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x140014f88
jmp 0x140014eee
call fcn.140008024
jmp 0x140014f9f
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
add rsp, 0x58
ret