Function at 0x14008ae70
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov eax, 0x20
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.140089ae5
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.140089b00
mov rcx, qword [rbp + 0x30]
call fcn.140089b00
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0xc0], 0
lea rax, [rbp + 0xc0]
add rax, 8
mov qword [rbp + 0x38], rax
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xb0], 0
lea rax, [rbp + 0xb0]
add rax, 8
mov qword [rbp + 0x40], rax
mov qword [rbp + 0xb8], 0
mov rax, qword [rcx]
mov qword [rbp + 0xa0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14007e770
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14008b567
mov rcx, qword [rbp + 0x30]
mov rax, qword [rcx]
mov qword [rbp + 0xc0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xc8], rax
sub rsp, 0x20
call fcn.140010510
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rdx, qword [rax + 0x10]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
sub rsp, 0x20
call fcn.140010510
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
mov qword [rbp - 0x18], rcx
mov rdx, qword [rax]
mov qword [rbp - 0x10], rdx
xor eax, eax
mov ecx, eax
sub rcx, 0xffffffffffffffff
mov rax, rdx
sub rax, rcx
mov qword [rbp - 8], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14008b056
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x28]
add rcx, 8
mov qword [rbp - 0x30], rcx
mov rcx, rax
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jmp 0x14008b16d
mov eax, dword [0x1401d8fc8]
mov ecx, dword [0x1401d8fcc]
xor ecx, 0xccbb81ed
add eax, ecx
mov ecx, 0xd682529d
xor edx, edx
div ecx
sub eax, 0x8a95d64
sub eax, 0x76fbeeb5
add eax, 0x8a95d64
mov ecx, 0xa5ef55cf
xor ecx, 0xa5ef55cf
mov edx, 0x13448898
xor edx, 0xca9cb855
sub ecx, edx
add eax, ecx
mov ecx, 0x223fad39
xor ecx, 0x793ff05e
cmp eax, ecx
jb 0x14008b928
mov eax, dword [0x1401d8fd0]
or eax, dword [0x1401d8fd4]
mov edx, eax
xor edx, 0xdac4f3e4
xor edx, 0xffffffff
and edx, 0xdac4f3e4
mov ecx, 0x306d2a3b
xor ecx, 0x306d2a39
imul ecx, edx
mov edx, 0x19830d9f
xor edx, 0xc347fe7b
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xa7c29371
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa7c29371
or eax, 0xa7c29371
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd3473b05
mov r8d, 0xffffffff
xor r8d, 0xd3473b05
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd3473b05
or eax, 0xd3473b05
imul eax, edx
add eax, ecx
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.1400077a3
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, 0x15fc2224
jbe 0x14008b928
jmp 0x14008b567
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x40], rax
mov eax, dword [0x1401d8fd8]
xor eax, 0x6c253710
xor edx, edx
div dword [0x1401d8fdc]
sub eax, 0x4b646577
sub eax, 0xeb95147b
sub eax, 0xa09049e6
cmp eax, 0x9a2ece60
je 0x14008b931
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x40]
mov r8d, dword [0x1401d8fe0]
mov r9d, dword [0x1401d8fe4]
xor r9d, 0x5886e3b6
mov eax, r8d
and eax, r9d
or r8d, r9d
add eax, r8d
xor r8d, r8d
sub r8d, 0x26276f5
sub eax, r8d
add eax, 0x691c7f84
imul eax, eax, 0x6efb55d1
cmp rcx, rdx
setg cl
mov byte [rbp - 0x41], cl
cmp eax, 0x6af2e1bc
jbe 0x14008b1a2
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14008b4e5
jmp 0x14008b207
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
movabs rdx, 0xf99a3a1fbd1ad9c3
movabs r8, 0xf99a3a1fbd1ad9c3
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x50], rax
jl 0x14008b248
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
mov qword [rbp - 0x50], rax
jl 0x14008b262
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14008b567
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x51], al
sub al, 0x2f
je 0x14008b2d6
jmp 0x14008b281
mov al, byte [rbp - 0x51]
sub al, 0x5c
je 0x14008b2d6
jmp 0x14008b291
mov rcx, qword [rbp - 0x40]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
xor rdx, rcx
cmp rdx, 0
setl dl
cmp rcx, 0
setne cl
and cl, dl
test cl, 1
mov qword [rbp - 0x20], rax
jne 0x14008b2c4
jmp 0x14008b16d
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14008b567
mov eax, dword [0x1401d8fe8]
or eax, dword [0x1401d8fec]
and eax, 0xe98dd7c3
mov edx, eax
xor edx, 0x5c9598cb
xor edx, 0xffffffff
and edx, 0x5c9598cb
mov ecx, 0x626742ae
xor ecx, 0x626742ac
imul ecx, edx
mov edx, 0x3ba42a9d
xor edx, 0x6731b256
sub ecx, edx
sub eax, ecx
mov ecx, 0x25789118
xor ecx, 0x42b27506
xor edx, edx
div ecx
cmp eax, 0x368d3b26
ja 0x14008b93a
mov rax, qword [rbp + 0x28]
mov r9, qword [rbp - 0x40]
mov ecx, dword [0x1401d8ff0]
mov edx, dword [0x1401d8ff4]
add ecx, 0xb547fedf
add ecx, edx
sub ecx, 0xb547fedf
imul r8d, ecx, 0x8e22b43c
mov edx, 0xcc300ec2
xor edx, 0x87c73496
mov ecx, r8d
xor ecx, edx
mov edx, 0x9a55e232
xor edx, 0xd1a2d866
mov r10d, 0x252025d0
xor r10d, 0xdadfda2f
xor edx, r10d
and r8d, edx
mov edx, 0x9ab6cdf
xor edx, 0x9ab6cdd
imul edx, r8d
sub edx, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xffffffff
xor edx, 0x187f65f1
mov r8d, 0xffffffff
xor r8d, 0x187f65f1
or edx, r8d
mov r8d, 0x6218abde
xor r8d, 0x9de75421
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov dword [rbp - 0x58], ecx
xor ecx, ecx
sub r9, 1
cmovb r9, rcx
mov rcx, qword [rax]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x80]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14001aa20
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], rax
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.140014bff
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp]
add rsp, 0x20
movabs r9, 0x23673db82a88adf9
movabs r10, 0x23673db82a88adf9
xor r9, r10
sub r9, r8
xor r8d, r8d
sub r8, 1
add r9, r8
movabs r8, 0x856862d484e22be8
movabs r10, 0x856862d484e22be8
xor r8, r10
sub r8, r9
mov r9, qword [rax]
mov qword [rdx], r9
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400243b4
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov r8, qword [rax]
mov rax, qword [rax + 8]
add rcx, 0x10
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140014bff
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp eax, 0x131f448f
je 0x14008b32f
jmp 0x14008b567
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140014bff
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140010510
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
add rcx, 0x10
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140014bff
add rsp, 0x20
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140010510
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x48]
mov dl, byte [rcx]
mov byte [rbp - 0x61], dl
mov dl, 0xe1
xor dl, 0xe1
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x14008b5c8
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rcx, 0x61fa02e330f2c693
movabs rdx, 0x21fa02e330f2c693
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14008b5c8
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14008b6df
mov eax, dword [0x1401d8ff8]
mov edx, dword [0x1401d8ffc]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x1afd48de
xor ecx, 0xcf7e04e0
add eax, ecx
sub eax, 0xcce564d8
sub eax, 0xd5834c3e
add eax, 0x9d9178f4
imul eax, eax, 0x6677ff27
cmp eax, 0xe5e12f77
jae 0x14008b943
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1401d9000]
xor eax, 0x88de982d
sub eax, dword [0x1401d9004]
mov edx, eax
and edx, 0x6cf8fff2
shl edx, 1
add eax, 0x6cf8fff2
sub eax, edx
mov edx, 0x8ff6a2ce
xor edx, 0xe2c434ce
xor eax, edx
mov edx, eax
and edx, 0xf5c9dcb0
mov r8d, 0x876e2b3f
xor r8d, 0x876e2b3d
imul edx, r8d
xor eax, 0xf5c9dcb0
add eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
movabs r8, 0x44ccb75bd1c87833
movabs r9, 0xbb3348a42e3787cc
xor r8, r9
xor rcx, r8
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x9c03b7cf
je 0x14008b943
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14008b6ce
jmp 0x14008b6df
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov eax, dword [0x1401d9008]
mov edx, dword [0x1401d900c]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
xor ecx, ecx
sub ecx, 0x69c27c64
add eax, ecx
xor eax, 0xdbed7fa6
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf3c2aa9b
mov r8d, 0x6190484d
xor r8d, 0x9252e2d6
mov ecx, 0xaa533db6
xor ecx, 0x55acc249
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf3c2aa9b
or eax, 0xf3c2aa9b
imul eax, edx
add eax, ecx
cmp eax, 0x947587e2
je 0x14008b94c
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401d9010]
xor edx, edx
div dword [0x1401d9014]
mov edx, eax
sub edx, 0x8cce81f1
sub edx, 0xd13fd497
add edx, 0x8cce81f1
sub edx, 0xcd14d465
add edx, 0xe0359107
mov eax, 0x86f49162
xor eax, 0x4be04507
add edx, eax
mov r8d, 0xf6e70c80
xor r8d, 0x1eb034f5
mov eax, edx
and eax, r8d
mov r8d, 0x543bf453
xor r8d, 0xbc6ccc26
xor edx, r8d
or eax, edx
mov dword [rbp - 0x78], eax
mov eax, 0xa2819259
xor eax, 0xea8ccca8
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14005d640
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x19
xor r8b, 0x19
cmp dl, r8b
sete dl
mov byte [rbp - 0x72], dl
cmp eax, ecx
jb 0x14008b753
mov al, byte [rbp - 0x72]
test al, 1
jne 0x14008b806
jmp 0x14008b80f
mov rax, qword [rbp + 0x48]
mov cl, byte [rbp - 0x61]
mov byte [rax], cl
mov eax, dword [0x1401d9018]
xor edx, edx
div dword [0x1401d901c]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4714aeb7
and eax, edx
mov edx, 0x3fae0dff
xor edx, 0xc051f200
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x4714aeb7
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xd6981c5e
xor ecx, 0xfc1bd170
xor eax, ecx
mov ecx, 0xf4e24a5f
xor ecx, 0x96a3db73
xor edx, edx
div ecx
cmp eax, 0x25a908e2
je 0x14008b955
mov r11d, dword [0x1401d9020]
imul r11d, dword [0x1401d9024]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xbe9d464
mov edx, 0x801ef67d
xor edx, 0xc358ca7d
mov eax, 0xd7c37863
xor eax, 0x283c879c
xor edx, eax
mov eax, ecx
and eax, 0x43463c00
and r11d, edx
mov r10d, 0xc049e1e3
xor r10d, 0x830fdde3
mov r9d, r8d
and r9d, r10d
mov r10d, 0x5ade4cda
xor r10d, 0x513798be
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x43463c00
and ecx, edx
or eax, ecx
mov ecx, 0x52fe0190
xor edx, edx
div ecx
mov ecx, 0x26472a43
xor ecx, 0x8f1d4692
sub eax, ecx
mov ecx, 0x75e417ba
xor ecx, 0x3087084f
cmp eax, ecx
jbe 0x14008b877
lea rsp, [rbp + 0xd0]
pop rbp
ret
invalid
invalid
mov bh, 0xc0
stosb byte [rdi], al
mov dl, 0xe9
in al, dx
stc
invalid
out 0x96, al
insb byte [rdi], dx
and cl, ch
invalid
out 0xd, al
push rbx
sbb eax, 0xfffdfee9
call rdx
wait
sbb eax, 0xff19e9b4
invalid
rcr byte [rbx + 0x19e9b41d], cl
invalid