Function at 0x4a04a8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5b8
movaps xmmword [rsp + 0x5a0], xmm6
mov rsi, rdx
mov qword [rsp + 0x38], rcx
mov r15, qword [rdx + 0x50]
lea rdi, [r15 + 0x10]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r15 + 0x10], cl
je 0x4a04e7
mov rcx, rdi
call fcn.004c9f3f
mov qword [rsp + 0x40], rdi
xor eax, eax
cmp byte [r15 + 0x424], 0
sete al
lea rcx, [0x0062c29b]
lea rdx, [0x0062c29f]
cmove rdx, rcx
xor rax, 5
lea r13, [rsp + 0x240]
mov qword [r13], rdx
mov qword [r13 + 8], rax
lea rbp, [r15 + 0x408]
lea r12, [r15 + 0x420]
lea rbx, [rsp + 0xc0]
mov qword [rbx], r13
lea rax, [0x0042c970]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rbp
lea rdi, [0x0044e529]
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x20], r12
lea rax, [0x004289d0]
mov qword [rbx + 0x28], rax
lea rax, str.combase.dll
lea rdx, [rsp + 0x2c0]
mov qword [rdx + 0x10], rax
mov eax, 3
mov qword [rdx + 0x18], rax
mov qword [rdx], 0
mov qword [rdx + 0x20], rbx
mov qword [rdx + 0x28], rax
lea rcx, [rsp + 0x60]
call fcn.004179e0
mov r14, qword [r15 + 0x2d0]
test r14, r14
je 0x4a05ac
cmp qword [r15 + 0x2d8], 0
jne 0x4a05ce
mov ecx, 1
call fcn.005162fd
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
mov byte [rdx], 0x2f
mov qword [rsp + 0x58], 1
jmp 0x4a063d
call fcn.004c779b
lea rcx, [rsp + 0x2c0]
mov qword [rcx], rax
mov rdi, qword [r15 + 0x2d8]
mov rax, rdi
or rax, 0xfffffffffffffffe
mov rdx, rdi
and rdx, 0xfffffffffffffffe
add rax, rdx
inc rax
lea rdx, [rsp + 0xc0]
mov qword [rdx], 0
mov qword [rdx + 8], rax
mov byte [rdx + 0x10], 0
call fcn.00478759
cmp rdi, rax
jbe 0x4a1276
lea rax, [rax + rax*2]
mov rdx, qword [r14 + rax*8 + 8]
mov r8, qword [r14 + rax*8 + 0x10]
lea rcx, [rsp + 0x48]
call fcn.00418690
lea rdi, [0x0044e529]
mov qword [rsp + 0xc0], r13
lea rax, [0x0042c970]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], r12
lea rax, [0x004289d0]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rdi
lea rax, str.combase.dll
lea r12, [rsp + 0x2c0]
mov qword [r12 + 0x10], rax
mov eax, 4
mov qword [r12 + 0x18], rax
mov qword [r12], 0
mov qword [r12 + 0x20], rbx
mov qword [r12 + 0x28], rax
lea rdi, [rsp + 0x78]
mov rcx, rdi
mov rdx, r12
call fcn.004179e0
movdqu xmm0, xmmword [rdi + 8]
mov rdx, qword [rsi + 0x40]
mov r8, qword [rsi + 0x48]
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], 3
lea r9, str.GETHEADPUTDELETEureq_
lea rcx, [rsp + 0x3e8]
call fcn.00572db5
mov rax, qword [r15 + 0x2b0]
test rax, rax
jne 0x4a0f72
movabs rbx, 0xa0761d6478bd642f
lea r13, [rsp + 0xc0]
lea rbp, [rsp + 0x3e8]
mov ecx, 0xe
mov rdi, r13
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
lea rax, [0x005dc07b]
lea r15, [rsp + 0x2c0]
mov qword [r15], rax
mov rcx, qword [r15]
movabs rax, 0xb968c06929043f53
mov qword [r15], rax
mov rdx, qword [r15]
call fcn.00477c15
movabs rcx, 0x7968eba6b3c23d52
xor rcx, qword [rax]
lea rsi, [rsp + 0x250]
mov qword [rsi], rcx
movzx eax, word [rax + 8]
xor eax, 0x2ca8
mov word [rsi + 8], ax
mov rcx, r15
call fcn.0045cd82
mov rdi, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, 0xa
mov rcx, rbp
mov rdx, r13
mov r8, rsi
call fcn.0057d34b
mov rcx, qword [r15]
mov rdx, rdi
call fcn.004c9843
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x90], xmm0
call fcn.004c779b
mov rcx, rax
add rcx, rbx
xor esi, esi
movabs r10, 0xe7037ed1a0b428db
movabs r11, 0x18fc812e5f4bd724
mov rdx, rcx
xor rdx, r10
mov rax, rcx
or rax, r10
mov rdi, rcx
not rdi
and rdi, rdx
mov r8, rdx
and r8, rcx
mul r8
mov r8, rax
mov r9, rdx
mov rax, rcx
xor rax, r11
and rax, rcx
mul rdi
add rax, r8
adc r9d, edx
xor eax, r9d
mov byte [rsp + rsi + 0x90], al
lea rax, [rsi + 1]
add rcx, rbx
mov rsi, rax
cmp rax, 0x10
jne 0x4a07ee
lea rax, [rsp + 0x404]
movups xmm0, xmmword [rax - 0x1c]
lea rdx, [rsp + 0xdc]
movaps xmmword [rdx - 0x1c], xmm0
mov ecx, 0x13
mov rdi, rdx
mov rsi, rax
rep movsd dword [rdi], dword [rsi]
mov ecx, dword [rax + 0x4d]
mov eax, dword [rax + 0x50]
mov dword [rdx + 0x50], eax
mov dword [rdx + 0x4d], ecx
mov qword [rdx - 0xc], 0xbb8
mov dword [rdx - 4], 0
mov byte [rdx + 0x4c], 1
lea rax, [0x005d7314]
lea rsi, [rsp + 0x2c0]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0xbf1eca51f63a5dea
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.00477936
movabs rcx, 0x7a5c48b0e8833967
xor rcx, qword [rax]
lea rdi, [rsp + 0x200]
mov qword [rdi], rcx
movzx eax, word [rax + 8]
xor eax, 0x13b5
mov word [rdi + 8], ax
lea rax, [0x005d3559]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0xeaacdbaeccaf675e
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.0047839c
mov ecx, dword [rax]
movzx edx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0x4459
xor dl, 0x11
movzx edx, dl
lea r8, [rsp + 0xb0]
mov byte [r8 + 6], dl
shl rdx, 0x30
shl rax, 0x20
or rax, rdx
xor ecx, 0x26627fb3
mov dword [r8], ecx
shr rax, 0x20
mov word [r8 + 4], ax
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], 7
lea r15, [rsp + 0xc0]
mov r9d, 0xa
mov rcx, rsi
mov rdx, r15
mov r8, rdi
call fcn.0057d34b
lea rax, [0x005d8e97]
mov qword [r15], rax
mov rcx, qword [r15]
movabs rax, 0xdb1263b943e04321
mov qword [r15], rax
mov rdx, qword [r15]
call fcn.00477fc1
mov ecx, dword [rax]
movzx edx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0x8ca3
xor dl, 0x9b
movzx edx, dl
lea r12, [rsp + 0xb8]
mov byte [r12 + 6], dl
shl rdx, 0x30
shl rax, 0x20
or rax, rdx
xor ecx, 0x229ac91f
mov dword [r12], ecx
shr rax, 0x20
mov word [r12 + 4], ax
lea rax, [0x005d17b6]
mov qword [r15], rax
mov rcx, qword [r15]
movabs rax, 0xbfd52262189a8646
mov qword [r15], rax
mov rdx, qword [r15]
call fcn.00478000
movabs rcx, 0xe6353051cc123bc4
xor rcx, qword [rax]
lea rdx, [rsp + 0x1f0]
mov qword [rdx], rcx
mov al, byte [rax + 8]
xor al, 0x8e
mov byte [rdx + 8], al
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 9
lea rdi, [rsp + 0xc0]
mov r9d, 7
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call fcn.0057d34b
lea rax, [0x005d8471]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0x57287823fbf26249
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.00477e47
mov ecx, dword [rax]
movzx eax, word [rax + 4]
lea edx, [rcx + rcx]
and edx, 0x98461f74
neg edx
add ecx, edx
add ecx, 0xcc230fba
mov edx, eax
movzx r8d, al
shr eax, 8
shr edx, 7
and edx, 0x66
sub eax, edx
shl eax, 8
add eax, r8d
add eax, 0x3300
xor eax, 0x50
lea r8, [rsp + 0xa8]
mov dword [r8], ecx
mov word [r8 + 4], ax
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x2c0]
mov r9d, 6
mov rdx, rdi
call fcn.0057d34b
lea rax, [0x005d6179]
mov qword [rdi], rax
mov rcx, qword [rdi]
movabs rax, 0x2a5cda77a2047972
mov qword [rdi], rax
mov rdx, qword [rdi]
call fcn.00477ac6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x210], xmm0
xor ecx, ecx
lea rdx, [0x005db870]
mov r8, qword [rax + rcx]
cmp rcx, 0xf
je 0x4a122f
cmp rcx, 0xe
je 0x4a123c
cmp rcx, 0xc
je 0x4a1249
cmp rcx, 0xa
je 0x4a1256
movzx r11d, byte [rcx + rdx]
lea r9, [rcx + rcx]
mov r10d, r9d
and r10d, 2
mov rsi, rcx
xor rsi, 1
add rsi, r10
movzx r10d, byte [rdx + rsi]
movzx r14d, byte [rcx + rdx + 2]
movzx ebx, byte [rcx + rdx + 3]
movzx edi, byte [rcx + rdx + 4]
movzx esi, byte [rcx + rdx + 5]
movzx r12d, byte [rcx + rdx + 6]
movzx r13d, byte [rcx + rdx + 7]
shl r13, 0x38
shl r12, 0x30
or r12, r13
shl rsi, 0x28
shl rdi, 0x20
shl rbx, 0x18
shl r14, 0x10
shl r10, 8
or r10, r11
or r10, r14
or r10, rbx
or r10, rdi
or r10, rsi
or r10, r12
xor r10, r8
mov qword [rsp + rcx + 0x210], r10
and r9d, 0x10
or rcx, r9
xor rcx, 8
cmp rcx, 0x10
jb 0x4a0af4
mov al, byte [rax + rcx]
jne 0x4a126d
xor al, 0x46
lea rdi, [rsp + 0x210]
mov byte [rdi + 0x10], al
movaps xmm0, xmmword [rsp + 0x90]
lea r8, [rsp + 0xc0]
movaps xmmword [r8], xmm0
lea rdx, [0x00616e14]
lea r12, [rsp + 0x250]
mov r9d, 0x10
mov rcx, r12
call fcn.00446f02
mov rsi, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xc0]
lea r12, [rsp + 0x2c0]
mov r9d, 0x11
mov r8, rdi
mov rdx, r12
call fcn.0057d34b
lea rax, [0x005d2d69]
mov qword [r12], rax
mov rcx, qword [r12]
movabs rax, 0x1625dbf812e67725
mov qword [r12], rax
mov rdx, qword [r12]
call fcn.0047813a
xorps xmm0, xmm0
movaps xmmword [r12], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x005db881]
movzx r10d, byte [rdx + r8]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + r8]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + r8]
mov rdi, rdx
or rdi, 3
movzx edi, byte [rdi + r8]
mov rbx, rdx
or rbx, 4
movzx ebx, byte [rbx + r8]
mov r14, rdx
or r14, 5
movzx r14d, byte [r14 + r8]
mov r12, rdx
or r12, 6
mov r13, rdx
or r13, 7
movzx r12d, byte [r12 + r8]
movzx r13d, byte [r13 + r8]
shl r13, 0x38
shl r12, 0x30
or r12, r13
shl r14, 0x28
shl rbx, 0x20
shl rdi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rdi
or r9, rbx
or r9, r14
or r9, r12
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x2c0], r9
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x4a0c66
mov ecx, 0x4924dfa4
xor ecx, dword [rax + 0x10]
lea r8, [rsp + 0x2c0]
mov dword [r8 + 0x10], ecx
mov al, byte [rax + 0x14]
xor al, 0x4c
mov byte [r8 + 0x14], al
lea rax, [0x005db896]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 2
lea r12, [rsp + 0x3e8]
lea rdx, [rsp + 0xc0]
mov r9d, 0x15
mov rcx, r12
call fcn.0057d34b
lea r13, [rsp + 0x250]
mov rcx, qword [r13]
mov rdx, rsi
call fcn.004c9843
mov ecx, 0xe
mov rdi, r13
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
lea r8, [rsp + 0x210]
mov qword [r8], 0
lea rsi, [rsp + 0xc0]
mov rcx, rsi
mov rdx, r13
call fcn.0057312f
cmp qword [rsi], 0
jne 0x4a100d
lea rdx, [rsp + 0xc8]
lea rdi, [rsp + 0x2c0]
mov r8d, 0x118
mov rcx, rdi
call sub.msvcrt.dll_memcpy
lea r15, [rsp + 0x488]
mov r8d, 0x118
mov rcx, r15
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rdi, qword [r15 + 0x50]
mov r13, qword [r15 + 0x58]
cmp qword [r15 + 0xb8], 0
je 0x4a0e0d
mov r8, qword [rsp + 0x548]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
cmp qword [rsp + 0x4f8], 0
je 0x4a0e2e
mov r8, qword [rsp + 0x500]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
lea rcx, [rsp + 0x510]
call fcn.005619c1
lea r15, [rsp + 0x4e8]
mov rcx, r15
call fcn.005619fa
mov r12, qword [r15 + 0x48]
mov rdx, qword [r15 + 0x50]
mov rcx, r12
call fcn.00561a3e
mov rcx, qword [r15 + 0x40]
mov rdx, r12
call fcn.00561a7b
lea rax, [0x005d0836]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xc0]
movabs rax, 0x8dd0e94fa2eca301
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xc0]
call fcn.0047828f
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x005db898]
mov r8, qword [rcx + rdx + 8]
xor r8, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0xc8], r8
add rcx, 8
cmp rcx, 0x10
jb 0x4a0ec2
movzx eax, word [rax + 0x18]
mov ecx, eax
movzx edx, al
shr eax, 8
shr ecx, 7
and ecx, 0xc0
sub eax, ecx
shl eax, 8
add eax, edx
add eax, 0xffffe000
xor eax, 0x1f
mov word [rsp + 0xd8], ax
mov ecx, 0x1a
call fcn.005162fd
lea rcx, [rsp + 0x458]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rsp + 0xca]
movups xmmword [rdx + 0xa], xmm0
mov qword [rcx + 0x10], 0x1a
call fcn.004554b3
test rdi, rdi
jne 0x4a10c2
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 0xb0], 2
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x68]
jmp 0x4a1064
mov rcx, qword [r15 + 0x298]
mov rdx, qword [r15 + 0x2a8]
mov r8d, ecx
and r8d, 1
xor rcx, 1
lea rcx, [rcx + r8*2]
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
not r8d
add rcx, rax
lea r9, [rax + 0x10]
lea r15, [rsp + 0x2c0]
mov qword [r15], r9
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rax
mov word [r15 + 0x18], r8w
mov qword [r15 + 0x20], rdx
lea r13, [rsp + 0xc0]
lea rbp, [rsp + 0x3e8]
mov rcx, r15
call fcn.0046b7c2
test rax, rax
je 0x4a0710
mov ecx, 0xe
mov rdi, r13
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov r8, qword [rax - 0x28]
mov r9, qword [rax - 0x20]
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmmword [rsp + 0x20], xmm0
mov rcx, rbp
mov rdx, r13
call fcn.0057d34b
jmp 0x4a0fce
lea rdx, [rsp + 0xc8]
lea rsi, [rsp + 0x2c0]
mov r8d, 0x120
mov rcx, rsi
call sub.msvcrt.dll_memcpy
lea rdi, [rsp + 0xc0]
mov r8d, 0x120
mov rcx, rdi
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rdi
call fcn.0045cec4
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 0xb0], 2
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
call fcn.004c9843
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
call fcn.004c9843
mov rcx, qword [rsp + 0x60]
mov rdx, r15
call fcn.004c9843
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rsi], cl
jne 0x4a10b8
movaps xmm6, xmmword [rsp + 0x5a0]
add rsp, 0x5b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
call fcn.004c9c7e
jmp 0x4a109c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x258], r13
mov rcx, rdi
call qword [r13 + 0xb8]
mov rdi, rax
lea rax, [0x005d2002]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xc0]
movabs rax, 0xcb767f2ed01182aa
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xc0]
call fcn.00477b5b
movabs rsi, 0x6ebf10386b8ea878
xor rsi, qword [rax]
mov ebx, 0x1bb29ae4
xor ebx, dword [rax + 8]
mov ecx, 0xc
call fcn.005162fd
lea rcx, [rsp + 0x470]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov qword [rdx], rsi
mov dword [rdx + 8], ebx
mov qword [rcx + 0x10], 0xc
call fcn.004554b3
test rdi, rdi
je 0x4a1205
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov rcx, qword [rdi]
mov dl, 1
call fcn.00548d40
test rax, rax
jne 0x4a11fd
movups xmm6, xmmword [rsp + 0x250]
lea rdx, [rsp + 0x2c0]
mov qword [rdx], 2
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.0055c87d
movups xmmword [rsi + 0x100], xmm6
mov r8d, 0x110
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
call fcn.004c9843
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
call fcn.004c9843
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.004c9843
xor ecx, ecx
mov al, 1
mov rsi, qword [rsp + 0x40]
jmp 0x4a1096
mov rcx, rax
call fcn.0044542c
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 0xb0], 2
lea rcx, [rsp + 0x250]
call fcn.005619fa
jmp 0x4a0f68
add rcx, 2
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_Mojave_0.4.3_src_bytes.rs
jmp 0x4a1261
add rcx, 3
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_Mojave_0.4.3_src_bytes.rs
jmp 0x4a1261
add rcx, 5
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_Mojave_0.4.3_src_bytes.rs
jmp 0x4a1261
add rcx, 7
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_Mojave_0.4.3_src_bytes.rs
mov edx, 0x11
call fcn.004262b0
ud2
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_Mojave_0.4.3_src_bytes.rs
jmp 0x4a1261
lea r8, [0x005db8f0]
mov rcx, rax
mov rdx, rdi
jmp 0x4a1266