Function at 0x140043f90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x40], rcx
mov ecx, dword [0x1401f4f30]
xor ecx, 0xd7c6bd51
and ecx, dword [0x1401f4f34]
mov edx, 0xd080bce4
xor edx, 0x6137b24d
mov eax, 0xbb303782
xor eax, 0x44cfc87d
xor edx, eax
mov eax, ecx
and eax, edx
mov r8d, 0x3c0a1f60
xor r8d, 0x8dbd11c9
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0xd0ef570
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x97361eea
xor ecx, 0x5fe7ba7e
xor edx, edx
div ecx
cmp eax, 0x443b5714
jae 0x14004495d
mov eax, dword [0x1401f4f38]
mov ecx, dword [0x1401f4f3c]
xor ecx, 0xc413c1c6
xor edx, edx
div ecx
mov ecx, eax
not ecx
and ecx, 0xe4399f2f
and eax, 0x1bc660d0
sub eax, ecx
or eax, 0x3fc6bdbb
mov ecx, 0xe07b17ff
imul rax, rcx
shr rax, 0x3d
mov dword [rbp + 0x28], eax
mov eax, 0x10
mov qword [rbp + 0x10], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rdx, rsp
mov qword [rbp + 8], rdx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14004498a
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x28]
mov byte [rbp + 0x2f], cl
cmp eax, 0x7f71c01f
je 0x14004401d
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x1400440ce
jmp 0x1400440e0
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140044950
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp], rax
cmp rax, 0
jge 0x1400441c7
mov eax, dword [str.t68]
mov ecx, 0x51e2c50d
xor ecx, 0x22f61dec
xor eax, ecx
sub eax, dword [0x1401f4f44]
add eax, 0x4f9b8a70
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xe85c9c6c
mov edx, 0xffffffff
xor edx, 0x4fa73c54
or eax, ecx
mov ecx, 0xfdb5b9f2
xor ecx, 0xb21285a6
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
or eax, 0x94b843ee
mov ecx, 0x13ea5023
xor ecx, 0xe94cf6
cmp eax, ecx
jb 0x140044966
mov rcx, qword [rbp]
mov eax, dword [0x1401f4f48]
sub eax, dword [0x1401f4f4c]
or eax, 0x89dd55f
add eax, 0x24c045da
mov edx, 0x77195051
xor edx, 0xa2682810
add eax, edx
sub eax, 0x24c045da
mov r8d, 0x13455c74
xor r8d, 0x8781e362
xor edx, edx
div r8d
mov dword [rbp - 4], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e57e
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0xc52eb43d
je 0x140044966
jmp 0x140044950
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp]
sub rsp, 0x20
call fcn.140019210
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rdx]
add rdx, 8
mov qword [rbp - 0x28], rdx
add rax, 8
mov qword [rbp - 0x20], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rax
mov eax, dword [0x1401f4f50]
mov ecx, dword [0x1401f4f54]
xor ecx, 0xe448b517
mov r11d, eax
and r11d, ecx
xor r11d, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
and r11d, eax
xor r11d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xec362bfb
mov ecx, r11d
and ecx, edx
mov eax, r11d
or eax, edx
mov edx, 0x2fa36bc5
xor edx, 0xd05c943a
xor eax, edx
imul eax, ecx
mov edx, 0xa63b5a20
xor edx, 0x4a0d71db
mov ecx, r11d
and ecx, edx
or r11d, 0xec362bfb
imul r11d, ecx
add r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0x9879656
xor r8d, 0x94b1af04
mov eax, 0x4283b0de
xor eax, 0xbd7c4f21
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x755c3658
mov eax, ecx
and eax, 0x755c3658
and r11d, edx
mov r9d, r8d
and r9d, 0x755c3658
mov r10d, edx
and r10d, 0x9d363952
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x82b1aa75
xor r8d, 0x7d4e558a
xor ecx, r8d
or edx, 0x755c3658
and ecx, edx
or eax, ecx
mov ecx, 0x541eb95
xor ecx, 0x8cc17170
imul eax, ecx
mov ecx, 0x74cd328d
xor ecx, 0x718aa99d
cmp eax, ecx
jb 0x14004496f
mov r8, qword [rbp - 0x18]
mov eax, dword [0x1401f4f58]
mov ecx, 0xe088d16e
xor ecx, 0x1ae0a9fc
xor eax, ecx
mov ecx, dword [0x1401f4f5c]
xor ecx, 0x1705b780
xor edx, edx
div ecx
mov ecx, 0x853dc241
xor ecx, 0xe44b41ce
add eax, ecx
mov ecx, 0x9bb1ecc0
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
sub eax, 0xcecc3e5e
sub eax, 0xbcebe5ce
mov ecx, 0xf2e11d34
xor ecx, 0x3c2d236a
add eax, ecx
mov ecx, 0xdf8a46ba
xor ecx, 0x958e0e6d
cmp rdx, r8
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
ja 0x14004430d
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140044909
jmp 0x140044391
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x1400445bc
mov eax, dword [0x1401f4f60]
mov edx, dword [0x1401f4f64]
mov ecx, 0x19b325b9
xor ecx, 0xe64cda46
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x3bbcfbba
or eax, edx
or ecx, 0x3bbcfbba
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x9115812c
xor ecx, 0xe05fac6f
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x9237fb7f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9237fb7f
or eax, 0x9237fb7f
imul eax, edx
add eax, ecx
and eax, 0x6b1f9170
cmp eax, 0x81c89488
jae 0x140044978
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x40]
mov eax, dword [0x1401f4f68]
mov r8d, dword [0x1401f4f6c]
xor r8d, 0x3fe3c7bf
sub eax, r8d
mov edi, eax
and edi, edi
xor edi, 0xffffffff
xor edi, 0xffffffff
mov r8d, 0xd7140785
xor r8d, 0x6eb83769
mov r9d, 0x2492f374
xor r9d, 0xdb6d0c8b
xor r8d, r9d
or edi, r8d
mov r8d, 0xaa64b0e4
xor r8d, 0x13c88008
mov r9d, 0x602ed5c5
xor r9d, 0x9fd12a3a
xor r8d, r9d
mov r9d, 0xe936a500
xor r9d, 0x509a95ec
mov r10d, 0x13e1e55e
xor r10d, 0xec1e1aa1
xor r9d, r10d
or r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
xor edi, 0xffffffff
xor eax, 0xffffffff
or edi, eax
mov eax, 0xffffffff
xor eax, 0xd516ec15
add edi, eax
mov eax, 0x9ab0f0a3
xor eax, 0x9ab0f0a2
add edi, eax
mov eax, 0x9e58e7d2
xor eax, 0x61a7182d
mov r8d, edi
xor r8d, eax
mov r10d, 0xb8424da
xor r10d, 0x52a01587
mov eax, 0xda7c6368
xor eax, 0x25839c97
xor r10d, eax
mov r9d, 0xffffffff
xor r9d, 0xab255ea2
mov eax, r8d
and eax, 0xab255ea2
and edi, r9d
mov r11d, r10d
and r11d, 0xab255ea2
mov esi, r9d
and esi, 0x5924315d
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0xab255ea2
and r8d, r9d
or eax, r8d
mov dword [rbp - 0x44], eax
mov eax, 0xc6342003
xor eax, 0xf1adf808
mov dword [rbp - 0x48], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x73980c1e2f0c7ca3
movabs r9, 0x73980c1e2f0c7ca3
xor r8, r9
movabs r9, 0xfac663fc7c45f586
movabs r10, 0xfac663fc7c45f587
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, ecx
jbe 0x140044978
jmp 0x140044909
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
movzx eax, byte [rax + rcx + 8]
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.14004498a
add rsp, 0x20
test al, 1
jne 0x1400445ee
jmp 0x140044600
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140044909
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
movabs rax, 0x49c2a3c2ff8956cb
movabs rdx, 0x49c2a3c2ff8956ca
xor rax, rdx
mov rdx, rcx
add rdx, rax
mov qword [rbp - 0x58], rdx
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
and rax, 0xffffffffffffffff
shl rax, 1
sub rax, 0xffffffffffffffff
sub rcx, rax
movabs r8, 0x85b85152e7a65330
movabs rax, 0x7a47aead1859accf
xor r8, rax
mov rax, rdx
xor rax, r8
xor rdx, 0xffffffffffffffff
and rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0xcf03b09ce20646d7
movabs r8, 0x30fc4f631df9b928
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x9ca9bef9e98aa9a7
movabs rdx, 0x9ca9bef9e98aa9a7
xor rcx, rdx
cmp rax, rcx
jge 0x1400446c0
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140044909
mov eax, dword [0x1401f4f70]
and eax, dword [0x1401f4f74]
xor ecx, ecx
sub ecx, 0x74387e1d
sub eax, ecx
mov ecx, 0x764302ba
xor edx, edx
div ecx
xor eax, 0x3f3095b0
cmp eax, 0x6b563353
je 0x140044981
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp + 0x38]
mov eax, dword [0x1401f4f78]
mov ecx, dword [0x1401f4f7c]
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x747eb159
mov r10d, edx
and r10d, 0xeec2b650
and ecx, 0x10148a6
imul ecx, r10d
and edx, 0x113d49af
or eax, 0x757ff9ff
imul eax, edx
add eax, ecx
imul rax, rax, 0x53e6c0b5
shr rax, 0x3e
mov ecx, 0x34bfa90f
test r8, r8
setns dl
mov r9, qword [r9]
mov qword [rbp - 0x68], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x59], dl
cmp eax, ecx
ja 0x1400446ef
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140044795
jmp 0x140044777
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140044909
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.14003c5c0
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov r11, rax
or r11, r11
movabs r10, 0x2c21f84243e0cda0
movabs rsi, 0xd3de07bdbc1f325f
xor r10, rsi
xor r11, r10
movabs r10, 0x8866444ba6c77b6d
movabs rsi, 0x8866444ba6c77b62
xor r10, rsi
movabs rsi, 0x7788616905b59afe
movabs rdi, 0x88779e96fa4a6501
xor rsi, rdi
xor r10, rsi
movabs rsi, 0x8adef106d6088020
movabs rdi, 0x8adef106d608802f
xor rsi, rdi
movabs rdi, 0xa9be318f4dcaf80d
movabs rbx, 0x5641ce70b23507f2
xor rdi, rbx
xor rsi, rdi
and r10, rsi
or r11, r10
movabs r10, 0xe1662e38288774f5
movabs rsi, 0x1e99d1c7d7788b0a
xor r10, rsi
xor r11, r10
lea r10, [0x140202b60]
mov r10b, byte [r10 + r11 + 8]
mov r8, qword [r8]
mov byte [r8 + r9 + 8], r10b
shr rax, 4
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14004498a
add rsp, 0x20
test al, 1
jne 0x140044892
jmp 0x1400448a4
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140044909
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rbp - 0x80], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004490e
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x78]
movabs r8, 0x19fda1cd0b9e8e1
movabs rdx, 0xfe6025e32f46171e
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140044950
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.14003c5c0
mov r9, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
lea r8, [0x140202b60]
mov r8b, byte [r8 + r9 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
add rax, 1
mov qword [rbp - 0x10], rax
jmp 0x14004420a
mov rax, qword [rbp + 0x40]
lea rsp, [rbp + 0x48]
pop rbx
pop rdi
pop rsi
pop rbp
ret
sahf
mov al, 0x44
jmp 0x14004401d
sub al, 0x9c
adc ecx, dword [rsi - 0x81617]
push rsp
invalid
hlt
mov al, 0xdc
sbb dword [rax - 0x55717], edi
call qword [rsp + riz*2 + 0x65e93db1]
std
invalid
xchg esp, eax
mov cl, 0x3d
jmp 0x1400446ef