Function at 0x140089ea0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0xa0], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0xa0]
add rax, 0x60
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx]
mov qword [rsp + 0xb0], rax
cmp rax, 0
je 0x14008a2dd
mov eax, dword [0x1402ab8c8]
mov r8d, dword [0x1402ab8cc]
mov ecx, 0x963c3532
xor ecx, 0x551418e5
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x53afa7f8
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9d5ef79c
mov r8d, 0xe28ef275
xor r8d, 0x7fd005e9
mov ecx, 0x4db72bf5
xor ecx, 0xb248d40a
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9d5ef79c
mov r8d, 0x94179326
xor r8d, 0x94964ba
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x335349b8
mov ecx, 0x90ac3146
xor ecx, 0x2c86722
cmp eax, ecx
jbe 0x14008a767
mov rdx, qword [rsp + 0xb0]
mov ecx, dword [0x1402ab8d0]
mov r9d, dword [0x1402ab8d4]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, r9d
and r8d, eax
mov r10d, r9d
xor r10d, 0xffffffff
mov eax, ecx
and eax, r10d
imul eax, r8d
mov r8d, ecx
and r8d, r9d
or ecx, r9d
imul ecx, r8d
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0xce118dd
mov r8d, 0xb903581
xor r8d, 0xf46fca7e
xor eax, r8d
mov r8d, 0xd6bac60b
xor r8d, 0xda5bded6
mov r9d, 0x7a326d90
xor r9d, 0x76d3754d
and r8d, r9d
mov r9d, 0x6c4d4287
xor r9d, 0x93b2bd78
xor r8d, r9d
mov r9d, 0xc470f3b6
xor r9d, 0x3b8f0c49
xor ecx, r9d
xor r8d, 0xffffffff
or ecx, r8d
and eax, ecx
mov ecx, 0xf4826d9d
xor ecx, 0xb7d9262
xor eax, ecx
mov ecx, 0x641f9896
xor ecx, 0xea38db66
imul eax, ecx
mov ecx, 0x6accb7bf
xor ecx, 0xd4e81fd6
sub eax, ecx
mov ecx, 0x1c655573
xor ecx, 0x81146e4d
mov r8, rdx
add r8, 0xfffffffffffffff0
mov qword [rsp + 0x88], r8
mov rdx, qword [rdx - 0x10]
mov qword [rsp + 0x90], rdx
cmp rdx, 0xf
seta dl
mov byte [rsp + 0x9f], dl
cmp eax, ecx
jbe 0x14008a767
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14008a0ae
jmp 0x14008a1aa
mov r8, qword [rsp + 0x90]
movabs rcx, 0xefe5f8136ff9437
movabs rax, 0xefe5f8136ff9437
xor rcx, rax
movabs rax, 0x8eabea86f343f29
movabs rdx, 0xf715415790cbc0d9
xor rax, rdx
sub rcx, rax
mov rax, r8
sub rax, rcx
mov qword [rsp + 0x80], rax
mov rcx, rax
and rcx, rcx
movabs rdx, 0x7052802d96dfbfd5
movabs r9, 0x8fad7fd26920402a
xor rdx, r9
xor rcx, rdx
movabs rdx, 0xcd42fa8db68bcec
movabs r9, 0xf32bd05724974313
xor rdx, r9
xor rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and r8, r8
movabs rdx, 0xbf0cba1accfc2f17
movabs r9, 0x40f345e53303d0e8
xor rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14008a188
jmp 0x14008a192
call fcn.14000ee80
jmp 0x14008a2dd
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
jmp 0x14008a2dd
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x88]
cmp qword [rcx + 8], 0
mov qword [rsp + 0x78], rax
jle 0x14008a1e7
mov rcx, qword [rsp + 0x88]
call fcn.140015de0
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x78]
call fcn.140089ea0
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0
jne 0x14008a691
mov eax, dword [0x1402ab8d8]
or eax, dword [0x1402ab8dc]
mov ecx, 0xfd9483db
xor ecx, 0x26b7c24
mov edx, eax
xor edx, ecx
and edx, 0x95a8585e
mov r8d, 0xd489e47c
xor r8d, 0x4121bc22
mov ecx, 0xa3ac5421
xor ecx, 0x5c53abde
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x95a8585e
or eax, 0x95a8585e
imul eax, edx
add eax, ecx
xor eax, 0x521e7725
imul eax, eax, 0x707a3061
cmp eax, 0xe82fb7f1
je 0x14008a770
mov rax, qword [rsp + 0xa0]
mov ecx, dword [0x1402ab8e0]
and ecx, dword [0x1402ab8e4]
mov edx, ecx
and edx, 0xa55bba74
shl edx, 1
xor ecx, 0xa55bba74
add ecx, edx
mov r8d, 0x92b7bdd9
xor r8d, 0xf02264a8
mov edx, ecx
and edx, r8d
shl edx, 1
xor ecx, 0x6295d971
add ecx, edx
and ecx, 0x4de7b21
mov dword [rsp + 0x74], ecx
mov rcx, qword [rax]
mov edx, 8
call fcn.14001ab40
mov eax, dword [rsp + 0x74]
cmp eax, 0xb73b2e63
jae 0x14008a770
jmp 0x14008a2dd
mov rax, qword [rsp + 0xa0]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x14008a51c
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x50], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x58], rax
cmp rax, 0xf
jbe 0x14008a3d6
mov rdx, qword [rsp + 0x58]
movabs rcx, 0x6f569c20c812f104
movabs rax, 0x6f569c20c812f104
xor rcx, rax
movabs rax, 0x95508926fe2e244e
movabs r8, 0x6aaf76d901d1dbbe
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, rax
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14008a3ba
jmp 0x14008a3c4
call fcn.14000ee80
jmp 0x14008a51c
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14008a51c
mov eax, dword [0x1402ab8e8]
mov ecx, 0x2f0013ef
xor ecx, 0x3ee7199e
xor eax, ecx
mov ecx, dword [0x1402ab8ec]
xor ecx, 0xd9eb2386
or eax, ecx
mov ecx, 0x330a0956
xor ecx, 0x9a414222
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x2290c2e9
xor edx, 0xa2658b6a
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x80f54983
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x80f54983
or eax, 0x80f54983
imul eax, edx
add eax, ecx
mov ecx, 0xd5c031ac
xor edx, edx
div ecx
cmp eax, 0x363d22d1
je 0x14008a779
mov ecx, dword [0x1402ab8f0]
mov edx, dword [0x1402ab8f4]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
mov edx, 0x5c1b34bb
xor edx, 0xa3e4cb44
xor ecx, edx
mov edx, 0xe009dfd2
xor edx, 0x1ff6202d
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xa4fd4089
and eax, 0xa5fa71d3
mov ecx, 0xb60ccd8f
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, 0x72242d10
xor ecx, 0x1bd505e2
cmp qword [rdx + 8], 0
setg dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
je 0x14008a779
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x14008a4d8
jmp 0x14008a4ef
mov rcx, qword [rsp + 0x50]
call fcn.140015de0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x38]
call fcn.140089ea0
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0
jne 0x14008a691
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov edx, 8
call fcn.14001ab40
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x14008a691
mov eax, dword [0x1402ab8f8]
imul eax, dword [0x1402ab8fc]
mov ecx, 0xf2e465db
xor edx, edx
div ecx
xor eax, 0xffffffff
mov edx, 0x88bd1901
xor edx, 0x53a519ed
mov ecx, 0x45d18893
xor ecx, 0xba2e776c
xor edx, ecx
mov ecx, 0x5ee7b1b4
xor ecx, 0xdc5be74a
mov r8d, 0x12ca73ac
xor r8d, 0xed358c53
xor ecx, r8d
or eax, edx
or ecx, 0x82bc56fe
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xb90fe1f5
xor edx, edx
div ecx
cmp eax, 0xde07cb89
je 0x14008a782
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1402ab900]
mov edx, dword [0x1402ab904]
mov r8d, 0xec873d06
xor r8d, 0xd371140b
xor edx, r8d
sub eax, edx
mov edx, eax
and edx, 0x6f06fa2f
xor edx, 0xffffffff
add eax, 0x6f06fa2f
add eax, 1
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xe7ffe6a0
mov r9d, 0xffffffff
xor r9d, 0xe7ffe6a0
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xe7ffe6a0
mov r9d, 0xcd49f6b3
xor r9d, 0x2ab61013
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x9268b143
xor edx, 0x261be762
xor eax, edx
mov rdx, qword [rcx]
movabs r8, 0x4000000000000000
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xeb8062b2
je 0x14008a782
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14008a687
jmp 0x14008a691
mov rcx, qword [rsp + 0x30]
call fcn.14001a7c0
mov ecx, dword [0x1402ab908]
mov eax, 0xd997ea81
xor eax, 0x51da94ed
xor ecx, eax
mov edx, dword [0x1402ab90c]
xor edx, 0xbcb60208
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0x23058a9c
xor r8d, 0xdcfa7563
xor edx, r8d
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfd890ac0
mov r8d, 0xffffffff
xor r8d, 0xfd890ac0
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfd890ac0
or eax, 0xfd890ac0
imul eax, edx
add eax, ecx
mov ecx, 0x555780d6
xor edx, edx
div ecx
and eax, 0x9444181a
cmp eax, 0xbd370729
je 0x14008a78b
mov eax, dword [0x1402ab910]
xor eax, 0x967f3b03
sub eax, dword [0x1402ab914]
mov ecx, 0x928b32ad
xor ecx, 0xed2b209
xor eax, ecx
mov ecx, 0x95708518
xor ecx, 0xdf2546d5
or eax, ecx
mov ecx, 0x4ee580a8
xor ecx, 0x3825d6cf
xor edx, edx
div ecx
cmp eax, 0x32caabea
jae 0x14008a71a
add rsp, 0xb8
ret
sahf
invalid
lahf
jbe 0x14008a7c1
invalid
invalid
std
sbb eax, 0x19e9ed5a
invalid
invalid
mov dword [rsp + 0x40], eax
cmp rcx, 0
je 0x14008a8fd
mov rax, qword [rsp + 0x38]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0xfffffffffffffff0
add rcx, rax
movabs rax, 0x825b5726e3cfa6ea
movabs rdx, 0x825b5726e3cfa6ea
xor rax, rdx
sub rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
movabs rcx, 0x8500c864e37691a3
movabs rdx, 0x8500c864e37691ac
xor rcx, rdx
cmp rax, rcx
jbe 0x14008a89d
mov rdx, qword [rsp + 0x30]
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x20], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
xor cl, 0xff
and al, cl
mov cl, dl
xor cl, 0xff
mov r8b, 1
xor r8b, 0
xor dl, r8b
and cl, dl
or al, cl
xor al, 0xff
test al, 1
jne 0x14008a881
jmp 0x14008a88b
call fcn.14000ee80
jmp 0x14008a8fd
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
jmp 0x14008a8fd
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 8]
movabs rcx, 0x2e1dc6b4644e2627
movabs rdx, 0x2e1dc6b4644e2627
xor rcx, rdx
cmp rax, rcx
jle 0x14008a8d0
mov rcx, qword [rsp + 0x28]
call fcn.140015de0
mov rcx, qword [rsp + 0x38]
call fcn.140089ea0
mov rax, qword [rsp + 0x40]
mov al, byte [rax]
mov cl, 0xf8
xor cl, 0xf8
cmp al, cl
jne 0x14008a8fd
mov rcx, qword [rsp + 0x38]
mov edx, 8
call fcn.14001ab40
mov eax, dword [0x1402ab918]
add eax, dword [0x1402ab91c]
mov ecx, 0x814d30b3
xor edx, edx
div ecx
sub eax, 0x1e232758
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc1c97ea9
mov edx, 0xffffffff
xor edx, 0xc1c97ea9
and eax, edx
sub eax, ecx
cmp eax, 0x258fdc15
ja 0x14008a9c0
mov ecx, dword [0x1402ab920]
xor ecx, 0xd9d69f33
mov eax, dword [0x1402ab924]
sub ecx, 0x9049e3b9
sub ecx, eax
mov eax, 0xe183a5d9
xor eax, 0x71ca4660
add ecx, eax
sub ecx, 0x72e213ef
mov edx, 0x537c9b1
xor edx, 0x6fcde88c
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0x229367db
xor edx, 0x486946e6
or ecx, edx
mov edx, 0xaabcc881
xor edx, 0x5543377e
xor ecx, edx
or eax, ecx
mov ecx, 0x32227d02
xor ecx, 0xcddd82fd
xor eax, ecx
and eax, 0xdd6cc5b6
mov ecx, 0x61890b75
xor ecx, 0x8bad8852
cmp eax, ecx
ja 0x14008a93c
add rsp, 0x48
ret
ret 0x7473