Function at 0x1401a0d80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x58], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
sub rsp, 0x20
call fcn.1401a7c51
add rsp, 0x20
mov qword [rbp + 0x78], rax
add rax, 0x60
mov qword [rbp + 0x70], rax
mov word [rbp + 0x126], 0x984
lea rcx, [rbp + 0x126]
sub rsp, 0x20
call fcn.140062840
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x80], rcx
cmp byte [rax + 0x60], 0
jne 0x1401a184e
mov rdx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x80]
mov rcx, qword [0x1401dda18]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x110]
lea r8, [rbp + 0x100]
sub rsp, 0x20
call fcn.14019d3cc
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov rcx, qword [rbp + 0x110]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rbp + 0x118]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x1401a184e
mov eax, dword [0x1401d2cd0]
mov ecx, dword [0x1401d2cd4]
xor ecx, 0x886ed15c
xor eax, ecx
mov edx, eax
xor edx, 0x5ca1ef48
mov ecx, 0xf1273fb1
xor ecx, 0xed8c04e
xor edx, ecx
mov ecx, 0xfe098478
xor ecx, 0xa2a86b30
and ecx, edx
shl ecx, 1
mov edx, 0xc496661d
xor edx, 0x98378955
sub ecx, edx
sub eax, ecx
mov ecx, 0x73b92c8
xor edx, edx
div ecx
mov ecx, 0x45180a7b
xor ecx, 0xe1685b7e
sub eax, ecx
mov ecx, 0xe37117ab
xor ecx, 0xd01b5a33
cmp eax, ecx
je 0x1401a18e0
mov ecx, dword [0x1401d2cd8]
mov edx, dword [0x1401d2cdc]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x38c53b66
xor r8d, 0xc73ac499
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8d10165c
mov r8d, 0xffffffff
xor r8d, 0x8d10165c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8d10165c
or eax, 0x8d10165c
imul eax, edx
add eax, ecx
mov ecx, 0x545c3ed7
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x8467197
mov edx, 0xf3ddff47
xor edx, 0xfb9b8ed0
mov ecx, 0x2d736dfc
xor ecx, 0xd28c9203
xor edx, ecx
and r8d, edx
mov ecx, 0x69b22f4f
xor ecx, 0xcca56b2b
mov r9d, 0x85e25f40
xor r9d, 0x7a1da0bf
xor ecx, r9d
and ecx, 0x8467197
and edx, 0xa5174464
or eax, r8d
or ecx, edx
xor eax, ecx
mov dword [rbp + 0xc], eax
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14000f990
add rsp, 0x20
mov qword [rbp - 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001be40
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp], rax
mov word [rcx], 0x29e
sub rsp, 0x20
call fcn.140062840
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1f], cl
cmp eax, 0x693d8ff0
jb 0x1401a18e0
mov cl, byte [rbp + 0x1f]
mov al, 1
test cl, 1
mov byte [rbp - 9], al
jne 0x1401a108d
jmp 0x1401a17f1
mov eax, dword [0x1401d2ce0]
add eax, dword [0x1401d2ce4]
mov ecx, 0xd39179b9
xor ecx, 0xc5f08167
xor edx, edx
div ecx
mov ecx, 0x726a8436
xor ecx, 0x5d8d7d12
or eax, ecx
mov edx, 0x17639b7f
xor edx, 0xe89c6480
mov ecx, eax
xor ecx, edx
and ecx, 0xe01cbc33
mov edx, 0xffffffff
xor edx, 0xe01cbc33
and eax, edx
sub eax, ecx
cmp eax, 0x285cda41
jbe 0x1401a18e9
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x10]
mov edx, dword [0x1401d2ce8]
mov r9d, dword [0x1401d2cec]
xor r9d, 0x344d48bd
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
mov r10d, r9d
or r10d, r10d
xor r10d, 0xffffffff
xor r8d, 0xffffffff
xor r10d, 0xffffffff
and r8d, r10d
or edx, r9d
mov r9d, 0xccb1a321
xor r9d, 0x334e5cde
xor edx, r9d
or r8d, edx
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x719efdaa
mov r9d, 0x1998e1e9
xor r9d, 0x1998e1e9
mov r10d, 0xc3ab4f7c
xor r10d, 0xc3ab4f7d
sub r9d, r10d
sub edx, r9d
sub r8d, edx
add r8d, 0x80ed1600
mov r9d, 0x7903c88d
xor r9d, 0x86fc3772
mov edx, r8d
xor edx, r9d
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
mov r9d, 0xffffffff
xor r9d, 0xa0288cfe
mov r10d, 0xffffffff
xor r10d, 0xa0288cfe
and r9d, r10d
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xa0288cfe
and r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov dword [rbp - 0x10], edx
mov rdx, qword [rax]
mov qword [rbp + 0xf0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.14001c072
mov rcx, qword [rbp + 0x48]
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, 0x7def
xor cx, 0x7cb9
sub rsp, 0x20
call fcn.140062d70
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x10]
mov dword [rdx + 0x10], r8d
mov cl, byte [rcx]
mov dl, 0x20
xor dl, 0x20
cmp cl, dl
sete cl
mov byte [rbp - 0xa], cl
cmp eax, 0x5b7b68ba
je 0x1401a10e4
mov cl, byte [rbp - 0xa]
mov al, 1
test cl, 1
mov byte [rbp - 9], al
jne 0x1401a126a
jmp 0x1401a17f1
mov ecx, 0x499
sub rsp, 0x20
call fcn.140062d70
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401a17f1
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rax + 8], rcx
mov ecx, 0x854
sub rsp, 0x20
call fcn.140062d70
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401a17f1
mov eax, dword [0x1401d2cf0]
mov r8d, dword [0x1401d2cf4]
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
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x910a13c3
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0x6e322198
sub eax, 0x48b3c158
add eax, 0x6fcca755
add eax, 0x48b3c158
cmp eax, 0x972776b5
jae 0x1401a18f2
mov r8d, dword [rbp - 0x14]
mov rcx, qword [rbp + 0x50]
mov r9, qword [rbp + 0x20]
mov eax, dword [0x1401d2cf8]
xor edx, edx
div dword [0x1401d2cfc]
mov rdx, qword [rbp + 0x28]
mov r10d, eax
mov rax, qword [rbp - 8]
add r10d, 0xd183e6bd
mov r11d, 0xf494dcc4
xor r11d, 0x835012b7
sub r10d, r11d
sub r10d, 0xd183e6bd
imul edi, r10d, 0x6394f5
mov r10d, 0x228d4b12
xor r10d, 0xdd72b4ed
mov r11d, edi
xor r11d, r10d
mov r10d, 0xa0119844
xor r10d, 0xe06a91a4
and r10d, r11d
mov esi, 0xffffffff
xor esi, 0x407b09e0
and edi, esi
mov r11d, 0xffffffff
xor r11d, 0xdb927b06
mov ebx, 0x6f195878
xor ebx, 0x2f625198
and r11d, ebx
and esi, 0xdb927b06
or r10d, edi
or r11d, esi
xor r10d, r11d
mov dword [rbp - 0x24], r10d
mov qword [rcx], r9
mov qword [rcx + 8], rdx
mov qword [rbp + 0xe0], 1
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14012da7b
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x15], cl
cmp eax, 0x2f19e970
ja 0x1401a132b
mov cl, byte [rbp - 0x15]
mov al, 1
test cl, 1
mov byte [rbp - 9], al
jne 0x1401a1438
jmp 0x1401a17f1
mov word [rbp + 0x124], 0x933
lea rcx, [rbp + 0x124]
sub rsp, 0x20
call fcn.140062840
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x30], rcx
mov cl, byte [rax]
mov dl, 0x96
xor dl, 0x96
mov al, 1
cmp cl, dl
mov byte [rbp - 9], al
jne 0x1401a17f1
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.14001c072
mov rax, qword [rbp + 0x60]
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x40], r8
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xc8], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x68]
add rsp, 0x20
lea r8, [rbp + 0xc0]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14012d690
mov rcx, qword [rbp + 0x70]
add rsp, 0x30
mov dword [rbp - 0x34], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 9], al
jne 0x1401a17f1
sub rsp, 0x20
mov cx, 0xb7f
call fcn.140062510
mov r8d, dword [rbp - 0x34]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x70]
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 - 0x41], al
jne 0x1401a1562
jmp 0x1401a175c
movabs rcx, 0xf3119b7bc766cb60
movabs rax, 0xf3119b7bc766cb50
xor rcx, rax
movabs rdx, 0x6acccb9535f498fd
movabs rax, 0x6acccb9535f498f5
xor rdx, rax
sub rsp, 0x20
call fcn.14001be40
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov qword [rax], 0
mov ecx, 0xff3d526c
xor ecx, 0xff3d526d
mov dword [rax + 8], ecx
mov ecx, 0x47a
sub rsp, 0x20
call fcn.140062d70
mov rdx, qword [rbp + 0x70]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a171a
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov word [rbp + 0xbe], 0x35c
lea rcx, [rbp + 0xbe]
sub rsp, 0x20
call fcn.140062840
mov rdx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a171a
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x98], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0x98]
sub rsp, 0x20
call fcn.14001c072
mov rdx, qword [rbp - 0x70]
add rsp, 0x20
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.140071e10
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov r8, qword [rbp + 0x88]
mov qword [rcx + 0x10], r8
mov r8, qword [rbp + 0x90]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a171a
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x30]
mov rcx, qword [0x1401dd298]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401dd2a0]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140026540
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x70]
mov dl, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14019a8c0
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xb5
xor dl, 0xb5
mov al, 1
cmp cl, dl
mov byte [rbp - 0x41], al
jne 0x1401a175c
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp + 0x70]
mov byte [rcx], al
mov byte [rbp - 0x41], al
mov al, byte [rbp - 0x41]
mov byte [rbp - 0x72], al
mov eax, dword [0x1401d2d00]
and eax, dword [0x1401d2d04]
imul eax, eax, 0x38193d89
imul eax, eax, 0x411036ea
mov edx, 0x61b8a5ac
xor edx, 0xcfc04fca
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0x6671157e
xor edx, 0xc809ff18
or eax, edx
and eax, ecx
cmp eax, 0x977f13c
jbe 0x1401a18fb
mov eax, dword [0x1401d2d08]
xor edx, edx
div dword [0x1401d2d0c]
and eax, 0xccd144e0
mov ecx, 0x8eddea23
xor ecx, 0x7503696a
and eax, ecx
mov ecx, 0x1ce904ef
xor ecx, 0x33ab2ec4
xor eax, ecx
mov ecx, 0x74502986
xor ecx, 0xfadaf2bd
cmp eax, ecx
je 0x1401a17a6
mov al, byte [rbp - 0x72]
mov byte [rbp - 9], al
jmp 0x1401a17f1
mov rcx, qword [rbp + 0x28]
mov al, byte [rbp - 9]
mov byte [rbp - 0x74], al
cmp rcx, 0
mov byte [rbp - 0x73], al
je 0x1401a1843
mov al, byte [rbp - 0x74]
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 0x73], al
jne 0x1401a1843
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000e572
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x73], al
mov al, byte [rbp - 0x73]
cmp al, 0
je 0x1401a18d4
sub rsp, 0x20
call fcn.14019d433
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov ax, word [rax + 0x12]
mov cx, 0x84d4
xor cx, 0x84d5
cmp ax, cx
jle 0x1401a18d4
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x3a048c24
xor ecx, 0xee01c5a2
cmp eax, ecx
jne 0x1401a18d4
mov rax, qword [rbp + 0x70]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14019d445
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140091980
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a18d4
sub rsp, 0x20
call fcn.14019d499
add rsp, 0x20
lea rsp, [rbp + 0x128]
pop rbx
pop rdi
pop rsi
pop rbp
ret
in eax, dx
in al, dx
mov dl, 0xe9
push rdi
idiv bh
invalid
invalid
pop rbx
invalid
mov edx, 0xe9763181
movabs byte [0xf2e666666fffffe], al
invalid