Function at 0x140099ec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rcx
mov eax, 0x30
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.14009a8e4
add rsp, 0x20
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.14009a8e4
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
add rcx, 0x60
mov qword [rbp + 0x30], rcx
mov rcx, rax
add rcx, 0x2b71
mov qword [rbp + 0x38], rcx
cmp byte [rax + 0x2b71], 0
jne 0x14009a1c4
sub rsp, 0x20
call fcn.14009a8e4
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp], rax
movabs rcx, 0x9e96761c4600703d
movabs rdx, 0x9e96761c4600700d
xor rcx, rdx
cmp rax, rcx
je 0x140099fad
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x18]
mov byte [rcx + rax], 0
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 8], rax
jmp 0x140099f59
mov rdx, qword [rbp + 0x18]
movabs rcx, 0x44e4129a1a2be03c
movabs rax, 0x44e4129a1a2be038
xor rcx, rax
sub rsp, 0x20
call fcn.140097310
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009a115
mov eax, dword [0x1401cc698]
xor eax, 0x9e31e7d4
mov edx, dword [0x1401cc69c]
xor edx, 0x4baa6772
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xe49c32dc
xor ecx, 0xa3931c99
or eax, ecx
or eax, 0x2c476443
mov ecx, 0xf7d12ed6
xor ecx, 0x59a76130
and eax, ecx
cmp eax, 0x2257aca8
je 0x14009a8b7
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1401cc6a0]
or eax, dword [0x1401cc6a4]
mov r8d, 0x39e8a13c
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x18]
mov edi, eax
or edi, 0x62d1a0e4
mov r8d, edi
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xb2a96c1b
mov r10d, 0xffffffff
xor r10d, 0xfe992635
mov eax, r8d
and eax, 0xfe992635
and edi, r10d
mov esi, 0x43c93fa
xor esi, 0xfaa5b5cf
mov r11d, r9d
and r11d, esi
mov esi, r10d
and esi, 0xb2a96c1b
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0xdaa27283
xor r9d, 0x243b54b6
or r9d, r10d
and r8d, r9d
or eax, r8d
mov dword [rbp - 8], eax
add rcx, 0x2b40
sub rsp, 0x20
call fcn.1400970c0
mov rcx, qword [rbp + 0x30]
mov eax, dword [rbp - 8]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0x9049c880
jb 0x14009a8b7
mov al, byte [rbp - 1]
test al, 1
jne 0x14009a105
jmp 0x14009a115
mov rax, qword [rbp + 0x38]
mov cl, 0x1d
xor cl, 0x1c
mov byte [rax], cl
jmp 0x14009a239
mov ecx, dword [0x1401cc6a8]
mov eax, dword [0x1401cc6ac]
xor eax, 0xf68f4307
sub ecx, eax
sub ecx, 0x8bb6149d
mov eax, ecx
and eax, 0x8f735fab
mov edx, 0xa2c0cb58
xor edx, 0x2db394f3
or ecx, edx
add eax, ecx
mov ecx, 0xc4763288
xor ecx, 0xbfe5c8d1
imul eax, ecx
cmp eax, 0x36669823
je 0x14009a8c0
mov eax, dword [0x1401cc6b0]
and eax, dword [0x1401cc6b4]
mov r8d, 0xffffffff
xor r8d, 0x7986eefe
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7986eefe
or eax, 0x7986eefe
imul eax, edx
add eax, ecx
add eax, 0x4ff0a5df
mov ecx, 0x15126535
xor ecx, 0xbc4678c9
add eax, ecx
add eax, 0x9cd29567
sub eax, 0xa9541dfc
cmp eax, 0x384e8e81
jb 0x14009a8c0
jmp 0x14009a8ab
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
add rcx, 0x2b40
mov qword [rbp - 0x10], rcx
mov al, byte [rax]
mov cl, 0x3a
xor cl, 0x3a
cmp al, cl
jne 0x14009a8ab
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x2b60]
movabs rcx, 0x1a305c72693d8ff0
movabs rdx, 0x1a305c72693d8f70
xor rcx, rdx
cmp rax, rcx
jle 0x14009a239
mov rcx, qword [rbp - 0x10]
mov edx, 0x40
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400975a0
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009a8ab
mov eax, dword [0x1401cc6b8]
mov edx, dword [0x1401cc6bc]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
add eax, 0xb921a5b9
mov ecx, 0x31023602
xor ecx, 0xc5da2985
and eax, ecx
or eax, 0xad3f3934
mov ecx, 0x38340d91
xor ecx, 0x731532e1
cmp eax, ecx
je 0x14009a8c9
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov edx, dword [0x1401cc6c0]
xor edx, 0x5593a4df
or edx, dword [0x1401cc6c4]
add edx, 0x1ff8d6f4
mov r9d, edx
and r9d, 0xccab84e7
mov r8d, 0x55e7bed1
xor r8d, 0x55e7bed3
imul r8d, r9d
mov r9d, 0xe9145837
xor r9d, 0x25bfdcd0
add edx, r9d
sub edx, r8d
imul edx, edx, 0xcd7f528d
mov dword [rbp - 0x18], edx
mov edx, 0xf2ac93e7
xor edx, 0x83be9d8b
mov dword [rbp - 0x1c], edx
mov rdx, qword [rax]
mov qword [rbp + 0x40], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x48], rax
add rcx, 0x2b40
mov qword [rbp - 0x28], rcx
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140098d50
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jae 0x14009a27a
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14009a335
jmp 0x14009a8ab
sub rsp, 0x20
call fcn.14009a8e4
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rcx + 0x2b60]
mov qword [rbp - 0x30], rcx
cmp byte [rax + 0x60], 0
jne 0x14009a86f
mov r8, qword [rbp - 0x30]
mov rax, r8
and rax, 0xffffffffffffffff
mov rcx, r8
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rbp - 0x38], rax
mov rcx, rax
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
and rdx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xbe8dc94c2e2b64f8
movabs rdx, 0x417236b3d1d49b07
xor r9, rdx
mov rdx, rax
xor rdx, r9
movabs r9, 0xd25c5c26e8c31332
movabs r10, 0x2da3a3d9173ceccd
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
and al, cl
mov cl, 1
xor cl, 0
xor al, cl
test al, 1
jne 0x14009a411
jmp 0x14009a423
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x14009a86f
mov rax, qword [rbp - 0x30]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x14009a4db
movabs rcx, 0xbd8922ea73f27d5c
movabs rax, 0xbd8922ea73f27d1c
xor rcx, rax
movabs rdx, 0xc97f88ae8d5d65f6
movabs rax, 0xc97f88ae8d5d65fe
xor rdx, rax
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401dd740]
mov qword [rcx], rax
lea rax, [0x1401dbbd9]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dbc08]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dbc10]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401dbbd9]
lea r8, [0x1401dbbe5]
lea r9, [0x1401dbbe8]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x6afbc63d
call fcn.1400120ce
add rsp, 0x30
jmp 0x14009a86f
mov eax, dword [0x1401cc6c8]
xor edx, edx
div dword [0x1401cc6cc]
mov r8d, 0xffffffff
xor r8d, 0xf9486686
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x224c222d
xor r8d, 0xdb0444ab
mov edx, eax
and edx, r8d
or eax, 0xf9486686
imul eax, edx
add eax, ecx
or eax, 0x92e12c99
and eax, 0x6bc08dd5
cmp eax, 0xf3bd5408
ja 0x14009a8d2
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401cc6d0]
or eax, dword [0x1401cc6d4]
sub eax, 0xe4e07b8b
mov r8d, 0xf236b0d5
xor edx, edx
div r8d
mov r8d, 0x69a756c6
xor edx, edx
div r8d
movabs rdx, 0x89c0bdc7be5997a6
movabs r8, 0x89c0bdc7be5997a6
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0xd2cb2d69
je 0x14009a537
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14009a59d
jmp 0x14009a61a
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401dd740]
mov qword [rcx], rax
lea rax, [0x1401dbbd9]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dbc08]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dbc10]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401dbbd9]
lea r8, [0x1401dbbe5]
lea r9, [0x1401dbbe8]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x2dbf3ad0
call fcn.1400120ce
add rsp, 0x30
jmp 0x14009a86f
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp + 0x28]
mov r9, qword [rax + 0x2b50]
mov rax, r9
and rax, r8
shl rax, 1
mov rdx, r9
xor rdx, r8
add rdx, rax
mov qword [rbp - 0x48], rdx
movabs rax, 0x47851f65e96b4219
movabs rcx, 0xb87ae09a1694bde6
xor rax, rcx
mov rcx, rdx
xor rcx, rax
mov rax, r9
and rax, rcx
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
or rax, rcx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14009a7f9
mov eax, dword [0x1401cc6d8]
sub eax, dword [0x1401cc6dc]
mov r8d, 0xa1ebbb34
xor r8d, 0x1d35d13c
mov ecx, 0x161156ba
xor ecx, 0xe9eea945
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd96bd89c
xor r8d, 0x26942763
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbcde6a08
mov r8d, 0x10104240
xor r8d, 0xacce2848
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x8a90b25e
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0x13641b1d
xor edx, 0x578cd7fb
mov eax, 0x64543d5a
xor eax, 0x9babc2a5
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0xe871fbbb
mov eax, ecx
and eax, 0xe871fbbb
and r11d, r8d
mov r10d, 0x3dd3e0c0
xor r10d, 0xd5a21b7b
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0x44e8cce6
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x12da8dda
xor edx, 0xfaab7661
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xf2208898
jae 0x14009a8db
mov eax, dword [0x1401cc6e0]
xor edx, edx
div dword [0x1401cc6e4]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8f49261f
mov r8d, 0xffffffff
xor r8d, 0x8f49261f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8f49261f
mov r8d, 0x6632c0b7
xor r8d, 0xe97be6a8
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xf8c96cb1
xor edx, edx
div ecx
xor eax, 0xde34cbbb
mov dword [rbp - 0x4c], eax
sub rsp, 0x20
call fcn.140008024
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, 0xc1afa6f3
je 0x14009a77d
jmp 0x14009a86f
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x2b68]
xor rcx, rax
not rcx
and rcx, rax
mov qword [rbp - 0x60], rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14009a851
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14009a86f
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x2b48]
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x14009a8ab
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14009a8f2
add rsp, 0x20
mov qword [rbp - 0x78], rax
invalid
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x50]
pop rdi
pop rsi
pop rbp
ret
invalid
or esp, edi
iretd
jl 0x14009a8a5
inc byte [rsi]
jmp 0x14009a27a
push rbp
or edx, edx
invalid
sti
or esp, dword [rsi]
sub ch, cl
cdq
invalid