Function at 0x1401dc9b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.1401dd46c
add rsp, 0x20
mov qword [rbp + 0x10], rax
add rax, 0x50
mov qword [rbp - 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov qword [rbp + 8], rax
lea rcx, [rbp + 0x38]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140026b75
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov rax, qword [rbp + 0x38]
mov qword [rdx + 8], rax
mov rax, qword [rbp + 0x40]
mov qword [rdx + 0x10], rax
mov rcx, qword [rcx]
add rcx, 0x20
sub rsp, 0x20
call fcn.1401ce560
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x1401dd03c
mov eax, dword [0x14020d320]
mov edx, dword [0x14020d324]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xdd939434
sub eax, ecx
mov ecx, 0x41423e56
xor ecx, 0x82bcbac3
sub eax, ecx
sub eax, 0x4577c7ad
cmp eax, 0x4dd5aa82
jbe 0x1401dd33d
mov rcx, qword [rbp]
mov edx, dword [0x14020d328]
xor edx, 0x15e8e7a2
mov r8d, dword [0x14020d32c]
mov eax, 0x2391bf39
xor eax, 0xdc6e40c6
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0x2011fc0c
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0xb68b9e67
mov r8d, 0x7546a5cf
xor r8d, 0xc3cd3ba8
mov r9d, 0x9716c12
xor r9d, 0xf68e93ed
xor r8d, r9d
and edx, r8d
or eax, edx
mov r8d, 0x2898ff23
xor edx, edx
div r8d
mov dword [rbp - 0x28], eax
mov eax, 0x96c0e907
xor eax, 0x4722a136
mov dword [rbp - 0x2c], eax
sub rsp, 0x20
call fcn.1401cf040
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x28]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
ja 0x1401dcab1
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1401dcb68
jmp 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401d1400
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401d30f0
mov rax, qword [rbp - 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc8
xor cl, 0xc8
cmp al, cl
jne 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401d4a20
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401d56d0
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401d6060
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd03c
mov ecx, dword [0x14020d330]
mov eax, dword [0x14020d334]
xor eax, 0x89fc486e
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x529b6b52
or edx, 0x529b6b52
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x1a275135
xor edx, 0xe5d8aeca
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x529b6b52
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
add eax, 0xbcb829
xor eax, 0x404aca9a
cmp eax, 0x57d0b1ca
jbe 0x1401dd346
mov rcx, qword [rbp]
mov eax, dword [0x14020d338]
xor eax, 0x50133286
mov r9d, dword [0x14020d33c]
mov edx, 0xaf4da0c7
xor edx, 0x50b25f38
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
imul eax, eax, 0x68593912
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf13a74eb
mov r8d, 0x53af2feb
xor r8d, 0x945a068d
mov r9d, 0x746e2503
xor r9d, 0x8b91dafc
xor r8d, r9d
or eax, edx
mov edx, 0x24b6e5ec
xor edx, 0xe343cc8a
or edx, r8d
mov r8d, 0xdd5d6d6d
xor r8d, 0x22a29292
xor eax, r8d
and eax, edx
or eax, 0x8eafad54
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.1401d6870
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xa6
xor dl, 0xa6
cmp cl, dl
sete cl
mov byte [rbp - 0x2d], cl
cmp eax, 0xe237ff3a
ja 0x1401dd346
mov al, byte [rbp - 0x2d]
test al, 1
jne 0x1401dcd4b
jmp 0x1401dd03c
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1401da510
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd03c
mov ecx, dword [0x14020d340]
mov edx, dword [0x14020d344]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
mov edx, 0xf0fdc3e1
xor edx, 0xf023c1e
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x13af1027
xor eax, 0xd380b918
mov ecx, 0x766b3538
xor edx, edx
div ecx
cmp eax, 0x5b43e927
jae 0x1401dd34f
mov rcx, qword [rbp]
mov edx, dword [0x14020d348]
mov eax, dword [0x14020d34c]
xor eax, 0x56b3290b
or edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x46cb400d
mov r8d, 0xffffffff
xor r8d, 0x46cb400d
and edx, r8d
or eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xbd6a502
xor r8d, 0xbce79388
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0xb731368a
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xb731368a
or eax, 0xb731368a
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb7fe1050
mov r8d, 0xffffffff
xor r8d, 0xb7fe1050
and eax, r8d
sub eax, edx
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.1401dad20
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x35], cl
cmp eax, 0x664c2b93
jb 0x1401dd34f
mov al, byte [rbp - 0x35]
test al, 1
jne 0x1401dce7c
jmp 0x1401dd03c
mov ecx, 0x2e1
sub rsp, 0x20
call fcn.140068a6b
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x40], ecx
cmp byte [rax], 0
jne 0x1401dd03c
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
sub rsp, 0x20
call fcn.140077a00
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401dd03c
mov eax, dword [0x14020d350]
xor edx, edx
div dword [0x14020d354]
mov r8d, 0xffffffff
xor r8d, 0x3b205551
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3b205551
or eax, 0x3b205551
imul eax, edx
add eax, ecx
or eax, 0xc0fbd1b5
mov edx, 0x12483074
xor edx, 0x69c204da
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x7b8a34ae
shl ecx, 1
sub ecx, 0x7b8a34ae
sub eax, ecx
cmp eax, 0xe5a0aee6
jae 0x1401dd358
mov rax, qword [rbp]
mov ecx, dword [0x14020d358]
add ecx, dword [0x14020d35c]
xor ecx, 0x8a2cefc6
mov edx, 0x8d0a30de
xor edx, 0x8d0a30de
sub edx, ecx
mov ecx, 0x407760de
xor ecx, 0x407760de
mov r8d, 0xac429164
xor r8d, 0x4678233
sub ecx, r8d
add edx, ecx
xor ecx, ecx
sub ecx, edx
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x25b9e696
add edx, ecx
xor ecx, ecx
sub ecx, edx
mov dword [rbp - 0x6c], ecx
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.14013a200
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
mov rdx, qword [rbp + 0x28]
mov qword [rbp - 0x68], rdx
mov rdx, qword [rbp + 0x30]
mov qword [rbp - 0x60], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x7a3171bc
je 0x1401dcf4c
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401dcff8
jmp 0x1401dd03c
mov rdx, qword [rbp - 0x10]
mov ecx, dword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
mov qword [rdx], r10
mov qword [rdx + 8], r9
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rax
lea r8, [rbp + 0x18]
sub rsp, 0x20
call fcn.14009ad40
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401dd266
mov r11d, dword [0x14020d360]
mov eax, 0xf3ec8d26
xor eax, 0x2df7548b
xor r11d, eax
mov r10d, dword [0x14020d364]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0x442b824c
xor eax, 0xbbd47db3
mov edx, r10d
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0x1c6e2034
mov eax, ecx
and eax, 0x1c6e2034
and r11d, r8d
mov esi, 0x8a6ca32e
xor esi, 0x9602831a
mov r9d, edx
and r9d, esi
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xbb223bb2
xor edx, 0xa74c1b86
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x6c63dae
xor ecx, 0x81fb6a41
and eax, ecx
mov ecx, 0x546d3e97
xor ecx, 0xed1b43e6
and eax, ecx
mov ecx, 0x7b08efd
xor ecx, 0xf84f7102
mov edx, eax
xor edx, ecx
and edx, 0xf0f4c85f
mov r8d, 0xffffffff
xor r8d, 0xf0f4c85f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x8050a9e5
xor r8d, 0x70a461ba
mov edx, eax
and edx, r8d
mov r8d, 0x42e0cd56
xor r8d, 0xb2140509
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x943bc190
je 0x1401dd361
mov r11d, dword [0x14020d368]
xor r11d, 0xe1f4071d
mov r10d, dword [0x14020d36c]
mov eax, 0x8a173ab0
xor eax, 0x9bb8852d
xor r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x89bebcc1
mov ecx, eax
and ecx, 0x89bebcc1
and r11d, edx
mov esi, 0x36ec2845
xor esi, 0xbf529484
mov r9d, r8d
and r9d, esi
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
mov r8d, 0x1efe0c50
xor r8d, 0xe101f3af
xor eax, r8d
or edx, 0x89bebcc1
and eax, edx
or ecx, eax
add ecx, 0x9308693d
mov eax, ecx
and eax, 0xc4295e1b
xor eax, 0xffffffff
and ecx, 0xc4295e1b
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x1e53cf38
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1401d1397
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, 0xf657507b
je 0x1401dd12d
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1401dd213
jmp 0x1401dd266
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401dd266
mov rax, qword [rbp - 8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401d13a9
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140098850
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dd266
sub rsp, 0x20
call fcn.1401d13d6
add rsp, 0x20
mov eax, dword [0x14020d370]
mov ecx, 0xe1a921ac
xor ecx, 0xab62534a
xor eax, ecx
mov edx, dword [0x14020d374]
xor edx, 0xfd7b0fb9
xor ecx, ecx
sub ecx, edx
add eax, ecx
sub eax, 0xe2ef5af6
mov r8d, 0xffffffff
xor r8d, 0x4e32b242
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4e32b242
or eax, 0x4e32b242
imul eax, edx
add eax, ecx
or eax, 0xabd1ceee
cmp eax, 0xf43b1ffb
je 0x1401dd36a
mov eax, dword [0x14020d378]
mov edx, dword [0x14020d37c]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
sub eax, 0x4b75a021
imul eax, eax, 0x420581ca
mov r8d, 0xffffffff
xor r8d, 0x4014a9e9
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4014a9e9
mov r8d, 0x1871397
xor r8d, 0x4193ba7e
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x756c1c4a
jb 0x1401dd36a
lea rsp, [rbp + 0x48]
pop rsi
pop rbp
ret
cwde
or eax, 0x6be94f9d
idiv edi
jmp [rsp + rax - 0x23]
insb byte [rdi], dx
add al, 0xdd
xchg ecx, ebp
sbb edi, ecx
invalid
sbb edx, dword [rsi + 0x2f]
jmp 0x1401dd33d
imul eax, dword [rax + 0x1f], 0xfbebe930
invalid
hlt
hlt