Function at 0x14012c920
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x158
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rdx, qword [rsp + 0x120]
add rax, 0x60
mov qword [rsp + 0x128], rax
mov rax, qword [rdx]
mov qword [rsp + 0x130], rax
cmp rax, 0
jge 0x14012c996
mov rcx, qword [rsp + 0x130]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x14012daac
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x148]
call fcn.140031800
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x148]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x150]
mov qword [rax + 8], rdx
mov rdx, qword [rcx]
mov qword [rsp + 0xe8], rdx
add rcx, 8
mov qword [rsp + 0xf0], rcx
add rax, 8
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x138]
add rax, 8
mov qword [rsp + 0x100], rax
xor eax, eax
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xe0], rax
cmp rax, rcx
jge 0x14012daac
mov ecx, dword [0x1402afc00]
mov edx, dword [0x1402afc04]
xor edx, 0x4adceea2
mov eax, ecx
or eax, eax
mov r8d, 0x8f5e693c
xor r8d, 0x70a196c3
xor eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x350d3c3b
xor r8d, 0xcaf2c3c4
xor eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x6d7607dc
imul eax, eax, 0x6b49aea
mov ecx, 0xff19e0a9
xor ecx, 0x3d74e7d1
sub eax, ecx
cmp eax, 0xb03033d8
jbe 0x14012dabc
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x120]
mov r9d, dword [0x1402afc08]
xor r9d, 0x25030570
mov eax, dword [0x1402afc0c]
and r9d, eax
add r9d, 0x262b99a2
mov ecx, r9d
not ecx
and ecx, 0x4b1e9a47
mov eax, r9d
and eax, 0xb4e165b8
imul eax, ecx
mov ecx, r9d
and ecx, 0x4b1e9a47
or r9d, 0x4b1e9a47
imul r9d, ecx
add r9d, eax
mov eax, r9d
and eax, 0x458133b7
xor r9d, 0x458133b7
mov ecx, eax
mov eax, r9d
lea eax, [rax + rcx*2]
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0xd0], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0xdf], cl
cmp eax, 0xa6fc109b
je 0x14012caaa
mov al, byte [rsp + 0xdf]
test al, 1
jne 0x14012cb93
jmp 0x14012cb5b
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd0]
movabs rax, 0x3c8168a739a4a3cb
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x3c8168a739a4a3cb
add rdx, rax
call fcn.140025e55
jmp 0x14012daac
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0xc7], al
add al, 0xe0
movzx ecx, al
mov qword [rsp + 0xc8], rcx
sub al, 0x5e
ja 0x14012cfe8
mov rax, qword [rsp + 0xc8]
lea rcx, [0x14012db10]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x1402afc20]
xor edx, edx
div dword [0x1402afc24]
mov r11d, eax
mov eax, 0x8a2d00a2
xor eax, 0x8a2d00a2
mov ecx, 0xb21625cd
xor ecx, 0xac350295
sub eax, ecx
add r11d, eax
mov ecx, 0x4ed01e11
xor ecx, 0xb12fe1ee
mov eax, r11d
xor eax, ecx
mov ecx, 0xec360388
xor ecx, 0x2dff7d21
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc1c97ea9
and r11d, ecx
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf7ac0c7e
mov r8d, 0xffffffff
xor r8d, 0xc4d372d0
mov eax, ecx
and eax, 0xc4d372d0
and r11d, r8d
mov r9d, edx
and r9d, 0xc4d372d0
mov r10d, r8d
and r10d, 0xf7ac0c7e
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x4a450f18
xor edx, 0x8e967dc8
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0x3d4ed1ab
jb 0x14012dace
mov rcx, qword [rsp + 0x110]
mov edx, dword [0x1402afc28]
xor edx, 0x7794baed
sub edx, dword [0x1402afc2c]
mov r8d, 0x709e0659
xor r8d, 0x8f61f9a6
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, 0x6afa213d
and edx, 0x6afa213d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and eax, 0xdd6cc5b6
sub eax, 0x5e2c57f2
mov dword [rsp + 0x94], eax
movabs rdx, 0x9e5d2bb2e5e3df4d
movabs rax, 0x9e5d2bb2e5e3df4c
xor rdx, rax
call fcn.1400321d0
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x110]
mov eax, dword [rsp + 0x94]
mov rdx, qword [rdx]
mov r8, qword [rcx]
mov byte [rdx + r8 + 8], 0x25
mov rdx, qword [rcx]
mov rcx, rdx
add rcx, 1
mov qword [rsp + 0x98], rcx
mov r8, rdx
and r8, 0xffffffffffffffff
shl r8, 1
movabs r9, 0xa40acd532353f4fa
movabs r10, 0x5bf532acdcac0b05
xor r9, r10
add rdx, r9
sub rdx, r8
and rcx, rdx
movabs rdx, 0x7845a8bc540bcc14
movabs r8, 0x7845a8bc540bcc14
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0xa7], cl
cmp eax, 0xf16038c6
je 0x14012d0a8
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x14012d1bf
jmp 0x14012d1c9
call fcn.14000ee80
jmp 0x14012d27a
mov eax, dword [0x1402afc30]
mov ecx, dword [0x1402afc34]
mov edx, 0xef6395a0
xor edx, 0xfd7fe899
xor ecx, edx
xor eax, ecx
or eax, 0xb9016b77
xor eax, 0x194c22d1
mov ecx, 0x45273dd7
xor ecx, 0x7ea2dda4
xor eax, ecx
cmp eax, 0x64780000
je 0x14012dad7
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x110]
mov eax, dword [0x1402afc38]
mov r9d, dword [0x1402afc3c]
mov edx, 0x44a55ae3
xor edx, 0x3a148012
xor r9d, edx
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x98]
and eax, 0xa165073c
mov r9d, 0x7e3d0925
xor r9d, 0xd254ff29
or eax, r9d
sub eax, 0x22cbe1e
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0x2e
xor r8b, 0x2e
mov byte [rcx + rdx + 8], r8b
cmp eax, 0xb18ac0be
jae 0x14012dad7
jmp 0x14012d27a
mov al, byte [rsp + 0xc7]
movzx eax, al
mov edx, eax
movabs r8, 0x84323f164f88d1d8
movabs rax, 0x84323f164f88d1da
xor r8, rax
lea rcx, [rsp + 0x138]
call fcn.14012bc50
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x80], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x88], rcx
cmp byte [rax], 0
jne 0x14012d94c
mov ecx, dword [0x1402afc40]
or ecx, dword [0x1402afc44]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0xec33e5be
xor eax, 0xffffffff
mov edx, 0xec33e5be
and edx, 0xec33e5be
mov r8d, 0xad32cbe4
xor r8d, 0x52cd341b
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd633f5b3
xor ecx, 0x29cc0a4c
xor eax, ecx
mov ecx, eax
and ecx, 0x8050746e
mov edx, 0x54f649f6
xor edx, 0xab09b609
xor ecx, edx
mov edx, 0x298922f7
xor edx, 0xa9d95699
add eax, edx
add eax, 1
add eax, ecx
add eax, 0x1d420243
cmp eax, 0x99b96eeb
jbe 0x14012dae0
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x110]
mov r10d, dword [0x1402afc48]
xor r10d, 0xbaf9d444
xor r10d, dword [0x1402afc4c]
mov r8d, r10d
xor r8d, 0xffffffff
mov eax, 0x48acc45f
xor eax, 0x8be82e6d
and eax, r8d
mov r9d, 0xffffffff
xor r9d, 0xc344ea32
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x8f18e9f1
and r8d, 0xc344ea32
and r9d, 0x8f18e9f1
or eax, r10d
or r8d, r9d
xor eax, r8d
mov r8d, 0xa9212cec
xor r8d, 0x80dcbb35
and eax, r8d
mov r8d, 0x62b328df
xor r8d, 0xb5becc23
mov r9d, eax
xor r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xd70de4fc
mov r8d, 0x7427839c
xor r8d, 0x7427839e
imul r8d, r9d
sub r8d, 0xd70de4fc
sub eax, r8d
mov dword [rsp + 0x78], eax
call fcn.1400321d0
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x78]
movabs rdx, 0x2694d38feb8fc0d2
movabs r8, 0x2694d38feb8fc0d2
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rsp + 0x7f], cl
cmp eax, 0xb6370f21
jbe 0x14012dae0
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x14012d467
jmp 0x14012d94c
mov r9, qword [rsp + 0x80]
movabs rcx, 0x95508926fe2e244e
mov rax, r9
sub rax, rcx
add rax, 1
movabs rcx, 0xe63c1a57f8a23d86
movabs rdx, 0x736c9371068c19c8
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x7ccdcf86da051e20
and rcx, rdx
movabs r10, 0x6d190d435f505ac
movabs rdx, 0x7a1c5f52eff01b8c
xor r10, rdx
movabs rdx, 0x1454bd5e6e01f87
movabs r8, 0xfebab42a191fe078
xor rdx, r8
xor r10, rdx
and r9, r10
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x7ccdcf86da051e20
and rdx, r8
movabs r8, 0xd58e569fbb9670e5
movabs r11, 0x2a71a96044698f1a
xor r8, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14012d53c
call fcn.14000ee80
jmp 0x14012d94c
mov rax, qword [rsp + 0x70]
cmp rax, 0
jge 0x14012d5da
mov eax, dword [0x1402afc50]
xor eax, 0x35bf6a22
sub eax, dword [0x1402afc54]
mov ecx, 0x8a002c60
xor edx, edx
div ecx
mov ecx, 0xf1027564
xor edx, edx
div ecx
imul eax, eax, 0xa14a7c46
cmp eax, 0xde113a98
jae 0x14012dae9
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1402afc58]
mov r8d, dword [0x1402afc5c]
xor edx, edx
sub edx, r8d
add eax, edx
add eax, 0x6827c5ba
or eax, 0xb7fab5f4
mov edx, 0x911e85bf
xor edx, 0x76bddcbe
add eax, edx
mov dword [rsp + 0x6c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
mov eax, dword [rsp + 0x6c]
cmp eax, 0x75fe1607
jb 0x14012dae9
jmp 0x14012d94c
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x50], rcx
add rax, 8
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov r11d, dword [0x1402afc60]
and r11d, dword [0x1402afc64]
and r11d, 0xb58c4501
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x86961bd2
mov edx, 0xffffffff
xor edx, 0xf188ad5b
mov ecx, eax
and ecx, 0xf188ad5b
and r11d, edx
mov r9d, r8d
and r9d, 0xf188ad5b
mov r10d, edx
and r10d, 0x86961bd2
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0xf188ad5b
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x96976c83
xor ecx, 0x96976c83
or eax, ecx
cmp eax, 0x5906be10
jb 0x14012daf2
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov eax, dword [0x1402afc68]
xor eax, 0x6ba5e9f9
mov r11d, dword [0x1402afc6c]
mov r10d, eax
xor r10d, r11d
xor r10d, 0xffffffff
or eax, r11d
and eax, r10d
imul eax, eax, 0xda7acf83
mov r10d, eax
xor r10d, 0x3bdbf6af
xor r10d, 0xffffffff
or eax, 0x3bdbf6af
and eax, r10d
or eax, eax
mov r10d, 0x2e74c793
xor r10d, 0xd18b386c
xor eax, r10d
mov r10d, 0xffffffff
xor r10d, 0x7d6ec02c
mov r11d, 0xffffffff
xor r11d, 0x7d6ec02c
and r10d, r11d
or eax, r10d
mov r10d, 0xbc04c253
xor r10d, 0x43fb3dac
xor eax, r10d
mov r9b, byte [r9 + rcx]
mov byte [r8 + rcx], r9b
mov r8, rcx
add r8, 1
mov qword [rsp + 0x38], r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0xbbc81e77
ja 0x14012d6a0
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x14012d77c
jmp 0x14012d611
mov eax, dword [0x1402afc70]
xor eax, 0xa8f600c
xor edx, edx
div dword [0x1402afc74]
mov ecx, 0x83d4a05
xor ecx, 0x624873e7
add eax, ecx
xor eax, 0x6081c23
add eax, 0x40dd2c37
mov ecx, 0x36bd2e1e
xor ecx, 0x30c18485
sub eax, ecx
sub eax, 0x40dd2c37
mov ecx, 0xf3c9c291
xor ecx, 0x5acb7718
cmp eax, ecx
ja 0x14012dafb
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x110]
mov eax, dword [0x1402afc78]
mov r9d, dword [0x1402afc7c]
mov r8d, eax
and r8d, r9d
xor eax, r9d
or r8d, eax
mov eax, r8d
xor eax, 0x5535a511
mov r9d, 0xffffffff
xor r9d, 0x5535a511
and r8d, r9d
shl r8d, 1
sub r8d, eax
mov eax, r8d
and eax, 0x1f07992b
xor eax, 0xffffffff
mov r9d, 0x9072e20a
xor r9d, 0x8f757b21
add r8d, r9d
mov r9d, 0x47683f9f
xor r9d, 0x47683f9e
add r8d, r9d
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0xcab3922
mov r9d, 0xffffffff
xor r9d, 0xcab3922
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r10, qword [rcx]
mov r8, r10
add r8, rdx
mov qword [rsp + 0x28], r8
mov rcx, r8
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, r10
xor rcx, 0xffffffffffffffff
and r10, r10
xor r10, 0xffffffffffffffff
mov r9, r8
and r9, r10
movabs r10, 0x28ae7e3f3e8e1aa7
movabs r11, 0xd75181c0c171e558
xor r10, r11
xor r9, r10
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or rcx, r9
xor r8, rdx
mov rdx, rcx
add rdx, 1
movabs r9, 0x786a8a5246db2177
movabs r10, 0x879575adb924de88
xor r9, r10
xor rcx, r9
or rcx, r8
add rcx, rdx
movabs rdx, 0x509f4a8cc1b2bf50
movabs r8, 0x509f4a8cc1b2bf50
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xb6054f11
jae 0x14012dafb
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14012d92d
jmp 0x14012d937
call fcn.14000ee80
jmp 0x14012d95e
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
jmp 0x14012d95e
mov rax, qword [rsp + 0x88]
cmp rax, 0
je 0x14012da2c
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
movabs rcx, 0x2a415b2452f5ac7d
movabs rdx, 0x6a415b2452f5ac7d
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14012da2c
mov eax, dword [0x1402afc80]
xor edx, edx
div dword [0x1402afc84]
mov ecx, 0xf62fe421
xor ecx, 0xa344664f
add eax, ecx
mov ecx, 0xdf35d200
xor ecx, 0xdd0ce2dc
add eax, ecx
mov ecx, 0x50293225
xor ecx, 0x1fd64611
sub eax, ecx
sub eax, 0x23930dc
mov ecx, 0x66ccd18f
xor edx, edx
div ecx
cmp eax, 0x89356c57
je 0x14012db04
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402afc88]
xor edx, edx
div dword [0x1402afc8c]
add eax, 0x2415051f
or eax, 0x7855751
sub eax, 0x615bef9d
mov dword [rsp + 0x24], eax
mov eax, 0x8ea59568
xor eax, 0xe2e8d7ef
mov dword [rsp + 0x20], eax
call fcn.14001a7c0
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
cmp eax, ecx
jb 0x14012db04
jmp 0x14012da2c
mov rax, qword [rsp + 0x128]
mov al, byte [rax]
mov cl, 0x9a
xor cl, 0x9a
cmp al, cl
jne 0x14012daac
mov rdx, qword [rsp + 0xe0]
movabs rcx, 0x22453adbdd77ee12
movabs rax, 0x22453adbdd77ee13
xor rcx, rax
movabs rax, 0xbd95d1704526fdaa
movabs r8, 0x426a2e8fbad90255
xor rax, r8
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x108], rax
jge 0x14012ca13
call fcn.14000ee80
mov rax, qword [rsp + 0x118]
add rsp, 0x158
ret
not byte [rbp - 0x46]
wait
jmp 0x14012caaa
add bh, byte [rax - 0x49]
sub ch, cl
sal ebp, 1
invalid
push 0x7e
sbb al, byte [rsi]
jmp 0x14012d206
popfq
invalid
mov dl, 0xd9
fucompp
invalid
test al, 0x6a
or cl, bl
jmp 0x14012d6a0
jmp qword [rsi - 0x3816cbe3]
invalid