Function at 0x140043730
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r8
mov byte [rsp + 0x8f], dl
mov qword [rsp + 0x90], rcx
mov eax, dword [0x1401f4f00]
mov ecx, 0x90dfa2a6
xor ecx, 0x32a36b0
xor eax, ecx
mov edx, dword [0x1401f4f04]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
or eax, 0x7980729e
mov ecx, 0xe5cbf7ab
xor ecx, 0x2bbd8cbc
and eax, ecx
mov ecx, 0x7e9416bf
xor edx, edx
div ecx
cmp eax, 0xee58a890
je 0x140043a9a
mov rcx, qword [rsp + 0x78]
mov eax, dword [str.__p5]
and eax, dword [0x1401f4f0c]
mov r8d, 0x7ce31720
xor edx, edx
div r8d
or eax, 0x804c5071
sub eax, 0x47e51550
cmp rcx, 0xffffffffffffffff
sete cl
mov byte [rsp + 0x77], cl
cmp eax, 0xbe586db8
ja 0x140043a9a
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x77]
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x1400437f0
jmp 0x14004381a
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movabs rcx, 0x78b00f321c6d44f
movabs rdx, 0xf874ff0cde392bb0
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x68]
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rcx, rax
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rcx
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jl 0x140043a8d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jl 0x1400438b4
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
mov qword [rsp + 0x38], rax
jl 0x140043a12
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401f4f10]
and eax, dword [0x1401f4f14]
mov ecx, 0xfd2cb0ec
xor ecx, 0x2fb1d8b4
xor edx, edx
div ecx
mov ecx, 0xc2ab2a71
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x7ad0ec08
shl ecx, 1
mov edx, 0x5cdb6c76
xor edx, 0x260b807e
xor eax, edx
add eax, ecx
cmp eax, 0x35c5e2a0
jb 0x140043aa3
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov r10d, dword [0x1401f4f18]
mov r9d, dword [0x1401f4f1c]
mov eax, r10d
xor eax, 0xffffffff
and eax, 0xf7eb40fd
mov r11d, 0xffffffff
xor r11d, 0xf7eb40fd
and r10d, r11d
mov r8d, r9d
xor r8d, 0xffffffff
and r8d, 0xf7eb40fd
and r9d, r11d
or eax, r10d
or r8d, r9d
xor eax, r8d
mov r9d, 0x6f093a33
xor r9d, 0x90f6c5cc
mov r8d, eax
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xa95353a7
and r8d, r9d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xa95353a7
and eax, r9d
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r10d, 0x1c5b02fc
xor r10d, 0xe3a4fd03
mov r9d, r8d
xor r9d, r10d
or eax, r9d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x859de71a
or eax, r9d
mov r9d, 0x859de71a
and r9d, 0x859de71a
xor r9d, 0xffffffff
and r8d, r9d
xor r8d, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0x6f5d239a
xor r8d, 0x4ae2ae92
add eax, r8d
mov dword [rsp + 0x24], eax
add rdx, 0xffffffffffffffff
call fcn.140013c92
mov eax, dword [rsp + 0x24]
cmp eax, 0xedef3c9d
jae 0x140043aa3
jmp 0x140043a8d
mov rax, qword [rsp + 0x40]
mov dl, byte [rsp + 0x8f]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
cmp byte [rcx + rax + 8], dl
mov qword [rsp + 0x48], rax
je 0x140043a8d
mov rcx, qword [rsp + 0x40]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
xor rdx, rcx
cmp rdx, 0
setl dl
cmp rcx, 0
setne cl
or cl, cl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or dl, dl
xor dl, 0xff
xor r8d, r8d
xor r8b, 1
xor cl, r8b
xor dl, 0xff
and cl, dl
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x140043a88
jmp 0x14004384c
call fcn.140009cc0
mov rax, qword [rsp + 0x48]
add rsp, 0x98
ret
push 0xfffffffff5e961b7
cld
invalid
pop rsp
jb 0x140043b02
retf
or byte [rax + 0x39], 0xc2
jne 0x140043b1e
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140043ee2
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
neg rax
cmovns rdx, rax
sub rsp, 0x20
call fcn.14000597c
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140043ee2
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov r8, qword [rax]
mov rax, rcx
xor rax, r8
mov r9, r8
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
shl rdx, 1
sub rdx, rax
mov qword [rbp - 0x58], rdx
mov rax, rdx
xor rax, rcx
movabs rcx, 0xef1d5151d72811c1
movabs r9, 0xef1d5151d72811c1
xor rcx, r9
cmp rax, rcx
setl al
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x9c1c02e6aedfdcbd
movabs r10, 0x63e3fd1951202342
xor r9, r10
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140043c0c
lea rax, [rbp + 0x20]
add rax, 8
mov qword [rbp - 0x68], rax
mov eax, 1
mov qword [rbp - 0x60], rax
jmp 0x140043c1e
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140043ee2
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x70], rax
cmp rax, rcx
jg 0x140043d45
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x68]
mov qword [rbp + 0x20], 0
mov qword [rcx], 0
mov rcx, qword [rax]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140019c50
add rsp, 0x20
mov dl, 0x93
xor dl, 0xa3
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140043ef5
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140041b90
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rbp + 0x20]
mov qword [rdx], rax
mov rax, qword [rbp + 0x28]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140014ce0
mov rdx, qword [rbp - 0x70]
add rsp, 0x20
movabs rax, 0x2e973521ab9df6f3
mov rcx, rdx
add rcx, rax
add rcx, 1
movabs rax, 0x5206170037f36b90
movabs r8, 0x7c9122219c6e9d63
xor rax, r8
sub rcx, rax
mov qword [rbp - 0x78], rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140043d38
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140043ee2
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x60], rax
jmp 0x140043c1e
mov r8d, dword [0x1401f4f20]
mov edx, dword [0x1401f4f24]
xor edx, 0x7c0a0e4a
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa7b19523
mov r9d, 0xffffffff
xor r9d, 0xa7b19523
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x5df44fc7
xor r10d, 0xfa45dae4
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, 0x41d0edd8
xor edx, 0xa948f6e4
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xe8981b3c
sub eax, ecx
mov ecx, 0xcb7cd715
xor ecx, 0x93d4c65e
and eax, ecx
add eax, 0xd8dda31b
mov ecx, 0x9caf1163
xor ecx, 0x70350b44
cmp eax, ecx
jae 0x140043eec
mov eax, dword [0x1401f4f28]
xor eax, 0x66ef9fb2
xor eax, dword [0x1401f4f2c]
add eax, 0x7708eda2
mov ecx, 0xec7febce
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
imul eax, eax, 0x39083b89
mov ecx, 0x2234b5f1
xor ecx, 0x37d71c8e
cmp rdx, 0
setl dl
mov byte [rbp - 0x79], dl
cmp eax, ecx
jae 0x140043dd0
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140043e26
jmp 0x140043ee2
mov rax, qword [rbp - 0x48]
mov qword [rbp], 0
mov qword [rbp + 8], 0
mov rdx, qword [rax]
movabs rax, 0xb41eca58565f85a0
add rdx, rax
movabs rax, 0xe123655ae60d3d46
movabs rcx, 0xe123655ae60d3d47
xor rax, rcx
add rdx, rax
movabs rax, 0xb41eca58565f85a0
sub rdx, rax
mov rcx, rbp
sub rsp, 0x20
call fcn.140019c50
add rsp, 0x20
mov rcx, rbp
mov edx, 0x2d
sub rsp, 0x20
call fcn.140043ef5
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
mov rcx, rbp
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140041b90
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rax, qword [rbp]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 8]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call fcn.140014ce0
add rsp, 0x20
mov rax, qword [rbp - 0x40]
lea rsp, [rbp + 0x30]
pop rbp
ret
and qword [rsi], 0xfffffffffedbe90c
invalid