Function at 0x1401ff960
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], rcx
mov eax, 0x10
mov qword [rbp + 0x58], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
sub rsp, 0x20
call fcn.140207877
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0x80], rax
add rax, 0x50
mov qword [rbp + 0x78], rax
mov word [rcx], 0xce6
sub rsp, 0x20
call fcn.140063da0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x88], rcx
cmp byte [rax + 0x50], 0
jne 0x140200193
mov rax, qword [rbp + 0x88]
mov rcx, qword [0x1402648d8]
mov rdx, qword [rcx]
mov qword [rbp + 0x128], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x130], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x118], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x120], rax
lea rcx, [rbp + 0x138]
lea rdx, [rbp + 0x128]
lea r8, [rbp + 0x118]
sub rsp, 0x20
call fcn.1401fa83b
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rcx, qword [rbp + 0x138]
mov qword [rbp + 0x30], rcx
mov rcx, qword [rbp + 0x140]
mov qword [rbp + 0x38], rcx
mov al, byte [rax]
mov cl, 0x16
xor cl, 0x16
cmp al, cl
jne 0x140200193
mov eax, dword [0x140258d58]
imul eax, dword [0x140258d5c]
mov ecx, 0x3affcb5c
xor ecx, 0x97a4e810
xor eax, ecx
add eax, 0xc33d1b16
sub eax, 0x24459c38
sub eax, 0xc33d1b16
sub eax, 0x21776838
mov ecx, 0xcdd67b28
xor ecx, 0x2e6f65d8
cmp eax, ecx
je 0x1402002ea
mov eax, dword [0x140258d60]
mov ecx, dword [0x140258d64]
xor ecx, 0x15591fd
xor edx, edx
div ecx
mov ecx, 0xd99d6c44
xor ecx, 0x894591da
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0x50d8fd9e
mov ecx, 0xa64b30a9
xor ecx, 0xa64b30ab
imul ecx, edx
mov edx, 0xfe305bde
xor edx, 0xaee8a640
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x4f2524b4
sub eax, 0x8ef2e192
sub eax, 0x95274137
mov ecx, 0x30061889
xor ecx, 0xbef4f91b
add eax, ecx
mov dword [rbp + 0x1c], eax
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140018f50
add rsp, 0x20
mov qword [rbp + 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001b860
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov word [rbp + 0x14e], 0x6e7
lea rcx, [rbp + 0x14e]
sub rsp, 0x20
call fcn.140063da0
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x1c]
mov qword [rbp + 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0xfc0de448
je 0x1402002ea
mov cl, byte [rbp + 0x2f]
mov al, 1
test cl, 1
mov byte [rbp + 7], al
jne 0x1401ffbe3
jmp 0x140200108
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14001ba7e
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x8e
sub rsp, 0x20
call fcn.1400644d0
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 7], al
jne 0x140200108
mov ecx, 0xbba
sub rsp, 0x20
call fcn.1400644d0
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x78]
mov dword [rcx + 0x14], edx
mov cl, byte [rax]
mov dl, 0x76
xor dl, 0x76
mov al, 1
cmp cl, dl
mov byte [rbp + 7], al
jne 0x140200108
mov ecx, dword [0x140258d68]
mov eax, dword [0x140258d6c]
mov edx, 0xdf891375
xor edx, 0x7395c265
xor eax, edx
imul ecx, eax
mov eax, 0xffffffff
xor eax, 0xbbb36262
add ecx, eax
mov eax, 0x8789a3c1
xor eax, 0x8789a3c0
add ecx, eax
add ecx, 0x6cd822b8
mov eax, 0x91828dea
xor eax, 0x36ed6b1c
add ecx, eax
sub ecx, 0x6cd822b8
mov edx, 0xf200fd80
xor edx, 0x51978793
mov eax, ecx
and eax, edx
xor ecx, 0xa3977a13
or eax, ecx
cmp eax, 0x748bd93f
jb 0x1402002f3
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x140258d70]
mov r8d, dword [0x140258d74]
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, r8d
add eax, edx
mov r8d, 0xfba0d147
xor r8d, 0x684baa07
xor edx, edx
div r8d
mov r8d, 0xf9d7fee7
xor edx, edx
div r8d
mov r8d, 0x2a2fa396
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 8]
mov dword [rbp - 4], edx
mov qword [rax + 8], rcx
mov cx, 0x64dc
xor cx, 0x6523
sub rsp, 0x20
call fcn.1400644d0
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 4]
mov dword [rbp], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 6], cl
cmp eax, 0xeb79687b
ja 0x1402002f3
mov cl, byte [rbp + 6]
mov al, 1
test cl, 1
mov byte [rbp + 7], al
jne 0x1401ffd93
jmp 0x140200108
mov r8d, dword [rbp]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x30]
mov qword [rbp + 0xf8], r9
mov qword [rbp + 0x100], rcx
mov qword [rdx], 1
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.140176549
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x10], rcx
mov cl, byte [rax]
mov dl, 0x7c
xor dl, 0x7c
mov al, 1
cmp cl, dl
mov byte [rbp + 7], al
jne 0x140200108
mov rcx, qword [rbp + 0x48]
mov word [rcx], 0xac9
sub rsp, 0x20
call fcn.140063da0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x18], rcx
mov cl, byte [rax]
mov dl, 0x7d
xor dl, 0x7d
mov al, 1
cmp cl, dl
mov byte [rbp + 7], al
jne 0x140200108
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.14001ba7e
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x28], rdx
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xb8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
lea r8, [rbp + 0xc8]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xb8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140176040
mov rcx, qword [rbp + 0x78]
add rsp, 0x30
mov dword [rbp - 0x1c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 7], al
jne 0x140200108
sub rsp, 0x20
mov cx, 0x220
call fcn.140063c67
mov r8d, dword [rbp - 0x1c]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x78]
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 - 0x29], al
jne 0x1401fff24
jmp 0x140200102
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001b860
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov qword [rax], 0
mov ecx, 0x3c0f2e46
xor ecx, 0x3c0f2e47
mov dword [rax + 8], ecx
mov cx, 0xa0b0
xor cx, 0xadba
sub rsp, 0x20
call fcn.1400644d0
mov rdx, qword [rbp + 0x78]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1402000c2
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov word [rbp + 0xb6], 0xcbe
lea rcx, [rbp + 0xb6]
sub rsp, 0x20
call fcn.140063da0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x50], rcx
mov dl, byte [rax]
mov r8b, 0x99
xor r8b, 0x99
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1402000c2
mov rax, qword [rbp - 0x50]
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.14001ba7e
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov r8, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140073aff
mov r8, qword [rbp + 0x68]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x58]
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 - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1402000c2
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x40]
mov rcx, qword [0x140264148]
mov qword [rdx + 0x20], rcx
mov rcx, qword [str.XA_]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140025ed0
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x78]
mov dl, byte [rbp - 0x39]
mov rcx, qword [rbp - 0x38]
mov byte [rbp - 0x59], dl
mov dl, 0x87
xor dl, 0x87
mov byte [rax], dl
sub rsp, 0x20
call fcn.1401f7c60
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x29], al
jne 0x140200102
mov al, byte [rbp - 0x59]
mov rcx, qword [rbp + 0x78]
mov byte [rcx], al
mov byte [rbp - 0x29], al
mov al, byte [rbp - 0x29]
mov byte [rbp + 7], al
mov rcx, qword [rbp + 0x38]
mov al, byte [rbp + 7]
mov byte [rbp - 0x5b], al
cmp rcx, 0
mov byte [rbp - 0x5a], al
je 0x140200183
mov al, byte [rbp - 0x5b]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0x5194591b214bbc7
movabs r8, 0x5194591b214bbc7
xor rdx, r8
cmp rcx, rdx
mov byte [rbp - 0x5a], al
jne 0x140200183
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x5a], al
mov al, byte [rbp - 0x5a]
mov cl, 0xc2
xor cl, 0xc2
cmp al, cl
je 0x1402002e1
sub rsp, 0x20
call fcn.1401fa8a2
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov ax, word [rax + 0x12]
mov cx, 0xdfbf
xor cx, 0xdfbe
cmp ax, cx
jle 0x1402002e1
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x1675cf87
xor ecx, 0xd307ede6
cmp eax, ecx
jne 0x1402002e1
mov ecx, dword [0x140258d78]
mov edx, dword [0x140258d7c]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xb4e5f6b6
xor ecx, 0x7096a701
add eax, ecx
mov ecx, 0xf89d912f
xor edx, edx
div ecx
add eax, 0xd0e9e709
sub eax, 0x5e59b11e
sub eax, 0xd0e9e709
mov ecx, 0xcd6060f1
xor ecx, 0xbf09af5f
cmp eax, ecx
je 0x1402002fc
mov eax, dword [0x140258d80]
xor edx, edx
div dword [0x140258d84]
mov ecx, eax
mov rax, qword [rbp + 0x78]
xor ecx, 0x6c2db904
sub ecx, 0xea9d8b00
sub ecx, 0xe7275893
mov edx, 0xb946f2f5
xor edx, 0x4155fbcd
add ecx, edx
add ecx, 0xe7275893
mov dword [rbp - 0x70], ecx
mov ecx, 0xf96c39b6
xor ecx, 0x1a709e60
mov dword [rbp - 0x74], ecx
mov cl, 0xa2
xor cl, 0xa2
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401fa8b4
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140099ce0
mov rdx, qword [rbp + 0x78]
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
jae 0x14020023b
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1402002d4
jmp 0x1402002e1
sub rsp, 0x20
call fcn.1401fa8e9
add rsp, 0x20
lea rsp, [rbp + 0x150]
pop rbp
ret
jp 0x140200303
cmc
fucompp
div bh
invalid
invalid
pop rsp
imul r9, qword [rdx], 0xffffffffffffffe9
invalid
invalid