Function at 0x1401b2a20
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 ax, 0x418b
xor ax, 0x4304
mov word [rcx], ax
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 0x1401b3413
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x78]
mov rdx, qword [0x1401f0d98]
mov r8, qword [rdx]
mov qword [rbp + 0x128], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x130], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x118], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x120], rax
lea rdx, [rbp + 0x128]
lea r8, [rbp + 0x118]
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 0x1401b3413
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140010380
add rsp, 0x20
mov qword [rbp], rax
movabs rcx, 0xe73e0363077f1639
movabs rax, 0xe73e0363077f1621
xor rcx, rax
movabs rdx, 0x29097d57e322847d
movabs rax, 0x29097d57e3228475
xor rdx, rax
sub rsp, 0x20
call fcn.14001de30
add rsp, 0x20
mov qword [rbp + 8], rax
mov word [rbp + 0x13e], 0x4d6
lea rcx, [rbp + 0x13e]
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 0x1401b3168
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0xf8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14001e153
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x643
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 0x1401b3168
mov ecx, 0x6f
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 + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x1401b3168
mov eax, dword [0x1401e5e00]
xor eax, 0x567a8683
xor edx, edx
div dword [0x1401e5e04]
sub eax, 0xd6273d19
sub eax, 0x7927a265
add eax, 0xd6273d19
add eax, 0xddd6c128
sub eax, 0x6070baca
cmp eax, 0x612fee23
je 0x1401b3693
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401e5e08]
xor edx, edx
div dword [0x1401e5e0c]
mov r8d, 0xa160399a
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp]
xor edx, 0x9b0fe358
mov r8d, 0xa622d18e
xor r8d, 0xc7b57221
and edx, r8d
mov dword [rbp - 0xc], edx
mov qword [rax + 8], rcx
mov ecx, 0x2fb
sub rsp, 0x20
call fcn.140067fe0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 8], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0x2fc19451
ja 0x1401b2cc5
mov cl, byte [rbp - 1]
mov al, 1
test cl, 1
mov byte [rbp + 0x1f], al
jne 0x1401b2d4d
jmp 0x1401b3168
mov r8d, dword [rbp - 8]
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xd8], 1
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
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 0x1401b3168
mov rcx, qword [rbp + 0x38]
mov word [rcx], 0x4ab
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 0x1401b3168
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
mov qword [rbp + 0xc8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14001e153
mov rax, qword [rbp + 0x50]
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
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
mov rcx, qword [rbp + 0x68]
add rsp, 0x30
mov dword [rbp - 0x24], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1f], al
jne 0x1401b3168
sub rsp, 0x20
mov cx, 0xafe
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 0x1401b2ec8
jmp 0x1401b3162
movabs rcx, 0x94a73f1cf3adacbf
movabs rax, 0x94a73f1cf3adac8f
xor rcx, rax
movabs rdx, 0x56d7e8a13737eae1
movabs rax, 0x56d7e8a13737eae9
xor rdx, rax
sub rsp, 0x20
call fcn.14001de30
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov cx, 0x648e
xor cx, 0x67bf
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 0x1401b307d
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140013610
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov word [rbp + 0xb6], 0x8fb
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 0x1401b307d
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 0x1401b307d
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x30]
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 rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x41]
mov rcx, qword [rbp - 0x40]
mov byte [rbp - 0x61], dl
mov byte [rax], 0
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 0x1401b3162
mov eax, dword [0x1401e5e10]
xor edx, edx
div dword [0x1401e5e14]
mov ecx, 0xcb4ec37c
xor ecx, 0xcc48db88
xor edx, edx
div ecx
mov ecx, 0x15255c80
xor edx, edx
div ecx
mov ecx, 0x227e100d
xor ecx, 0x752e16d
imul eax, ecx
cmp eax, 0xba325662
ja 0x1401b369c
mov rdx, qword [rbp + 0x68]
mov r8b, byte [rbp - 0x61]
mov ecx, dword [0x1401e5e18]
sub ecx, dword [0x1401e5e1c]
mov r9d, 0xffffffff
xor r9d, 0x5fcb5ac4
mov eax, ecx
xor eax, r9d
and eax, ecx
mov ecx, eax
and ecx, 0x7edae58b
mov r9d, 0xf4ed83a6
xor r9d, 0xf4ed83a4
imul ecx, r9d
xor eax, 0x7edae58b
add eax, ecx
mov ecx, 0x602db83a
xor ecx, 0x15ae4d3c
add eax, ecx
mov ecx, 0x40038506
xor ecx, 0x62fa8259
mov byte [rdx], r8b
cmp eax, ecx
jb 0x1401b369c
mov al, byte [rbp - 0x61]
mov byte [rbp - 0x31], al
jmp 0x1401b3162
mov al, byte [rbp - 0x31]
mov byte [rbp + 0x1f], al
mov al, byte [rbp + 0x1f]
mov byte [rbp - 0x62], al
mov eax, dword [0x1401e5e20]
xor eax, 0xaa3e217f
mov edx, dword [0x1401e5e24]
mov ecx, 0x51e40c5a
xor ecx, 0x86c0f529
xor edx, ecx
mov ecx, 0x93e7411e
xor ecx, 0x6c18bee1
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0x116e2c0f
xor ecx, 0x852514e3
mov r8d, 0x125684a1
xor r8d, 0xeda97b5e
xor ecx, r8d
or eax, edx
or ecx, 0x944b38ec
mov edx, 0x32152a8f
xor edx, 0xcdead570
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0x45e23d9d
xor ecx, 0xffffffff
mov edx, 0x29fb7c22
xor edx, 0x6c1941bf
or eax, edx
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x2be0e6e0
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x2be0e6e0
add eax, edx
sub eax, ecx
and eax, 0x860454a1
cmp eax, 0x5c072c76
jae 0x1401b36a5
mov rdx, qword [rbp + 0x28]
mov eax, dword [0x1401e5e28]
and eax, dword [0x1401e5e2c]
and eax, 0x1e72e60f
mov ecx, 0x9701a233
xor ecx, 0x2cf31b18
mov r8d, 0xc19d348d
xor r8d, 0x3e62cb72
xor ecx, r8d
add eax, ecx
add eax, 1
mov ecx, 0xb0ce220b
xor ecx, 0xd4f84c92
add eax, ecx
mov ecx, 0x3b35657d
xor ecx, 0xe24e4eb4
cmp rdx, 0
sete dl
mov byte [rbp - 0x63], dl
cmp eax, ecx
je 0x1401b3213
mov al, byte [rbp - 0x62]
mov cl, byte [rbp - 0x63]
test cl, 1
mov byte [rbp - 0x64], al
jne 0x1401b332d
jmp 0x1401b3289
mov al, byte [rbp - 0x62]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
movabs r8, 0xc8ef98d26a91758c
movabs r9, 0x88ef98d26a91758c
xor r8, r9
movabs r9, 0xab2da010022e9ef5
movabs r10, 0x54d25feffdd1610a
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0x6fd7cdfea97f4880
movabs r8, 0x902832015680b77f
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x64], al
jne 0x1401b332d
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 - 0x64], al
mov al, byte [rbp - 0x64]
mov byte [rbp - 0x65], al
mov eax, dword [0x1401e5e30]
mov r8d, dword [0x1401e5e34]
mov edx, 0x582f5920
xor edx, 0xa7d0a6df
mov ecx, eax
xor ecx, edx
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
or eax, 0x713daf46
imul eax, eax, 0x64714c69
mov ecx, 0xda574dec
xor ecx, 0x9043771b
and eax, ecx
cmp eax, 0xdc9afc44
jae 0x1401b36ae
mov cl, byte [rbp - 0x65]
mov eax, dword [0x1401e5e38]
mov r9d, dword [0x1401e5e3c]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
mov r10d, 0x45376c83
xor r10d, 0xbac8937c
xor edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
imul eax, eax, 0x762ccd03
imul eax, eax, 0x903b861b
mov r8d, 0x38aef366
xor edx, edx
div r8d
cmp cl, 0
sete cl
mov byte [rbp - 0x66], cl
cmp eax, 0xad394cb3
je 0x1401b36ae
mov al, byte [rbp - 0x66]
test al, 1
jne 0x1401b368a
jmp 0x1401b3413
sub rsp, 0x20
call fcn.1401af670
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1401b368a
mov eax, dword [0x1401e5e40]
xor eax, 0x6571da7e
and eax, dword [0x1401e5e44]
mov ecx, 0x5ed93422
xor ecx, 0x17fc6c54
add eax, ecx
mov ecx, 0x247fe449
xor ecx, 0x894ec720
add eax, ecx
sub eax, 0x49255876
add eax, 0xf1cdb8e7
mov ecx, 0x5d01a028
xor ecx, 0xe976ead6
sub eax, ecx
cmp eax, 0x43b84bcb
jae 0x1401b36b7
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x1401e5e48]
mov r8d, dword [0x1401e5e4c]
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
mov r9d, 0x46d0b71b
xor r9d, 0xb92f48e4
xor edx, r9d
mov r9d, 0x92e46583
xor r9d, 0x6d1b9a7c
xor r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0xf38002f
xor edx, 0xf0c7ffd0
xor eax, edx
mov edx, eax
xor edx, 0x1c368a58
xor edx, 0xffffffff
or eax, 0x1c368a58
and eax, edx
and eax, 0x57afc305
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x9b44faf1
mov r9d, 0xffffffff
xor r9d, 0x9b44faf1
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x9b44faf1
or eax, 0x9b44faf1
imul eax, r8d
add eax, edx
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xd4054986
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x538cdb73
je 0x1401b36b7
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401b3546
jmp 0x1401b368a
mov eax, dword [str.___en]
xor eax, 0x77c760cf
mov ecx, dword [0x1401e5e54]
mov edx, 0x8aa6652b
xor edx, 0x2932bff1
xor ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x15324e45
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x15324e45
or eax, 0x15324e45
imul eax, edx
add eax, ecx
sub eax, 0x2ed1ea84
sub eax, 0x363b7f7a
mov ecx, 0xf079e4de
xor ecx, 0xdea80e5a
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb0f57f0e
xor edx, 0xdbe73f72
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x6b12407c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6b12407c
or eax, 0x6b12407c
imul eax, edx
add eax, ecx
cmp eax, 0xb26a6f13
ja 0x1401b36c0
mov eax, dword [0x1401e5e58]
xor eax, 0xc0be5801
mov ecx, dword [str.CUY_r]
xor ecx, 0xa7376203
xor eax, ecx
mov ecx, 0x72857989
xor ecx, 0x7eb4ac86
or eax, ecx
xor ecx, ecx
sub ecx, 0x5c69651
sub eax, ecx
mov ecx, 0xfb6de728
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x68]
mov dword [rbp - 0x78], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401af682
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140095e90
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x72], cl
cmp eax, 0x4ca9ab50
ja 0x1401b35f0
mov al, byte [rbp - 0x72]
test al, 1
jne 0x1401b367d
jmp 0x1401b368a
sub rsp, 0x20
call fcn.1401af6b9
add rsp, 0x20
lea rsp, [rbp + 0x140]
pop rbp
ret
push rbp
mov esp, 0xf629e95f
invalid
xor eax, 0xe9eb5558
cli
invalid
mov dh, pe_nt_image_headers64
invalid
movabs al, byte [0xfffffcdce99b3557]
imul ebx, dword [rdi - 0x4016dff7], 0x72fffffd
xchg dword [rbx], esi
notrack jmp 0x1401b35f0
jb 0x1401b3649
xor edi, dword [rsi]
jmp 0x1401b35f0