Function at 0x140271530
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x50], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x70], rax
add rax, 0x60
mov qword [rbp + 0x68], rax
mov word [rbp + 0x13e], 0x104
lea rcx, [rbp + 0x13e]
sub rsp, 0x20
call fcn.14008db90
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x78], rcx
cmp byte [rax + 0x60], 0
jne 0x140271efa
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [str.HY__]
mov r8, qword [rdx]
mov qword [rbp + 0x118], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x120], rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rdx, qword [rbp + 0x38]
add rsp, 0x20
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x118]
mov qword [rdx], rcx
mov rcx, qword [rbp + 0x120]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x140], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x128]
lea r8, [rbp + 0x140]
sub rsp, 0x20
call fcn.1400bc650
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rcx, qword [rbp + 0x128]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rbp + 0x130]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x140271efa
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001dfdd
add rsp, 0x20
mov qword [rbp], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140035850
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 8], rax
mov word [rcx], 0x100
sub rsp, 0x20
call fcn.14008db90
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov qword [rbp + 0x108], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.140035a4a
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x362
sub rsp, 0x20
call fcn.14008e0ed
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 8]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
mov cx, 0xde3a
xor cx, 0xde33
sub rsp, 0x20
call fcn.14008e0ed
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 8]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rax + 8], rcx
mov ecx, 0x68
sub rsp, 0x20
call fcn.14008e0ed
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov dword [rbp - 4], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
mov eax, dword [0x1402b81f0]
xor eax, 0xf7e4f24c
mov ecx, dword [0x1402b81f4]
xor ecx, 0xf1ed5749
and eax, ecx
mov ecx, 0x4ed42c19
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xccac9fe4
add eax, ecx
add eax, 1
xor ecx, ecx
sub ecx, 0xab0c1c1e
sub eax, ecx
cmp eax, 0x22c097ef
jbe 0x140271f8b
mov r8d, dword [rbp - 4]
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1402b81f8]
mov edx, dword [0x1402b81fc]
xor edx, 0x6d5e3119
or eax, eax
xor eax, 0xffffffff
or edx, edx
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r9d, 0x724778a5
xor r9d, 0x5082c003
xor edx, edx
div r9d
mov r9d, 0x56eb5e4d
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x20]
mov r9d, eax
mov rax, qword [rbp]
xor r9d, 0x44711dad
mov dword [rbp - 0x14], r9d
mov qword [rbp + 0xf8], rdx
mov qword [rbp + 0x100], rcx
mov qword [rbp + 0xe8], 1
mov qword [rbp + 0xf0], rax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1401acb60
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x14]
mov qword [rbp - 0x10], rdx
mov cl, byte [rcx]
mov dl, 0x21
xor dl, 0x21
cmp cl, dl
sete cl
mov byte [rbp - 5], cl
cmp eax, 0xa09e1c25
ja 0x140271839
mov cl, byte [rbp - 5]
mov al, 1
test cl, 1
mov byte [rbp + 0x1f], al
jne 0x140271911
jmp 0x140271e8c
mov word [rbp + 0x13c], 0x50a
lea rcx, [rbp + 0x13c]
sub rsp, 0x20
call fcn.14008db90
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.140035a4a
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe0]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x30], r8
mov qword [rax], rdx
mov qword [rax + 8], rcx
lea rcx, [rbp + 0xb8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp + 0x60]
add rsp, 0x20
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xb8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401ac740
mov rcx, qword [rbp + 0x68]
add rsp, 0x30
mov dword [rbp - 0x24], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x140271e8c
sub rsp, 0x20
mov cx, 0x428
call fcn.14008d810
mov r8d, dword [rbp - 0x24]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x31], al
jne 0x140271a3a
jmp 0x140271dd3
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.140035850
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov qword [rax], 0
mov ecx, 0xaa404e1a
xor ecx, 0xaa404e1b
mov dword [rax + 8], ecx
mov ecx, 0x5bd
sub rsp, 0x20
call fcn.14008e0ed
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x50]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140271d97
movabs rcx, 0xca23c757d8511a29
movabs rax, 0xca23c757d8511a09
xor rcx, rax
movabs rdx, 0xbe1231b3b1ef121b
movabs rax, 0xbe1231b3b1ef1213
xor rdx, rax
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov word [rbp + 0xb6], 0x78f
lea rcx, [rbp + 0xb6]
sub rsp, 0x20
call fcn.14008db90
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140271d97
mov eax, dword [0x1402b8200]
xor edx, edx
div dword [0x1402b8204]
sub eax, 0x76340878
xor eax, 0x9da6c656
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3ce91e75
mov r8d, 0xffffffff
xor r8d, 0x3ce91e75
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x186fe826
xor r8d, 0x2486f653
mov edx, eax
and edx, r8d
mov r8d, 0xc3199bea
xor r8d, 0xfff0859f
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x8d70077f
jbe 0x140271f94
mov rax, qword [rbp - 0x58]
mov ecx, dword [0x1402b8208]
mov edx, 0x98b79645
xor edx, 0xed0ecf11
xor ecx, edx
mov edx, dword [0x1402b820c]
mov r8d, 0x80bcc0df
xor r8d, 0xa699a5cc
xor edx, r8d
xor ecx, edx
add ecx, 0xb391cdbe
xor ecx, 0x87eff74c
and ecx, 0xd113f36b
mov dword [rbp - 0x68], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140035a4a
mov rdx, qword [rbp - 0x60]
add rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14009f483
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov r8, qword [rbp + 0x80]
mov qword [rdx + 0x10], r8
mov r8, qword [rbp + 0x88]
mov qword [rdx + 0x18], r8
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x6f861cc6
jbe 0x140271b7f
mov rax, qword [rbp - 0x60]
mov dl, byte [rbp - 0x61]
mov cl, 1
test dl, 1
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140271c74
jmp 0x140271d97
mov eax, dword [0x1402b8210]
mov ecx, 0x766bd1ff
xor ecx, 0xdfcc7274
xor eax, ecx
mov edx, dword [0x1402b8214]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x24756d3e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x24756d3e
or eax, 0x24756d3e
imul eax, edx
add eax, ecx
mov edx, 0x507c9acd
xor edx, 0x9159d40d
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xc1254ec0
add eax, ecx
mov ecx, 0x4fd17f44
xor edx, edx
div ecx
cmp eax, 0x7a9f43be
ja 0x140271f9d
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x30]
mov ecx, dword [0x1402b8218]
mov r8d, dword [0x1402b821c]
xor r8d, 0x2fc23d63
sub ecx, r8d
mov r8d, 0xa7a2f598
xor r8d, 0x1a2a3a33
or ecx, r8d
mov r8d, 0xa68403d2
xor r8d, 0x323fa39e
or ecx, r8d
and ecx, 0xab01578c
mov dword [rbp - 0x70], ecx
mov rcx, qword [0x1402c5628]
mov qword [rdx + 0x20], rcx
mov rcx, qword [str.8V__]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140042db0
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x69], cl
cmp eax, 0x7ebdd57e
je 0x140271f9d
mov rax, qword [rbp - 0x60]
mov cl, byte [rbp - 0x69]
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jmp 0x140271d97
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x41]
mov rcx, qword [rbp - 0x40]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.140267aa0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x31], al
jne 0x140271dd3
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp + 0x68]
mov byte [rcx], al
mov byte [rbp - 0x31], al
mov al, byte [rbp - 0x31]
mov byte [rbp - 0x72], al
mov eax, dword [0x1402b8220]
add eax, dword [0x1402b8224]
sub eax, 0xba3d3c67
mov ecx, 0x4f692118
xor ecx, 0xb023668d
or eax, ecx
mov edx, 0x3a2555a1
xor edx, 0x564f4048
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x6c6a15e9
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x466455bc
jb 0x140271fa6
mov eax, dword [0x1402b8228]
sub eax, dword [0x1402b822c]
xor eax, 0xf2dac174
and eax, 0xdc2560b7
mov r8d, 0xd7aca84f
xor r8d, 0xdf1c7bbf
mov ecx, 0x3e5dc218
xor ecx, 0xc1a23de7
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8b0d3f0
or eax, 0x8b0d3f0
imul eax, edx
add eax, ecx
cmp eax, 0x314b2438
jbe 0x140271fa6
mov al, byte [rbp - 0x72]
mov byte [rbp + 0x1f], al
jmp 0x140271e8c
mov rcx, qword [rbp + 0x28]
mov al, byte [rbp + 0x1f]
mov byte [rbp - 0x74], al
cmp rcx, 0
mov byte [rbp - 0x73], al
je 0x140271eef
mov al, byte [rbp - 0x74]
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x73], al
jne 0x140271eef
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14001a7c0
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x73], al
mov al, byte [rbp - 0x73]
cmp al, 0
je 0x140271f82
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x140271f82
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0xc121db60
xor ecx, 0x152492e6
cmp eax, ecx
jne 0x140271f82
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14026a87e
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400c0539
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140271f82
sub rsp, 0x20
call fcn.14026a8b4
add rsp, 0x20
lea rsp, [rbp + 0x150]
pop rbp
ret
invalid
invalid
invalid
movabs al, byte [0x90fffffe74e97293]