Function at 0x140041e70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], r9
mov byte [rbp + 0x7f], r8b
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rcx
mov eax, dword [0x140202190]
mov ecx, dword [0x140202194]
xor ecx, 0xfdd785df
or eax, ecx
or eax, 0x654fd10e
and eax, 0xf8af25e6
add eax, 0x45036d75
cmp eax, 0x2be418e2
jb 0x140042707
mov eax, dword [0x140202198]
mov ecx, dword [0x14020219c]
not eax
not ecx
or eax, ecx
xor eax, 0x340eb4ba
mov ecx, 0xbe16e1ef
imul rax, rcx
shr rax, 0x3d
or eax, 0xf4e48a48
mov dword [rbp + 0x4c], eax
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140040622
add rsp, 0x20
mov rax, qword [rbp + 0x88]
mov qword [rax], 0
movabs rcx, 0xfb928b97f23d664
movabs rax, 0xfb928b97f23d664
xor rcx, rax
movabs rdx, 0x4fe42d2248e86a4
movabs rax, 0x4fe42d2248e86b4
xor rdx, rax
movabs r8, 0x8f1ef9b1582f09b3
movabs rax, 0x8f1ef9b1582f09bb
xor r8, rax
sub rsp, 0x20
call fcn.14001b4c0
mov r10, qword [rbp + 0x88]
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov r11, rax
mov eax, dword [rbp + 0x4c]
mov qword [r10 + 8], r11
mov qword [r9], 0
mov r10, r9
add r10, 8
mov qword [rbp + 0x50], r10
mov qword [r9 + 8], 0
add r8, 8
mov qword [rbp + 0x58], r8
add rdx, 8
mov qword [rbp + 0x60], rdx
add rcx, 8
mov qword [rbp + 0x68], rcx
cmp eax, 0x219666f4
je 0x140042707
mov rcx, qword [rbp + 0x70]
xor eax, eax
mov qword [rbp], rcx
mov qword [rbp + 8], rax
jmp 0x140042050
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp]
mov rax, qword [rbp + 8]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
cmp rax, rcx
jg 0x1400425ed
mov rax, qword [rbp - 0x18]
movabs rcx, 0x9dc6a1422f1183d4
movabs rdx, 0x62395ebdd0ee7c2b
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rbp - 0x21], cl
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x38], rcx
cmp rcx, rax
mov qword [rbp - 0x30], rax
jge 0x140042363
mov eax, dword [0x1402021a0]
mov edx, dword [0x1402021a4]
mov ecx, 0x895b598a
xor ecx, 0x895b598a
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
and eax, 0xaa98298c
xor eax, 0x1c5a473c
mov ecx, 0x71d074fb
xor ecx, 0x511809c3
mov edx, eax
and edx, ecx
mov ecx, 0xc947d4d8
xor ecx, 0xc947d4da
imul ecx, edx
mov edx, 0xc4e08b21
xor edx, 0xe428f619
add eax, edx
sub eax, ecx
cmp eax, 0xb04fbfcd
je 0x140042710
mov eax, dword [0x1402021a8]
mov edx, dword [0x1402021ac]
xor edx, 0xe8ffce03
mov ecx, 0xf80a54c
xor ecx, 0xf80a54c
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
xor eax, 0xefd58b89
mov ecx, 0x84ad5ece
xor ecx, 0x4661991e
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcf382b4
mov ecx, 0xb3c344a6
xor ecx, 0x2bd60967
mov r8d, 0xf8e32005
xor r8d, 0x71cdffa
xor ecx, r8d
or eax, edx
or ecx, 0x98154dc1
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xcad3d19b
jae 0x14004211c
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140042203
jmp 0x1400421a8
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 8]
movabs rax, 0x6eedf760bd7c9901
add rdx, rax
movabs rax, 0x500f4c49491088bc
movabs r8, 0xaff0b3b6b6ef7743
xor rax, r8
add rdx, rax
movabs rax, 0xfdede06ee358609b
movabs r8, 0x9300170e5e24f99a
xor rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400425ed
mov ecx, dword [0x1402021b0]
mov edx, dword [0x1402021b4]
xor edx, 0x650f5b91
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xbe99ce0d
sub eax, 0x457976a4
xor eax, 0x41c76b6d
cmp eax, 0x6b50b5eb
je 0x140042719
mov r8b, byte [rbp + 0x7f]
mov rcx, qword [rbp + 0x58]
mov r10d, dword [0x1402021b8]
mov r9d, dword [0x1402021bc]
mov eax, 0x58c3fafb
xor eax, 0xd4a6dc6a
xor r9d, eax
mov edx, r10d
xor edx, 0xffffffff
mov eax, 0xd530d91e
xor eax, 0xc4ad001
and eax, edx
mov r11d, 0xffffffff
xor r11d, 0xd97a091f
and r10d, r11d
mov esi, 0x767bde96
xor esi, 0x89842169
mov edx, r9d
xor edx, esi
and edx, 0xd97a091f
and r9d, r11d
or eax, r10d
or edx, r9d
xor eax, edx
mov r9d, 0x7b9c46e7
xor r9d, 0x98c4adf5
xor edx, edx
div r9d
mov r9d, 0xe5a99344
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x38]
mov r9d, 0x65d4ec3a
xor r9d, 0x7fcf52b4
imul eax, r9d
mov rcx, qword [rcx]
cmp byte [rcx + rdx + 8], r8b
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xb1eda2f3
ja 0x140042719
mov rax, qword [rbp - 0x38]
mov cl, byte [rbp - 0x39]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140042363
jmp 0x140042315
mov rax, qword [rbp - 0x38]
movabs rcx, 0x6139817e4e9a4f96
add rax, rcx
movabs rcx, 0xd38a3dc471bec170
movabs rdx, 0xd38a3dc471bec171
xor rcx, rdx
add rax, rcx
movabs rcx, 0xcd863ca896ceb154
movabs rdx, 0xacbfbdd6d854fec2
xor rcx, rdx
sub rax, rcx
mov qword [rbp - 0x20], rax
jmp 0x14004209f
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
cmp rcx, 0
sete r8b
mov byte [rbp - 0x51], r8b
cmp rcx, 0
cmove rdx, rax
mov qword [rbp - 0x50], rdx
xor eax, eax
mov ecx, eax
sub rcx, rdx
xor eax, eax
sub rax, 0xffffffffffffffff
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp - 0x48], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400423c3
jmp 0x1400423d5
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400425ed
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x80]
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001bce0
mov r9, qword [rbp + 0x38]
mov r8, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140015990
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.140011160
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x28]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001d35c
mov al, byte [rbp - 0x51]
add rsp, 0x20
test al, 1
jne 0x1400425ed
mov rdx, qword [rbp - 0x10]
movabs rcx, 0x8056218d6809e617
mov rax, rdx
sub rax, rcx
movabs rcx, 0xc9a1c42a922f27a1
movabs r8, 0x365e3bd56dd0d85e
xor rcx, r8
add rax, rcx
movabs rcx, 0x8056218d6809e617
add rax, rcx
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0x6edbc175593be982
movabs r8, 0x91243e8aa6c4167d
xor r9, r8
mov r8, rdx
xor r8, r9
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl dl
movabs rcx, 0x28b4e43cf3eb5d62
movabs r8, 0xd74b1bc30c14a29d
xor rcx, r8
cmp rax, rcx
setg cl
mov al, 1
xor al, 0
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140042559
jmp 0x14004256b
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400425ed
mov rdx, qword [rbp - 0x50]
mov rax, rdx
add rax, 1
mov qword [rbp - 0x68], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rcx, 0xe89a8425f5468e7f
movabs r9, 0xe89a8425f5468e7d
xor rcx, r9
imul rcx, r8
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x1400425d8
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400425ed
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov qword [rbp], rcx
mov qword [rbp + 8], rax
jmp 0x140042050
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1400426f6
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x358f4a86c611cadc
movabs rdx, 0x358f4a86c611cadc
xor rcx, rdx
cmp rax, rcx
jne 0x1400426f6
mov eax, dword [0x1402021c0]
mov edx, dword [0x1402021c4]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
add eax, 0x5ed24de7
mov ecx, 0x2353a771
xor ecx, 0xb7803124
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xe490de9a
mov edx, 0xffffffff
xor edx, 0xe490de9a
and eax, edx
sub eax, ecx
mov ecx, 0x82acdbb3
xor ecx, 0x665353c4
cmp eax, ecx
jae 0x140042722
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1402021c8]
xor eax, 0xccbd1093
xor eax, dword [0x1402021cc]
or eax, 0xdaae4771
add eax, 0x6c40c56c
mov edx, 0x700164bf
xor edx, 0xd92a6a70
add eax, edx
sub eax, 0x6c40c56c
sub eax, 0x2de4f910
sub eax, 0xfdc31303
add eax, 0x2de4f910
mov dword [rbp - 0x74], eax
mov eax, 0x36f509ef
xor eax, 0xf8e2224a
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14000fb44
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
ja 0x140042686
jmp 0x1400426f6
mov rax, qword [rbp + 0x90]
lea rsp, [rbp + 0x98]
pop rsi
pop rbp
ret
sbb ah, dl
test eax, 0xf7bce9d8
invalid
invalid
xor r14b, byte [r13 - 0x4d61621]
invalid
xchg eax, eax
int1
or al, 0xe9
pop rbx
invalid