Function at 0x14002b596
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov eax, dword [0x1401d9248]
add eax, dword [0x1401d924c]
mov ecx, 0xe10e26ee
xor ecx, 0xddca6254
sub eax, ecx
sub eax, 0xd8ef103a
add eax, 0x49c7116e
add eax, 0xd8ef103a
mov ecx, 0x5d33873b
xor edx, edx
div ecx
mov ecx, 0xba6f9415
xor ecx, 0x9712460f
cmp eax, ecx
ja 0x14002b560
mov eax, dword [0x1401d9250]
xor eax, 0xbac0f0c
mov r8d, dword [0x1401d9254]
mov r9d, r8d
not r9d
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
not ecx
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul rax, rax, 0x47b6bf9d
shr rax, 0x3e
add eax, 0x294a7bb9
mov dword [rbp - 0x14], eax
mov eax, 0x20
mov qword [rbp - 0x30], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.14000a534
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x14]
add r8, 0x60
mov qword [rbp - 0x10], r8
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
cmp rcx, rdx
setg cl
mov byte [rbp + 7], cl
cmp eax, 0x1550a077
jb 0x14002ad8d
mov al, byte [rbp + 7]
test al, 1
jne 0x14002ae4d
jmp 0x14002ae67
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14002aaf5
add rsp, 0x20
jmp 0x14002b4b7
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 8]
cmp rax, rcx
jge 0x14002b4b7
mov rax, qword [rbp + 0x10]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 0
je 0x14002aeb7
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14002b0ac
mov eax, dword [0x1401d9258]
mov ecx, 0x9fa37878
xor ecx, 0x5c0043ec
xor eax, ecx
xor edx, edx
div dword [0x1401d925c]
mov ecx, 0x48e60310
xor edx, edx
div ecx
mov ecx, 0xb841872d
xor ecx, 0x7740232c
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x9786b279
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xad72bbb0
xor r8d, 0x528d444f
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9786b279
or eax, 0x9786b279
imul eax, edx
add eax, ecx
cmp eax, 0x6ec24f3a
je 0x14002b569
mov r9, qword [rbp - 8]
mov r8, qword [rbp + 8]
mov eax, dword [0x1401d9260]
xor eax, 0x215faa0f
imul eax, dword [0x1401d9264]
mov r10d, 0xffffffff
xor r10d, 0xc0e4a58b
mov edx, eax
and edx, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc0e4a58b
or eax, 0xc0e4a58b
imul eax, edx
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xc9e3dc8e
xor edx, 0xf88f1dd4
mov ecx, 0x47779292
xor ecx, 0xb8886d6d
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6c774dd5
or eax, edx
or ecx, 0x6c774dd5
xor eax, 0xffffffff
and eax, ecx
and eax, 0x4de8f12c
movabs rcx, 0x8afdf05bed20873
mov rdx, r8
sub rdx, rcx
sub rdx, r9
movabs rcx, 0x8afdf05bed20873
add rdx, rcx
mov qword [rbp - 0x50], rdx
mov rcx, rdx
xor rcx, r8
cmp rcx, 0
setl cl
mov r10, rdx
xor r10, r9
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
shl r8, 1
sub r8, r9
sub rdx, r8
cmp rdx, 0xffffffffffffffff
setg r8b
xor cl, 0xff
xor r8b, 0xff
mov dl, 1
xor dl, 0
or cl, r8b
or dl, 0
mov r8b, 1
xor r8b, 0
xor cl, r8b
and cl, dl
mov byte [rbp - 0x41], cl
cmp eax, 0xff94da82
ja 0x14002af2f
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14002b09a
jmp 0x14002b03f
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 8]
movabs r9, 0x79e3010271becdab
movabs rax, 0x79e3010271becdb3
xor r9, rax
movabs rax, 0xbce71d7f7a62adc4
movabs r10, 0xbce71d7f7a62adcc
xor rax, r10
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400109f0
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov qword [rax], rcx
jmp 0x14002b0ac
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14002b4b7
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov qword [rcx], rdx
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], rax
mov eax, dword [0x1401d9268]
xor eax, 0xa04477a9
mov edx, dword [str._b0NfF]
mov ecx, eax
xor ecx, edx
mov r8d, 0xf5e3eea1
xor r8d, 0xa1c115e
xor ecx, r8d
or eax, edx
and eax, ecx
mov ecx, 0x611aeaf
xor edx, edx
div ecx
xor eax, 0xb0243a9e
imul eax, eax, 0xc27df0ba
mov ecx, 0x6410b905
xor ecx, 0x5fc0d5ce
cmp eax, ecx
je 0x14002b572
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp + 8]
mov eax, dword [0x1401d9270]
xor eax, 0x2772bdb
mov ecx, dword [0x1401d9274]
xor ecx, 0x678e17e7
sub eax, ecx
mov r9d, 0xac7c45df
xor r9d, 0x5383ba20
mov ecx, eax
xor ecx, r9d
mov r9d, 0xf181c1b9
xor r9d, 0x6380fc25
and ecx, r9d
mov r9d, 0xffffffff
xor r9d, 0x92013d9c
and eax, r9d
sub eax, ecx
xor eax, 0x9f35a46e
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x54a75111
mov r10d, 0xffffffff
xor r10d, 0x54a75111
mov ecx, eax
and ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0x54a75111
or eax, 0x54a75111
imul eax, r9d
add eax, ecx
mov ecx, 0xf94935b9
xor ecx, 0xf963c48
cmp rdx, r8
setl dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x14002b572
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14002b1d6
jmp 0x14002b4a5
mov eax, dword [0x1401d9278]
or eax, dword [0x1401d927c]
mov ecx, 0xdf0bd5a2
xor edx, edx
div ecx
or eax, 0xd1f8050d
mov ecx, 0x75d403ee
xor edx, edx
div ecx
cmp eax, 0x7f16c679
je 0x14002b57b
mov rcx, qword [rbp - 0x28]
mov eax, dword [str.4EH_]
xor eax, dword [0x1401d9284]
imul r8d, eax, 0x5f73fcaf
mov eax, r8d
xor eax, 0x28a9d1a3
mov edx, 0x21e80587
xor edx, 0x941d424
mov r9d, 0x4cfb934f
xor r9d, 0xb3046cb0
xor edx, r9d
and r8d, edx
mov edx, 0xf9d38ce7
xor edx, 0xf9d38ce5
imul edx, r8d
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x75b30d1e
xor r8d, 0x8a4cf2e1
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x11b2006c
mov r8d, 0xffffffff
xor r8d, 0x11b2006c
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x94de8acc
xor r8d, 0x6b217533
xor edx, r8d
or eax, edx
mov dword [rbp - 0x68], eax
movabs rdx, 0x14b71243bcac0061
movabs rax, 0x14b71243bcac0079
xor rdx, rax
sub rsp, 0x20
call fcn.1400080a0
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x60]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.1401b5130
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x62], cl
cmp eax, 0xd581943d
je 0x14002b57b
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14002b32c
jmp 0x14002b4a5
mov eax, dword [0x1401d9288]
xor eax, 0xf2a1fb33
xor edx, edx
div dword [0x1401d928c]
mov ecx, eax
add ecx, 0x585250b3
mov eax, ecx
or eax, 0x5418d402
xor eax, 0xffffffff
or ecx, 0x5418d402
mov edx, 0xa374bc76
xor edx, 0x5c8b4389
xor ecx, edx
or eax, ecx
mov ecx, 0x1fabccaf
xor ecx, 0xe0543350
xor eax, ecx
add eax, 0xa1a38576
sub eax, 0x7c5636cd
sub eax, 0xa1a38576
cmp eax, 0x2e63b227
jb 0x14002b584
mov r10, qword [rbp - 0x60]
mov eax, dword [0x1401d9290]
mov ecx, 0xeadbb45f
xor ecx, 0x24cbe3d3
xor eax, ecx
add eax, dword [0x1401d9294]
mov ecx, 0x891822e6
xor edx, edx
div ecx
add eax, 0xd584de
sub eax, 0x4da7961e
mov ecx, 0x545c3ab6
xor ecx, 0x5489be68
sub eax, ecx
xor eax, 0x920a1826
mov rcx, r10
add rcx, 1
mov qword [rbp - 0x78], rcx
movabs rdx, 0xd72e0476ee9c2632
movabs r8, 0x28d1fb891163d9cd
xor rdx, r8
mov r8, r10
xor r8, rdx
movabs rdx, 0xdc088fa8576be97c
movabs r9, 0x647fd0f679f3fcbe
xor rdx, r9
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xb8775f5e2e9815c2
xor r11, r8
and r10, r11
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x882a6753389cff88
movabs rsi, 0x305d380d1604ea4a
xor r9, rsi
and r8, r9
movabs r9, 0xefc16a9a0e1c5c72
movabs rsi, 0x103e9565f1e3a38d
xor r9, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x69], cl
cmp eax, 0x4f21dfbd
je 0x14002b38d
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14002b498
jmp 0x14002b4aa
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14002b4b7
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x58], rax
jmp 0x14002b0bf
mov eax, dword [0x1401d9298]
mov ecx, dword [0x1401d929c]
xor ecx, 0xdd567232
xor edx, edx
div ecx
xor eax, 0x914b0c01
and eax, 0x83b85767
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x69cd6cb3
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x6c0a3dce
xor ecx, 0x1151b204
cmp eax, ecx
je 0x14002b58d
mov eax, dword [0x1401d92a0]
sub eax, dword [0x1401d92a4]
xor ecx, ecx
sub ecx, eax
mov eax, 0x7aa2260a
xor eax, 0x7aa2260a
mov edx, 0xebd64f
xor edx, 0x628ce3f9
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x9bbda3fc
xor ecx, 0x4ed8e0ea
xor edx, edx
div ecx
sub eax, 0xfb21a30e
add eax, 0x50af321f
add eax, 0xfb21a30e
mov ecx, 0xadc12af3
xor ecx, 0xc5551bce
cmp eax, ecx
je 0x14002b58d
lea rsp, [rbp + 0x18]
pop rsi
pop rbp
ret
jmp 0x164ec5d7e
add eax, ebx
lahf
imul ecx
mov ebp, 0xe6fffff9
push rdx
out 0x52, al
shr dword [rdi - 0x46317], 1
dec dword [rdi]
adc al, 0x6c
fucompi st(1)
unpcklps xmm5, xmmword [rdi + rbx*8 - 0x17]
cmp ah, 0xff
invalid
cmp eax, 0xe9b30d35
add dh, bh
invalid
add dl, byte [rsi + rax*4]
jns 0x14002b57b
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002aaf5
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14002ad30