Function at 0x140041390
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rcx
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb6], r9b
mov byte [rsp + 0xb7], r8b
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0xc0], rax
mov r8, rax
xor r8, rcx
movabs rdx, 0xe9e3c1962eb59dbf
movabs r9, 0x161c3e69d14a6240
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x140041454
jmp 0x14004145e
call fcn.140007f57
jmp 0x140041bb3
mov cl, byte [rsp + 0xb7]
xor eax, eax
test cl, 1
mov qword [rsp + 0x88], rax
jne 0x14004147d
jmp 0x140041567
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x70], rax
cmp rax, rcx
mov qword [rsp + 0x88], rax
jg 0x140041567
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
cmp rax, rcx
jl 0x1400414eb
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
call fcn.140014583
jmp 0x140041bb3
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov r8b, cl
shr r8b, 3
movzx r8d, r8b
movzx edx, byte [rdx + r8]
and cl, 7
movzx ecx, cl
mov r8d, 1
shl r8d, cl
mov ecx, r8d
and ecx, edx
mov edx, 0xd2df8c0f
xor edx, 0xd2df8c0f
cmp ecx, edx
mov qword [rsp + 0x88], rax
je 0x140041567
mov rax, qword [rsp + 0x70]
mov rcx, rax
and rcx, 1
shl rcx, 1
xor rax, 1
add rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x140041498
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], rax
mov eax, dword [0x140202140]
mov ecx, dword [0x140202144]
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xba0cf1b2
xor edx, 0x45f30e4d
xor ecx, edx
or eax, ecx
mov ecx, 0xdfc27f84
xor ecx, 0x99db025f
add eax, ecx
add eax, 0x1dc58a90
sub eax, 0x46197ddb
mov ecx, 0x18e8ce7b
xor ecx, 0x196e329e
or eax, ecx
or eax, 0x35062cec
mov ecx, 0x81769b15
xor ecx, 0xcdd91e8d
cmp eax, ecx
jb 0x140041bc7
mov eax, dword [0x140202148]
xor eax, dword [str._Qve]
mov ecx, 0x7629e66f
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xeec9ab5
xor edx, 0xf113654a
mov eax, ecx
xor eax, edx
mov edx, 0x45ac87d9
xor edx, 0xba537826
xor ecx, edx
and eax, ecx
mov ecx, 0x317c9ed1
or ecx, 0x317c9ed1
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xdc5b1f11
mov r8d, 0x658d9f73
xor r8d, 0xb9d68062
mov ecx, 0x8461d23b
xor ecx, 0x7b9e2dc4
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xdc5b1f11
mov r8d, 0xdc53d9d2
xor r8d, 0x8c6c3
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xa6c9450c
jae 0x140041bc7
mov rax, qword [rsp + 0xc0]
mov cl, byte [rsp + 0xb6]
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x14004169b
jmp 0x1400419d3
mov eax, dword [0x140202150]
xor eax, 0xc2daed65
xor edx, edx
div dword [0x140202154]
mov ecx, 0x85e545e3
xor edx, edx
div ecx
sub eax, 0x92833d21
mov ecx, 0xa4a22097
xor edx, edx
div ecx
cmp eax, 0x6c6ac067
je 0x140041bd0
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x90]
mov eax, dword [0x140202158]
mov ecx, dword [0x14020215c]
sub eax, 0xc302c07d
sub eax, ecx
add eax, 0xc302c07d
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7b99ca0
mov r10d, 0xffffffff
xor r10d, 0x7b99ca0
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov r10d, 0xd5f7dcc0
xor r10d, 0xd24e4060
mov edx, eax
and edx, r10d
or eax, 0x7b99ca0
imul eax, edx
add eax, ecx
mov ecx, 0x966aaa14
xor ecx, 0x2f54a8c7
xor edx, edx
div ecx
mov ecx, 0x83bf5db2
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xc0]
mov ecx, 0x5c9088ac
xor ecx, 0xbbaa8bae
add r9, 8
mov qword [rsp + 0x50], r9
add r8, 0xffffffffffffffff
mov r9, r8
sub r9, rdx
cmovl rdx, r8
mov qword [rsp + 0x58], rdx
cmp eax, ecx
je 0x140041bd0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x48], rax
jmp 0x140041792
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rdx
cmp rcx, rdx
mov qword [rsp + 0x60], rax
jg 0x1400419d3
mov eax, dword [0x140202160]
mov ecx, dword [0x140202164]
xor ecx, 0xc249a7ab
imul eax, ecx
add eax, 0xa7e97de2
mov ecx, 0xbc0910ca
xor ecx, 0x1148b022
xor edx, edx
div ecx
mov ecx, 0x62d92405
xor edx, edx
div ecx
cmp eax, 0x822563ef
je 0x140041bd9
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140202168]
xor eax, 0x156ba0e7
mov edx, dword [0x14020216c]
xor edx, 0xca35c578
add eax, 0x60e37284
add eax, edx
sub eax, 0x60e37284
mov r8d, 0x3e837b50
xor r8d, 0xd057e8c1
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb8]
mov r8d, 0x5ba56cbe
xor r8d, 0xc8127fc1
sub eax, r8d
mov r8d, 0xa88a6f8d
xor r8d, 0x718b6dc3
add eax, r8d
add eax, 0x93b7137f
or eax, 0x4fc89c34
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x31437cda
jbe 0x1400417f1
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14004189a
jmp 0x140041883
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x40]
call fcn.140014583
jmp 0x140041bb3
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov r8b, cl
shr r8b, 3
movzx r8d, r8b
movzx r8d, byte [rdx + r8]
and cl, 7
movzx ecx, cl
mov edx, 1
shl edx, cl
mov ecx, edx
or ecx, ecx
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x5dc0713
xor edx, 0x5dc0713
cmp ecx, edx
mov qword [rsp + 0x60], rax
je 0x1400419d3
mov rcx, qword [rsp + 0x40]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
or rdx, rdx
movabs r8, 0x3f28565d67a15b49
movabs r9, 0xc0d7a9a2985ea4b6
xor r8, r9
xor rdx, r8
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs r10, 0xf1c5e33740589de7
movabs r9, 0xe3a1cc8bfa76218
xor r10, r9
mov r9, rcx
xor r9, r10
and r8, r9
movabs r9, 0x9241fd0a44f91d7a
movabs r10, 0x6dbe02f5bb06e285
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r9, 0x35179b3de81caee1
movabs r8, 0xcae864c217e3511e
xor r9, r8
mov r8, rax
xor r8, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
cmp rdx, 0
setl dl
cmp rcx, 0
setg cl
and cl, dl
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x1400419c9
jmp 0x140041792
call fcn.140007f57
jmp 0x140041bb3
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov eax, dword [0x140202170]
mov ecx, dword [0x140202174]
xor ecx, 0xb02a26c
imul eax, ecx
sub eax, 0x50732d0c
mov ecx, 0xf63305cf
xor ecx, 0x3f771e99
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc7bc584
mov r8d, 0xffffffff
xor r8d, 0xc7bc584
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc7bc584
or eax, 0xc7bc584
imul eax, edx
add eax, ecx
cmp eax, 0xdab4df5b
jae 0x140041be2
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x90]
mov ebx, dword [0x140202178]
mov r11d, dword [0x14020217c]
mov esi, r11d
xor esi, 0xffffffff
mov r10d, ebx
and r10d, esi
mov edx, ebx
or edx, esi
mov esi, 0xf5cc1913
xor esi, 0xa33e6ec
xor edx, esi
imul edx, r10d
mov r10d, ebx
and r10d, r11d
or ebx, r11d
imul ebx, r10d
add ebx, edx
mov edx, ebx
xor edx, 0xffffffff
mov r10d, 0x6c4cc578
xor r10d, 0x1b11337c
mov r11d, 0x7b017847
xor r11d, 0x84fe87b8
xor r10d, r11d
mov r11d, 0xffffffff
xor r11d, 0x4a71aa68
mov ebp, edx
and ebp, 0x4a71aa68
and ebx, r11d
mov edi, 0x7734d4ab
xor edi, 0x3d457ec3
mov esi, r10d
and esi, edi
mov edi, r11d
and edi, 0x775df604
or ebp, ebx
or esi, edi
xor ebp, esi
or edx, r10d
xor edx, 0xffffffff
mov r10d, 0x59e48912
xor r10d, 0x1395237a
or r10d, r11d
and edx, r10d
or ebp, edx
mov r10d, ebp
xor r10d, 0xffffffff
mov esi, 0xffffffff
xor esi, 0x3e91eb90
mov r11d, 0xffffffff
xor r11d, 0x39081137
mov edx, r10d
and edx, 0x39081137
and ebp, r11d
mov edi, esi
and edi, 0x39081137
mov ebx, r11d
and ebx, 0x3e91eb90
or edx, ebp
or edi, ebx
xor edx, edi
or r10d, esi
xor r10d, 0xffffffff
or r11d, 0x39081137
and r10d, r11d
or edx, r10d
mov r10d, 0xffffffff
xor r10d, 0xe2a0d9fb
add edx, r10d
add edx, 1
mov dword [rsp + 0x2c], edx
mov rdx, qword [rax]
mov qword [rsp + 0xc8], rdx
mov rax, qword [rax + 8]
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0xc8]
call fcn.14001bce0
mov eax, dword [rsp + 0x2c]
cmp eax, 0xb0ec42de
je 0x140041a43
jmp 0x140041bb3
mov rax, qword [rsp + 0xa0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
ret
int1
fldcw word [rbx + 0x22]
jmp 0x1400415d8
sub spl, byte [rdi + 2]
jmp 0x1400416d0
or byte [rcx], ah
in al, 0x6e
jmp 0x1400417f1
invalid