Function at 0x1401d4a20
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf8], rcx
mov eax, dword [0x14020d010]
and eax, dword [0x14020d014]
mov ecx, 0x19861833
xor ecx, 0xd6548b29
add eax, ecx
sub eax, 0x8f0189ee
mov ecx, 0xf9c35b77
xor ecx, 0x3611c86d
sub eax, ecx
mov ecx, 0x4c953d99
xor ecx, 0x50dea229
sub eax, ecx
mov edx, 0xe55416d6
xor edx, 0x2b75d875
mov ecx, eax
and ecx, edx
mov edx, 0x707bb43d
xor edx, 0x707bb43f
imul ecx, edx
xor eax, 0xce21cea3
add eax, ecx
mov ecx, 0xe0eb9e6f
xor ecx, 0xf37e97c1
cmp eax, ecx
jb 0x1401d56a2
mov eax, dword [0x14020d018]
xor eax, 0x8ba5d67c
mov ecx, dword [0x14020d01c]
xor ecx, 0x9df0eb62
xor edx, edx
div ecx
add eax, 0x97aa9bf6
and eax, 0x94c6d78b
mov dword [rbp + 0xe4], eax
mov eax, 0x10
mov qword [rbp + 0xb0], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xa0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
sub rsp, 0x20
call fcn.1401dd46c
mov rcx, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0xd8], rax
add rax, 0x50
mov qword [rbp + 0xd0], rax
mov word [rcx], 0x5c3
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xe4]
mov qword [rbp + 0xe8], rdx
mov cl, byte [rcx + 0x50]
mov dl, 0x2e
xor dl, 0x2e
cmp cl, dl
sete cl
mov byte [rbp + 0xf7], cl
cmp eax, 0xbb01d4e7
je 0x1401d4aa6
mov al, byte [rbp + 0xf7]
test al, 1
jne 0x1401d4cfd
jmp 0x1401d549e
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0xe8]
mov r9, qword [str.Xy__]
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.1401d1330
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x28], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x1401d549e
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001b4c0
add rsp, 0x20
mov qword [rbp + 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001dd49
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov word [rcx], 0x40f
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x18], rcx
mov cl, byte [rax]
mov dl, 0x4f
xor dl, 0x4f
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x18]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x7f90
xor cx, 0x77c2
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0xd0]
mov dword [rcx + 0x10], edx
mov cl, byte [rax]
mov dl, 0xed
xor dl, 0xed
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov ecx, 0x8e
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0xd0]
mov dword [rcx + 0x14], edx
mov cl, byte [rax]
mov dl, 0x2b
xor dl, 0x2b
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov qword [rax + 8], rcx
mov ecx, 0x893
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov dword [rbp + 4], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 8]
mov r9, qword [rbp + 0x30]
mov r10, qword [rbp + 0x28]
mov qword [rcx], r10
mov qword [rcx + 8], r9
movabs r9, 0x5d5acae6199a88dc
movabs r10, 0x5d5acae6199a88dd
xor r9, r10
mov qword [rdx], r9
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14015f690
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp - 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov rcx, qword [rbp + 0x40]
mov ax, 0xb909
xor ax, 0xb0f4
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp - 0x10]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x80]
mov r9, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov r9, qword [r9]
add r9, 0x18
mov qword [rbp - 0x20], 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 - 0x20]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
add rsp, 0x20
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14015f1d0
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0xd0]
mov dword [rbp - 0x14], ecx
mov cl, byte [rax]
mov dl, 0xef
xor dl, 0xef
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x1401d53d9
mov eax, dword [0x14020d020]
xor edx, edx
div dword [0x14020d024]
xor eax, 0xff37f273
mov ecx, 0x73a83060
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x9cd7ef28
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x6f90bdb
xor r8d, 0x9a2ee4f3
mov edx, eax
and edx, r8d
or eax, 0x9cd7ef28
imul eax, edx
add eax, ecx
mov ecx, 0x17a3c22
xor ecx, 0xda54ff39
cmp eax, ecx
jae 0x1401d56ab
mov edx, dword [0x14020d028]
mov eax, dword [0x14020d02c]
add edx, eax
mov eax, edx
and eax, 0x6ecd31a1
xor edx, 0x6ecd31a1
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
imul eax, eax, 0x50036773
imul rax, rax, 0x42098db1
shr rax, 0x3e
mov dword [rbp - 0x28], eax
sub rsp, 0x20
mov cx, 0x701
call fcn.140068140
mov rcx, qword [rbp + 0xd0]
mov r8d, dword [rbp - 0x14]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x28]
mov cl, byte [rcx]
mov byte [rbp - 0x22], cl
test cl, cl
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x21], cl
cmp eax, 0xb3ddbb4a
ja 0x1401d507a
mov al, byte [rbp - 0x22]
mov cl, byte [rbp - 0x21]
test cl, 1
mov byte [rbp - 0x29], al
jne 0x1401d510c
jmp 0x1401d53d3
mov ecx, dword [0x14020d030]
mov edx, dword [0x14020d034]
xor edx, 0x9f709c81
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, edx
mov edx, 0x5b40526e
xor edx, 0xa4bfad91
xor ecx, edx
or eax, ecx
mov ecx, 0xe67a5058
xor ecx, 0x1985afa7
xor eax, ecx
and eax, 0xa5360df0
mov ecx, 0xf5b4d5c7
xor ecx, 0x7ae94e40
add eax, ecx
and eax, 0xcc0be327
cmp eax, 0xb5affa89
je 0x1401d56b4
mov eax, dword [0x14020d038]
xor edx, edx
div dword [0x14020d03c]
mov ecx, 0xbbd73301
xor edx, edx
div ecx
sub eax, 0xb367a1bb
add eax, 0x145610d1
add eax, 0xb367a1bb
mov ecx, 0x9244a8d6
xor ecx, 0xfec99863
mov edx, 0x3b7b1200
xor edx, 0xc484edff
xor ecx, edx
add eax, ecx
add eax, 1
mov dword [rbp - 0x30], eax
mov eax, 0x1cdcd54b
xor eax, 0xb824ccbc
mov dword [rbp - 0x34], eax
movabs rcx, 0x8163b2a69f8b580d
movabs rax, 0x8163b2a69f8b583d
xor rcx, rax
movabs rdx, 0x987032f3de009c4d
movabs rax, 0x987032f3de009c45
xor rdx, rax
sub rsp, 0x20
call fcn.14001dd49
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0x3d6
sub rsp, 0x20
call fcn.140068a6b
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp + 0xd0]
mov ecx, dword [rbp - 0x34]
add rsp, 0x20
mov r9d, eax
mov eax, dword [rbp - 0x30]
mov dword [r8 + 0xc], r9d
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x2a], dl
cmp eax, ecx
jb 0x1401d56b4
mov dl, byte [rbp - 0x2a]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401d525c
jmp 0x1401d538e
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140014320
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov word [rcx], 0xc4
sub rsp, 0x20
call fcn.1400684a0
mov rdx, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401d538e
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp - 0x58]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp - 0x60]
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.140076d37
mov r8, qword [rbp + 0xc0]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp - 0x60]
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 0x1401d538e
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0xf8]
mov rcx, qword [0x1402169f8]
mov qword [rdx + 0x20], rcx
mov rcx, qword [str._bj__]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.14002a2b0
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0xd0]
mov dl, byte [rbp - 0x49]
mov rcx, qword [rbp - 0x48]
mov byte [rbp - 0x61], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401ceb67
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x29], al
jne 0x1401d53d3
mov al, byte [rbp - 0x61]
mov rcx, qword [rbp + 0xd0]
mov byte [rcx], al
mov byte [rbp - 0x29], al
mov al, byte [rbp - 0x29]
mov byte [rbp + 0x27], al
mov rcx, qword [rbp + 0x30]
mov al, byte [rbp + 0x27]
mov byte [rbp - 0x63], al
cmp rcx, 0
mov byte [rbp - 0x62], al
je 0x1401d5493
mov al, byte [rbp - 0x63]
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx]
movabs rdx, 0xd06934e9b462a8ba
movabs r8, 0x2f96cb164b9d5745
xor rdx, r8
xor rcx, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x543ed43c06b43cb4
xor rdx, r9
or rcx, r8
movabs r8, 0x543ed43c06b43cb4
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x8b3f20966bd0421e
movabs r8, 0x8b3f20966bd0421e
xor rdx, r8
cmp rcx, rdx
mov byte [rbp - 0x62], al
jne 0x1401d5493
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14000fb44
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x62], al
mov al, byte [rbp - 0x62]
cmp al, 0
je 0x1401d5699
mov eax, dword [0x14020d040]
xor eax, 0x60233b58
mov ecx, dword [0x14020d044]
add eax, 0x26b48e90
add eax, ecx
mov ecx, 0xf03eddd
xor ecx, 0x29b7634d
sub eax, ecx
mov edx, 0x4ddd60da
xor edx, 0xb2229f25
mov ecx, eax
xor ecx, edx
mov edx, 0x278bc817
xor edx, 0x390a80c5
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1e8148d2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1e8148d2
or eax, 0x1e8148d2
imul eax, edx
add eax, ecx
add eax, 0x9d243fa0
mov edx, 0x9329cfd6
xor edx, 0x6cd63029
mov ecx, eax
xor ecx, edx
and ecx, 0x390d7d8f
mov edx, 0xffffffff
xor edx, 0x390d7d8f
and eax, edx
sub eax, ecx
mov ecx, 0xfdf572ab
xor ecx, 0x327f9dbe
cmp eax, ecx
je 0x1401d56bd
mov ecx, dword [0x14020d048]
mov edx, dword [0x14020d04c]
mov eax, ecx
xor eax, edx
mov r8d, 0xd9dba16
xor r8d, 0xf26245e9
xor edx, r8d
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe9d1b7cb
xor edx, 0x604ad90c
mov r8d, 0xd4e9bcbe
xor r8d, 0x5d72d279
or edx, r8d
mov r8d, 0x99b0e00c
xor r8d, 0x664f1ff3
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x899b6ec7
xor ecx, 0xffffffff
mov edx, 0x97c507dd
xor edx, 0x683af822
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x8b2f4d1f
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x72543085
mov ecx, eax
and ecx, edx
mov r8d, 0xd914bfb
xor r8d, 0x7fc57b7e
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1401d1397
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x74]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x53f
xor dx, 0x53e
cmp cx, dx
setg cl
mov byte [rbp - 0x64], cl
cmp eax, 0x731d3881
je 0x1401d56bd
mov al, byte [rbp - 0x64]
test al, 1
jne 0x1401d563c
jmp 0x1401d5699
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401d5699
mov rax, qword [rbp + 0xd0]
mov cl, 0x1d
xor cl, 0x1d
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401d13a9
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140098850
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401d5699
sub rsp, 0x20
call fcn.1401d13d6
add rsp, 0x20
lea rsp, [rbp + 0x100]
pop rbp
ret
pop rdi
test eax, 0xfbe9b267
invalid
rcr dword [rcx], 0x58
cmp ch, cl
invalid
push rax
invalid
nop
pop r14
shr cl, cl
jl 0x1401d56c2
invalid