Function at 0x1400c70e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x64], edx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0x68], rcx
mov eax, 0x10
mov qword [rbp + 0x80], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x80]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x80]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x80]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
sub rsp, 0x20
call fcn.1400c7dd1
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
movabs rax, 0x727763ab31f9ca15
movabs rcx, 0x727763ab31f9ca15
xor rax, rcx
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0xc0]
add rax, 8
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xc8], 0
lea rcx, [rbp + 0xc0]
mov edx, 0x104
sub rsp, 0x20
call fcn.1400993f0
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400c7c08
mov ecx, 0x31f
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0x76
xor cl, 0x76
cmp al, cl
jne 0x1400c7c08
mov cx, 0x2eb1
xor cx, 0x2fa4
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x50], rcx
mov al, byte [rax]
mov cl, 0x1f
xor cl, 0x1f
cmp al, cl
jne 0x1400c7c08
mov ecx, 0x202
sub rsp, 0x20
call fcn.14006141f
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xa8]
mov dword [rbp + 0x4c], ecx
cmp byte [rax], 0
jne 0x1400c7c08
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xc8]
mov qword [rax + 8], rcx
sub rsp, 0x20
call fcn.1400c7dd1
mov rcx, qword [rbp + 0x88]
call fcn.1400c9951
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x40], rcx
cmp byte [rax], 0
jne 0x1400c7c08
mov rax, qword [rbp + 0x40]
mov r9d, dword [rbp + 0x4c]
mov r8, qword [rbp + 0x50]
mov edx, dword [rbp + 0x64]
mov rcx, qword [rbp + 0x58]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400aa413
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0xa8]
mov dword [rbp + 0x3c], ecx
cmp byte [rax], 0
jne 0x1400c7c08
mov eax, dword [rbp + 0x3c]
mov ecx, 0xfc6e2013
xor ecx, 0xfc6e2013
cmp eax, ecx
je 0x1400c737d
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [0x1401dc1a0]
mov qword [rcx], rdx
mov rdx, qword [0x1401dc1a8]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
cmp rax, 0
je 0x1400c7d8e
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x28], rax
je 0x1400c7d7d
jmp 0x1400c7d8e
sub rsp, 0x20
call fcn.1400c7dd1
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0xc0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xc8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400c9951
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x1400c783e
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140099950
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0x14], ecx
cmp byte [rax], 0
jne 0x1400c783e
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0xc0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xc8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400c9983
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rcx
cmp byte [rax], 0
jne 0x1400c783e
mov rax, qword [rbp + 8]
mov ecx, dword [rbp + 0x14]
movsxd rcx, ecx
mov qword [rbp], rcx
cmp rax, rcx
jle 0x1400c783e
mov eax, dword [rbp + 0x14]
mov ecx, 0x1147617a
xor ecx, 0x1147617a
cmp eax, ecx
jge 0x1400c7476
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x1400c783e
sub rsp, 0x20
call fcn.1400c7dd1
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov rax, rcx
add rax, 1
mov qword [rbp - 8], rax
mov rdx, rcx
and rdx, rdx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
and rdx, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400c7505
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400c783e
mov eax, dword [0x1401cd6b8]
imul eax, dword [0x1401cd6bc]
add eax, 0x75faab51
mov edx, eax
xor edx, 0xb9b0b917
xor edx, 0xffffffff
mov ecx, 0xf0d1edcd
xor ecx, 0x496154da
and ecx, edx
shl ecx, 1
sub ecx, 0xb9b0b917
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x2340d0b3
mov ecx, eax
and ecx, edx
mov r8d, 0xade1aa98
xor r8d, 0x8ea17a2b
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x47c9335b
jae 0x1400c7d9b
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401cd6c0]
xor eax, 0x2d844f77
mov edx, dword [0x1401cd6c4]
xor edx, 0xce256240
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov r8d, 0x54dad01a
xor edx, edx
div r8d
mov edx, eax
and edx, 0x5fe6a966
mov r8d, 0xa7ca04d0
xor r8d, 0xa7ca04d2
imul edx, r8d
xor eax, 0x5fe6a966
add eax, edx
add eax, 0xbd2fceb5
mov dword [rbp - 0x18], eax
lea rdx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400c9a24
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x18]
mov byte [rbp - 0x11], cl
cmp eax, 0xcfa851b6
ja 0x1400c7d9b
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1400c75f7
jmp 0x1400c7609
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400c783e
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x20], rax
movabs rcx, 0x386ee9aea39f6d99
movabs rdx, 0x386ee9aea39f6d99
xor rcx, rdx
cmp rax, rcx
jge 0x1400c7658
mov rcx, qword [rbp - 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x1400c783e
mov eax, dword [0x1401cd6c8]
xor eax, 0xa508f942
mov r8d, dword [0x1401cd6cc]
mov ecx, 0x98199ef2
xor ecx, 0x67e6610d
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
mov ecx, eax
xor ecx, 0x3949c9ff
mov edx, 0xa30600ec
xor edx, 0x9a4fc913
mov r8d, 0xafbfe671
xor r8d, 0x5040198e
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
or eax, eax
mov ecx, 0xecaadfd5
xor ecx, 0x1355202a
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x688a09f0
mov edx, 0xffffffff
xor edx, 0x688a09f0
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xce1ff7ab
mov ecx, 0x3e89ec22
xor ecx, 0xad5ed4e8
cmp eax, ecx
ja 0x1400c7da4
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x1401cd6d0]
sub eax, dword [0x1401cd6d4]
mov ecx, 0x4a9523c
xor ecx, 0x5fbe6e2b
xor eax, ecx
and eax, 0x6c1c4b1b
imul eax, eax, 0x1d06fc58
mov dword [rbp - 0x34], eax
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140014110
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400c9983
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x34]
mov qword [rbp - 0x30], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0x91519844
jbe 0x1400c7707
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1400c77a8
jmp 0x1400c783e
mov rcx, qword [rbp - 0x30]
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400c9a24
add rsp, 0x20
test al, 1
jne 0x1400c77cd
jmp 0x1400c77df
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400c783e
mov rcx, qword [rbp + 0xe0]
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rbp + 0xc0]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400c7829
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x1400c783e
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax]
mov word [rax + rcx + 8], 0
mov rax, qword [rbp + 0xa8]
cmp byte [rax], 0
jne 0x1400c7c08
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xc8]
mov qword [rax + 8], rcx
sub rsp, 0x20
call fcn.1400c7dd1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x90]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x100]
sub rsp, 0x20
call fcn.1400c9951
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1400c7b2c
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400c9983
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x1400c7b2c
mov rax, qword [rbp - 0x60]
cmp rax, 0
jge 0x1400c7a37
mov r11d, dword [0x1401cd6d8]
mov eax, 0x5b8d5a66
xor eax, 0x69248d87
xor r11d, eax
mov eax, dword [0x1401cd6dc]
xor eax, 0xbd5391ab
imul r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x52625857
mov edx, 0xffffffff
xor edx, 0xf8d6632f
mov eax, ecx
and eax, 0xf8d6632f
and r11d, edx
mov r9d, r8d
and r9d, 0xf8d6632f
mov r10d, edx
and r10d, 0x52625857
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xf8d6632f
and ecx, edx
or eax, ecx
or eax, 0xa4fcf767
mov ecx, 0x8037717d
xor ecx, 0x8719a453
or eax, ecx
cmp eax, 0x31991754
jb 0x1400c7dad
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1401cd6e0]
xor eax, 0xde26d7de
mov r9d, dword [0x1401cd6e4]
mov r10d, r9d
xor r10d, 0xffffffff
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
mov edx, 0x2cbed3bd
xor edx, 0xcbf5c417
or eax, edx
xor eax, 0x35999159
mov edx, 0x94c9f6f5
xor edx, 0x5438ab8f
and eax, edx
mov dword [rbp - 0x64], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x48238e5c
jb 0x1400c79a9
jmp 0x1400c7b2c
mov eax, dword [0x1401cd6e8]
and eax, dword [0x1401cd6ec]
or eax, 0xde5d98c9
mov ecx, eax
and ecx, 0xdd052bf4
shl ecx, 1
mov edx, 0x82c14fc6
xor edx, 0x5fc46432
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0xfd91086b
add eax, ecx
cmp eax, 0xba9053c6
je 0x1400c7db6
mov r8, qword [rbp - 0x60]
mov eax, dword [0x1401cd6f0]
xor edx, edx
div dword [0x1401cd6f4]
mov rdx, qword [rbp - 0x50]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7ec8613d
mov r9d, 0xffffffff
xor r9d, 0x7ec8613d
and ecx, r9d
or eax, ecx
mov ecx, 0xdd4aa936
xor ecx, 0x22b556c9
xor eax, ecx
mov ecx, 0xa08cd59c
xor ecx, 0xd9b7957d
xor eax, ecx
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xbc364583
mov r10d, 0xffffffff
xor r10d, 0xbc364583
mov ecx, eax
and ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0xbc364583
or eax, 0xbc364583
imul eax, r9d
add eax, ecx
mov dword [rbp - 0x68], eax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140099bd0
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp eax, 0x8eb63a58
ja 0x1400c7a77
jmp 0x1400c7b2c
mov ecx, dword [0x1401cd6f8]
or ecx, dword [0x1401cd6fc]
mov eax, ecx
and eax, 0x2ae856f1
mov edx, 0x4bf4a608
xor edx, 0x611cf0f9
xor ecx, edx
or eax, ecx
xor eax, 0x66ddbcd9
add eax, 0xeeea835a
mov ecx, 0x1538b12d
xor ecx, 0x5c43ece1
cmp eax, ecx
jbe 0x1400c7dbf
mov rcx, qword [rbp + 0x98]
mov eax, dword [0x1401cd700]
xor eax, 0x76cd3468
mov r8d, dword [0x1401cd704]
xor r8d, 0x2ac6f21f
xor edx, edx
div r8d
mov r8d, 0x85743175
xor edx, edx
div r8d
imul eax, eax, 0xc9beac46
mov r9d, 0x8602dc10
xor r9d, 0xfea3448d
mov edx, 0x6c435366
xor edx, 0x93bcac99
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x78a1989d
or eax, 0x78a1989d
imul eax, r8d
add eax, edx
mov rdx, qword [rbp + 0xb0]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0xb8]
mov qword [rcx + 8], rdx
cmp eax, 0x7d3e100d
ja 0x1400c7dbf
jmp 0x1400c7c08
mov eax, dword [0x1401cd708]
xor edx, edx
div dword [0x1401cd70c]
mov ecx, 0x734cbe58
xor ecx, 0xb047748b
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x41d5f70e
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
and eax, 0x1231d8d8
cmp eax, 0x1e3b4c04
ja 0x1400c7dc8
mov rcx, qword [rbp + 0xa0]
mov eax, dword [0x1401cd710]
xor edx, edx
div dword [0x1401cd714]
mov r9d, 0xffffffff
xor r9d, 0x39accc96
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x3425d6fa
xor r9d, 0xcbda2905
xor edx, r9d
imul edx, r8d
mov r9d, 0xc72ca195
xor r9d, 0xfe806d03
mov r8d, eax
and r8d, r9d
or eax, 0x39accc96
imul eax, r8d
add eax, edx
mov edx, 0xf7d4e10f
xor edx, 0x82b1ef0
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x85cdbe3b
mov r8d, 0x6f72a62c
xor r8d, 0x7ff32b1e
mov r9d, 0x3598172f
xor r9d, 0xca67e8d0
xor r8d, r9d
or eax, edx
mov edx, 0x1f0f1f5c
xor edx, 0xf8e926e
or edx, r8d
mov r8d, 0xf6147f7d
xor r8d, 0x9eb8082
xor eax, r8d
and eax, edx
add eax, 0x9049c880
mov edx, 0x9a898a7
xor edx, 0x1cf2e70b
add eax, edx
mov edx, 0xf39f2e72
xor edx, 0x63d6e6f2
sub eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x6e14964
jb 0x1400c7c47
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1400c7d8e
jmp 0x1400c7d48
mov rax, qword [rbp - 0x78]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
movabs rdx, 0xc7e738719348defb
movabs r8, 0xc7e738719348defb
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x28], rax
jne 0x1400c7d8e
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0x110]
pop rbp
ret
sub esi, dword [rdi]
test eax, 0xf7c6e967
invalid
mov ecx, 0xe9a77d3d
pop rdx
stc
invalid
pop rax
lahf
mov ebp, ecx
sti
invalid
adc eax, 0xe9d50a72
mov eax, 0x8bfffffc
mov ebp, dword [rbx]
scasd eax, dword [rdi]
jmp 0x1400c7b6b
mov ecx, dword [rbx - 0x5c1650d5]
std
invalid
lodsb al, byte [rsi]
frstor dword [rbp - 0x189169a]
invalid