Function at 0x1401b36d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1401bb5fb
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x70], rax
add rax, 0x60
mov qword [rbp + 0x68], rax
mov word [rcx], 0x4c7
sub rsp, 0x20
call fcn.140067990
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x78], rcx
cmp byte [rax + 0x60], 0
jne 0x1401b3e73
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x78]
mov r8, qword [0x1401f0d98]
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov r8, qword [rax]
mov qword [rbp + 0x128], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x130], rax
lea r8, [rbp + 0x128]
sub rsp, 0x20
call fcn.1401af609
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x20], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x1401b3e73
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140010380
add rsp, 0x20
mov qword [rbp], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001de30
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 8], rax
mov word [rcx], 0x253
sub rsp, 0x20
call fcn.140067990
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 0x1401b3e11
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14001e153
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x120]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x1f88
xor cx, 0x1725
sub rsp, 0x20
call fcn.140067fe0
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 0x1401b3e11
mov eax, dword [0x1401e5e60]
mov r8d, dword [0x1401e5e64]
mov ecx, 0xcae0cd2b
xor ecx, 0x351f32d4
mov r9d, r8d
xor r9d, ecx
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
imul eax, eax, 0x85dc0c46
or eax, 0xc465c28f
mov ecx, 0x9111a417
xor ecx, 0x3e38cdc
mov edx, 0x4decc7f2
xor edx, 0xb213380d
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x71b75aa7
xor ecx, 0x7914dbc8
cmp eax, ecx
je 0x1401b3fba
mov eax, dword [0x1401e5e68]
xor eax, 0x33ab39cf
and eax, dword [0x1401e5e6c]
mov ecx, 0x8538d303
xor ecx, 0x797e0769
and eax, ecx
imul eax, eax, 0x89d64be3
mov ecx, 0x7c2526a
xor edx, edx
div ecx
mov dword [rbp - 8], eax
mov cx, 0x8c06
xor cx, 0x84df
sub rsp, 0x20
call fcn.140067fe0
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 8]
mov dword [rdx + 0x14], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0xcab624e5
jae 0x1401b3950
mov cl, byte [rbp - 1]
mov al, 1
test cl, 1
mov byte [rbp + 0x1f], al
jne 0x1401b39d2
jmp 0x1401b3e11
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rax + 8], rcx
mov ecx, 0x7b9
sub rsp, 0x20
call fcn.140067fe0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov dword [rbp - 0xc], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x1401b3e11
mov r8d, dword [rbp - 0xc]
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
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.140147f23
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x1401b3e11
mov word [rbp + 0x13e], 0x9d3
lea rcx, [rbp + 0x13e]
sub rsp, 0x20
call fcn.140067990
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 0x1401b3e11
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.14001e153
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x30], r8
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
lea r8, [rbp + 0xb8]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140147b40
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x68]
mov dword [rbp - 0x24], ecx
mov cl, byte [rax]
mov dl, 0xc0
xor dl, 0xc0
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1f], al
jne 0x1401b3e11
sub rsp, 0x20
mov cx, 0xa67
call fcn.1400676f0
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 0x1401b3b95
jmp 0x1401b3e0b
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001de30
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0xbe
sub rsp, 0x20
call fcn.140067fe0
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 0x1401b3dcb
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140013610
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov word [rbp + 0xb6], 0x7e1
lea rcx, [rbp + 0xb6]
sub rsp, 0x20
call fcn.140067990
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 0x1401b3dcb
mov rax, qword [rbp - 0x58]
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.14001e153
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.140076fe0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov r8, qword [rbp + 0x80]
mov qword [rcx + 0x10], r8
mov r8, qword [rbp + 0x88]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x1401b3dcb
mov eax, dword [0x1401e5e70]
mov ecx, dword [0x1401e5e74]
add eax, 0x49e7d375
sub eax, ecx
sub eax, 0x49e7d375
mov ecx, 0x283ad84f
xor ecx, 0x888fcd81
xor edx, edx
div ecx
xor eax, 0xd188167c
or eax, 0x602d3714
mov ecx, 0x6d92eb4e
xor ecx, 0x241bb97c
cmp eax, ecx
je 0x1401b3fc3
mov ecx, dword [0x1401e5e78]
xor ecx, dword [0x1401e5e7c]
mov edx, 0xffffffff
xor edx, 0x146dd435
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x5bd64697
xor ecx, 0x569ad231
or eax, ecx
mov ecx, 0xbfdf19c6
xor ecx, 0xeea60d1e
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x50]
mov ecx, eax
mov rax, qword [rbp + 0x30]
mov dword [rbp - 0x68], ecx
mov ecx, 0x66c287f2
xor ecx, 0x5fbb228b
mov dword [rbp - 0x6c], ecx
mov rcx, qword [0x1401f0608]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401f0610]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.14002b470
mov rdx, qword [rbp + 0x68]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x1401b3fc3
mov rax, qword [rbp - 0x60]
mov cl, byte [rbp - 0x61]
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jmp 0x1401b3dcb
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x41]
mov rcx, qword [rbp - 0x40]
mov byte [rbp - 0x6d], dl
mov dl, 0x45
xor dl, 0x45
mov byte [rax], dl
sub rsp, 0x20
call fcn.1401ac86f
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x31], al
jne 0x1401b3e0b
mov al, byte [rbp - 0x6d]
mov rcx, qword [rbp + 0x68]
mov byte [rcx], al
mov byte [rbp - 0x31], al
mov al, byte [rbp - 0x31]
mov byte [rbp + 0x1f], al
mov rcx, qword [rbp + 0x28]
mov al, byte [rbp + 0x1f]
mov byte [rbp - 0x6f], al
cmp rcx, 0
mov byte [rbp - 0x6e], al
je 0x1401b3e63
mov al, byte [rbp - 0x6f]
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 0x6e], al
jne 0x1401b3e63
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000e27f
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x6e], al
mov al, byte [rbp - 0x6e]
mov cl, 0x7d
xor cl, 0x7d
cmp al, cl
je 0x1401b3ee5
sub rsp, 0x20
call fcn.1401af670
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401b3ee5
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401b3ee5
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401af682
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140095e90
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401b3ee5
sub rsp, 0x20
call fcn.1401af6b9
add rsp, 0x20
mov ecx, dword [0x1401e5e80]
mov edx, dword [0x1401e5e84]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
add ecx, 0x233d3750
sub ecx, 0x3d83605c
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x35fe2c28
or eax, edx
and ecx, 0x35fe2c28
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x10ca9224
xor edx, 0xef356ddb
xor ecx, edx
or eax, ecx
mov ecx, 0x7c32a887
xor ecx, 0xcdd7fd16
cmp eax, ecx
ja 0x1401b3fcc
mov eax, dword [0x1401e5e88]
mov ecx, dword [0x1401e5e8c]
xor ecx, 0xc672828f
xor edx, edx
div ecx
mov edx, eax
and edx, 0x5c27d507
mov ecx, 0x27d1a5c7
xor ecx, 0x27d1a5c5
imul ecx, edx
add eax, 0x5c27d507
sub eax, ecx
sub eax, 0x15575791
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x64c98e06
mov ecx, 0xffffffff
xor ecx, 0xc96f7e1e
or eax, edx
or ecx, 0xc96f7e1e
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x6624a1b9
ja 0x1401b3fcc
lea rsp, [rbp + 0x140]
pop rbp
ret
add al, 0x3f
jae 0x1401b3fbd
invalid
jmp 0x1401b3950
mov esp, 0x53e98097
std
invalid
sbb ah, byte [rcx - 0x27]
jmp 0x1401b3f48