Function at 0x1401a9340
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x170
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe8], rcx
mov eax, dword [0x1401e0490]
mov r8d, dword [0x1401e0494]
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
mov ecx, 0xbb2bc685
xor ecx, 0x11c95520
sub eax, ecx
mov ecx, 0x521eee37
xor ecx, 0xfec952cd
sub eax, ecx
mov ecx, 0x3f9b0ac6
xor ecx, 0x95799963
add eax, ecx
mov ecx, 0x49deb2a3
xor edx, edx
div ecx
mov ecx, 0x1174226f
xor ecx, 0x18decaee
and eax, ecx
cmp eax, 0x441038f8
ja 0x1401a9faa
xor eax, eax
mov dword [rbp + 0xd4], eax
mov eax, 0x67a08ecf
mov dword [rbp + 0xd0], eax
mov eax, 0x10
mov qword [rbp + 0xa0], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
sub rsp, 0x20
call fcn.1401af52d
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov qword [rbp + 0xc8], rax
add rax, 0x60
mov qword [rbp + 0xc0], rax
mov word [rcx], 0xf9
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp + 0xc8]
mov ecx, dword [rbp + 0xd0]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xd4]
mov qword [rbp + 0xd8], r8
mov dl, byte [rdx + 0x60]
mov r8b, 0x71
xor r8b, 0x71
cmp dl, r8b
sete dl
mov byte [rbp + 0xe7], dl
cmp eax, ecx
ja 0x1401a93d0
mov al, byte [rbp + 0xe7]
test al, 1
jne 0x1401a960f
jmp 0x1401a9e28
mov rcx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd8]
mov r9, qword [0x1401eb878]
mov r10, qword [r9]
mov qword [rdx], r10
mov r9, qword [r9 + 8]
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1401a3acf
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x18], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x1401a9e28
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.1400105f0
add rsp, 0x20
mov qword [rbp - 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp], rax
mov word [rcx], 0x26d
sub rsp, 0x20
call fcn.1400629b3
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp + 8]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001d024
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0xfed1
xor cx, 0xfef7
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
mov eax, dword [0x1401e04a0]
mov ecx, dword [0x1401e04a4]
mov edx, 0x91ee008
xor edx, 0xf0860d34
xor ecx, edx
or eax, ecx
mov ecx, 0xd3f94289
xor ecx, 0x18592e52
imul eax, ecx
mov ecx, 0xd2527c0
xor ecx, 0xe18b0206
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xecae25c6
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa609d6fe
mov edx, 0xffffffff
xor edx, 0xa609d6fe
and eax, edx
sub eax, ecx
cmp eax, 0x91391a27
je 0x1401a9fb3
mov eax, dword [0x1401e04a8]
xor edx, edx
div dword [0x1401e04ac]
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x10da6295
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xa95e513d
xor ecx, 0xcc01658d
add eax, ecx
mov r8d, 0xc8845750
xor r8d, 0x25ea3fa7
mov ecx, 0xf9176f9a
xor ecx, 0x6e89065
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3754e063
xor r8d, 0xc8ab1f9c
xor ecx, r8d
imul ecx, edx
mov r8d, 0xe4a69325
xor r8d, 0x9c8fbd2
mov edx, eax
and edx, r8d
or eax, 0xed6e68f7
imul eax, edx
add eax, ecx
mov dword [rbp - 0x10], eax
mov ecx, 0x742
sub rsp, 0x20
call fcn.140062c50
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x10]
mov dword [rdx + 0x14], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x363da6cc
jb 0x1401a97b7
mov cl, byte [rbp - 9]
mov al, 1
test cl, 1
mov byte [rbp + 0x17], al
jne 0x1401a988d
jmp 0x1401a9d98
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rax + 8], rcx
mov ecx, 0x1d1
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
mov r8d, dword [rbp - 0x14]
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 8]
mov r9, qword [rbp + 0x20]
mov r10, qword [rbp + 0x18]
mov qword [rcx], r10
mov qword [rcx + 8], r9
mov qword [rdx], 1
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140134a30
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
mov rcx, qword [rbp + 0x30]
mov word [rcx], 0x1c5
sub rsp, 0x20
call fcn.1400629b3
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x28]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001d024
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x88]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov r9, qword [r9]
add r9, 0x18
mov qword [rbp - 0x38], r9
mov qword [rax], r8
mov qword [rax + 8], rdx
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp + 0x80]
mov rax, qword [rbp + 0x88]
add rsp, 0x20
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140134590
mov rcx, qword [rbp + 0xc0]
add rsp, 0x30
mov dword [rbp - 0x2c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401a9d98
sub rsp, 0x20
mov cx, 0x29f
call fcn.140062790
mov r8d, dword [rbp - 0x2c]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc0]
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 - 0x39], al
jne 0x1401a9a35
jmp 0x1401a9cde
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0xa17
sub rsp, 0x20
call fcn.140062c50
mov rcx, qword [rbp - 0x58]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0xc0]
mov dword [rcx + 0xc], edx
mov dl, byte [rax]
mov r8b, 0x72
xor r8b, 0x72
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401a9bcf
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov word [rcx], 0x478
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401a9bcf
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp - 0x60]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001d024
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp - 0x68]
add rsp, 0x20
mov r8, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140070540
mov r8, qword [rbp + 0xb0]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rcx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401a9bcf
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0xe8]
mov rcx, qword [0x1401eb108]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401eb110]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140027d11
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0xc0]
mov dl, byte [rbp - 0x49]
mov rcx, qword [rbp - 0x48]
mov byte [rbp - 0x69], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a0b63
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1401a9cde
mov ecx, dword [0x1401e04b0]
mov eax, dword [0x1401e04b4]
xor eax, 0xffffffff
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
and eax, 0x7c576e54
mov edx, 0x2e822c51
xor edx, 0x52d54205
xor ecx, edx
or eax, ecx
sub eax, 0x613116f7
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xaf3fb2e1
or ecx, 0xaf3fb2e1
mov edx, 0x240e5d2a
xor edx, 0xdbf1a2d5
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xd0184fa6
je 0x1401a9fbc
mov rcx, qword [rbp + 0xc0]
mov eax, dword [0x1401e04b8]
mov edx, dword [0x1401e04bc]
mov r8d, 0x9535ccee
xor r8d, 0xf4e40344
xor edx, r8d
imul eax, edx
mov r8d, 0xc97e33c4
xor r8d, 0xe3ab9a53
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
mov r8d, 0x1d182bc1
xor r8d, 0x37cd8256
or eax, r8d
and eax, edx
mov r8d, 0x161d7224
xor edx, edx
div r8d
mov dl, byte [rbp - 0x69]
imul eax, eax, 0x2fd3d36a
mov byte [rcx], dl
cmp eax, 0xff2b4976
jae 0x1401a9c65
mov al, byte [rbp - 0x69]
mov byte [rbp - 0x39], al
jmp 0x1401a9cde
mov al, byte [rbp - 0x39]
mov byte [rbp - 0x6a], al
mov eax, dword [0x1401e04c0]
or eax, dword [0x1401e04c4]
mov ecx, 0xc483137b
xor edx, edx
div ecx
sub eax, 0x7e750c9
mov ecx, 0x55de9b9e
xor edx, edx
div ecx
mov ecx, 0x348031d9
xor ecx, 0x9ec412f4
cmp eax, ecx
je 0x1401a9fc5
mov eax, dword [0x1401e04c8]
xor eax, 0x8f6d650a
mov r8d, dword [0x1401e04cc]
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
mov ecx, 0xcc81a43
xor edx, edx
div ecx
and eax, 0xcae9b160
mov ecx, eax
xor ecx, 0xbfe7d2f5
mov edx, 0xffffffff
xor edx, 0xbfe7d2f5
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xdfe6e4d8
xor ecx, 0x79a5cd81
cmp eax, ecx
jae 0x1401a9d1a
mov al, byte [rbp - 0x6a]
mov byte [rbp + 0x17], al
jmp 0x1401a9d98
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp + 0x17]
mov byte [rbp - 0x6c], al
cmp rcx, 0
mov byte [rbp - 0x6b], al
je 0x1401a9e1d
mov al, byte [rbp - 0x6c]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rcx]
movabs r8, 0xbbb8cef3f1a50a75
movabs rcx, 0xfbb8cef3f1a50a75
xor r8, rcx
movabs rcx, 0x704e7863c5384278
movabs r9, 0x8fb1879c3ac7bd87
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x6b], al
jne 0x1401a9e1d
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000eb2e
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x6b], al
mov al, byte [rbp - 0x6b]
cmp al, 0
je 0x1401a9fa1
mov eax, dword [0x1401e04d0]
mov ecx, dword [0x1401e04d4]
sub eax, 0x45542650
sub eax, ecx
add eax, 0x45542650
sub eax, 0x89bd35e0
xor eax, 0xfcaf8deb
add eax, 0x6ecb16d4
cmp eax, 0x4bbca6f7
je 0x1401a9fce
mov r11d, dword [0x1401e04d8]
xor r11d, 0xf6f9b8d4
mov eax, dword [0x1401e04dc]
xor eax, 0xb8e1a767
and r11d, eax
sub r11d, 0x1ee3d467
add r11d, 0x12a2951a
add r11d, 0x1ee3d467
add r11d, 0x7cf550c
mov eax, 0x1d546602
xor eax, 0xe2ab99fd
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x78f0faa
mov edx, 0xce70c5bf
xor edx, 0xc2a7f2e9
mov eax, 0x8bf3b59d
xor eax, 0x740c4a62
xor edx, eax
mov eax, ecx
and eax, 0xcd73756
and r11d, edx
mov r10d, 0x184cf03f
xor r10d, 0x149bc769
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x78f0faa
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xcd73756
and ecx, edx
or eax, ecx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1401a3b4b
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x58061440
jb 0x1401a9fce
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1401a9f48
jmp 0x1401a9fa1
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401a9fa1
mov rax, qword [rbp + 0xc0]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a3b5d
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a9fa1
sub rsp, 0x20
call fcn.1401a3bc0
add rsp, 0x20
lea rsp, [rbp + 0xf0]
pop rbp
ret
call 0x129f3ae3e
sbb eax, 0xc0fffff4
or esi, dword [rbp - 0x8041664]
invalid
ror byte [rbx], 0xb5
pushfq
jmp 0x1401a97b7
pop rdx
mov ch, dl
mov ebx, 0xfffca0e9
invalid
cmp byte [rcx + 0xe], al
sbb ch, cl
std
invalid
invalid