Function at 0x4a1927
Capabilities:
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x618
mov r13, r9
mov rdi, r8
mov rsi, rdx
mov qword [rsp + 0x48], rcx
mov r12, qword [rdx + 0x50]
lea rax, [r12 + 0x10]
mov qword [rsp + 0x40], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [r12 + 0x10], cl
jne 0x4a2084
cmp qword [r12 + 0x1b0], 0
mov qword [rsp + 0x60], rdi
je 0x4a19fe
cmp qword [r12 + 0x1b8], 0
je 0x4a19fe
call fcn.004c779b
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
mov rax, qword [r12 + 0x1b8]
mov rdx, rax
or rdx, 0xfffffffffffffffe
and rax, 0xfffffffffffffffe
add rax, rdx
inc rax
lea rdx, [rsp + 0x250]
mov qword [rdx], 0
mov qword [rdx + 8], rax
mov byte [rdx + 0x10], 0
call fcn.00478759
mov rdx, qword [r12 + 0x1b8]
cmp rdx, rax
jbe 0x4a2ce5
mov rcx, qword [r12 + 0x1b0]
lea rax, [rax + rax*2]
mov rdx, qword [rcx + rax*8 + 8]
mov r8, qword [rcx + rax*8 + 0x10]
lea rcx, [rsp + 0x78]
call fcn.00418690
jmp 0x4a1a24
mov ecx, 1
call fcn.005162fd
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdx
mov byte [rdx], 0x2f
mov qword [rsp + 0x88], 1
xor eax, eax
cmp byte [r12 + 0x424], 0
lea rcx, [0x0062c29b]
lea rdx, [0x0062c29f]
cmove rdx, rcx
sete al
xor rax, 5
lea rcx, [rsp + 0x4c0]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
lea rax, [r12 + 0x408]
lea rdx, [r12 + 0x420]
lea r8, [rsp + 0x250]
mov qword [r8], rcx
lea rcx, [0x0042c970]
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
lea rax, [0x0044e529]
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], rdx
lea rcx, [0x004289d0]
mov qword [r8 + 0x28], rcx
lea rcx, [rsp + 0x78]
mov qword [r8 + 0x30], rcx
mov qword [r8 + 0x38], rax
lea rax, str.combase.dll
lea rbx, [rsp + 0xd0]
mov qword [rbx + 0x10], rax
mov r14d, 4
mov qword [rbx + 0x18], r14
mov qword [rbx], 0
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x28], r14
lea rdi, [rsp + 0x1f8]
mov rcx, rdi
mov rdx, rbx
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], r14
lea r9, [0x005db757]
lea rcx, [rsp + 0x380]
call fcn.00572db5
mov rax, qword [r12 + 0x190]
test rax, rax
je 0x4a1bbd
mov rcx, qword [r12 + 0x178]
mov rdx, qword [r12 + 0x188]
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 + 0xd0]
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 rbp, [rsp + 0x250]
lea r14, [rsp + 0x380]
mov rcx, r15
call fcn.0046b7c2
test rax, rax
je 0x4a1bbd
mov ecx, 0xe
mov rdi, rbp
mov rsi, r14
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, r14
mov rdx, rbp
call fcn.0057d34b
jmp 0x4a1b82
lea r15, [rsp + 0x250]
lea rbp, [rsp + 0x380]
mov ecx, 0xe
mov rdi, r15
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
lea rax, [0x005d631d]
lea rsi, [rsp + 0xd0]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0xc2c7927e736617f4
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.0047842f
movabs rcx, 0x6c97a68044d2fb5c
xor rcx, qword [rax]
lea rdi, [rsp + 0x500]
mov qword [rdi], rcx
movzx eax, word [rax + 8]
xor eax, 0xbec3
mov word [rdi + 8], ax
mov rcx, rsi
call fcn.0045cd82
mov rbx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r9d, 0xa
mov rcx, rbp
mov rdx, r15
mov r8, rdi
call fcn.0057d34b
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.004c9843
mov rdx, qword [r12 + 0x1c8]
mov r8, qword [r12 + 0x1d0]
lea rsi, [rsp + 0x250]
mov rcx, rsi
call fcn.004a2f94
mov r15, qword [rsi]
test r15, r15
je 0x4a1d56
lea rbp, [rsp + 0x250]
mov rdi, qword [rbp + 8]
mov rcx, rbp
mov rdx, r15
mov r8, qword [rsp + 0x60]
mov r9, r13
call qword [rdi + 0x18]
mov r9, qword [rbp]
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x4a1d74
mov r8, qword [rsp + 0x260]
mov rax, qword [r12 + 0x1e0]
mov rcx, qword [r12 + 0x1e8]
cmp rcx, 9
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x70], rdx
je 0x4a1d8d
cmp rcx, 6
je 0x4a1f18
cmp rcx, 4
jne 0x4a2093
cmp dword [rax], 0x79646f62
jne 0x4a2093
lea r9, [rsp + 0x450]
lea rsi, [rsp + 0x380]
mov ecx, 0xe
mov rdi, r9
rep movsq qword [rdi], qword [rsi]
lea rax, [rsp + 0x210]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], r8
mov qword [rax], 3
lea rsi, [rsp + 0x250]
mov rcx, rsi
mov rdx, r9
mov r8, rax
jmp 0x4a2677
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
mov rbx, qword [rsp + 0x40]
jmp 0x4a2bf5
mov rax, qword [rsp + 0x48]
mov qword [rax], r9
mov byte [rax + 0x3c], 0xc
mov sil, 1
mov rbx, qword [rsp + 0x40]
jmp 0x4a2bc8
movabs rcx, 0x617261702d697275
xor rcx, qword [rax]
movzx eax, byte [rax + 8]
xor rax, 0x6d
or rax, rcx
jne 0x4a2093
movups xmm0, xmmword [rsp + 0x380]
movups xmm1, xmmword [rsp + 0x390]
movups xmm2, xmmword [rsp + 0x3a0]
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x230], xmm2
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x3c0]
mov rsi, qword [rsp + 0x3c8]
movups xmm0, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x410], xmm0
movups xmm0, xmmword [rsp + 0x3e0]
movaps xmmword [rsp + 0x420], xmm0
mov rax, qword [r12 + 0x1f8]
mov qword [rsp + 0xb0], rax
mov rax, qword [r12 + 0x200]
mov qword [rsp + 0xa8], rax
lea rdi, [rsp + 0x430]
mov rcx, rdi
call fcn.00418170
mov r14, qword [rdi]
mov r13, qword [rdi + 0x10]
test r14, r14
mov rax, qword [rdi + 8]
cmovne rax, r13
mov qword [rsp + 0xb8], rax
cmovne r13, qword [rdi + 0x18]
lea rdi, [rsp + 0x250]
mov rcx, rdi
mov qword [rsp + 0x68], rbx
mov rdx, rbx
mov r8, rsi
call fcn.00575470
cmp dword [rdi + 0xd0], 3
jne 0x4a2068
lea rax, [rsp + 0xd0]
lea rsi, [rsp + 0x250]
mov ecx, 0xb
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov r14d, dword [rax + 0x24]
cmp dword [rax + 0x20], 0
mov dword [rax + 0x20], 0
je 0x4a220d
mov r8d, r14d
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
inc r8d
je 0x4a221a
cmp rdi, r8
jbe 0x4a2214
cmp byte [rcx + r8], 0xbf
jg 0x4a221a
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_ban_2.5.2_src_lib.rsassertion_failed:_self.fragment_start.is_none__
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov r9, rdi
call fcn.00425480
ud2
mov ecx, 0x64616568
xor ecx, dword [rax]
movzx eax, word [rax + 4]
xor eax, 0x7265
or eax, ecx
jne 0x4a2093
mov qword [rsp + 0x58], r15
lea rbx, [rsp + 0x250]
lea rbp, [rsp + 0x380]
mov ecx, 0xe
mov rdi, rbx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov rsi, qword [r12 + 0x1f8]
mov rdi, qword [r12 + 0x200]
lea r13, [rsp + 0xd0]
mov rcx, r13
call fcn.00418170
mov r15, qword [r13]
mov r14, qword [r13 + 8]
mov r13, qword [r13 + 0x10]
mov rax, r14
mov rcx, r13
test r15, r15
je 0x4a1f95
mov rcx, qword [rsp + 0xe8]
mov rax, r13
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rbx
mov r8, rsi
mov r9, rdi
call fcn.0057d34b
test r15, r15
je 0x4a1fc0
mov rcx, r14
mov rdx, r13
call fcn.004c9843
lea rdx, [rsp + 0x450]
lea rsi, [rsp + 0x380]
mov ecx, 0xe
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea r8, [rsp + 0x210]
mov qword [r8], 0
lea rsi, [rsp + 0x250]
mov rcx, rsi
call fcn.0057312f
cmp qword [rsi], 0
mov r15, qword [rsp + 0x58]
lea rbp, [rsp + 0x250]
je 0x4a2686
lea rdx, [rsp + 0x258]
lea rsi, [rsp + 0xd0]
mov r8d, 0x120
mov rcx, rsi
call sub.msvcrt.dll_memcpy
lea rdi, [rsp + 0x250]
mov r8d, 0x120
mov rcx, rdi
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rdi
call fcn.0045cec4
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
xor esi, esi
mov rbx, qword [rsp + 0x40]
jmp 0x4a2203
lea rcx, [rsp + 0x250]
call fcn.00560d56
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
jmp 0x4a25cb
mov rcx, qword [rsp + 0x40]
call fcn.004c9f3f
jmp 0x4a1967
mov rdx, rbp
mov rbp, r15
lea rax, [0x005d4d74]
mov qword [rsp + 0x250], rax
mov rcx, qword [rsp + 0x250]
movabs rax, 0x96a5a690f06762d1
mov qword [rsp + 0x250], rax
mov rdx, qword [rsp + 0x250]
call fcn.00477e1c
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x250], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x005db7e6]
mov r9, qword [rax + rdx]
movzx r11d, byte [rdx + r8]
mov r10, rdx
or r10, 1
movzx r10d, byte [r10 + r8]
mov rsi, rdx
or rsi, 2
movzx esi, byte [rsi + 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 r15, rdx
or r15, 6
mov r13, rdx
or r13, 7
movzx r12d, byte [r15 + r8]
movzx r15d, byte [r13 + r8]
shl r15, 0x38
shl r12, 0x30
or r12, r15
shl r14, 0x28
shl rbx, 0x20
shl rdi, 0x18
shl rsi, 0x10
shl r10, 8
or r10, r11
or r10, rsi
or r10, rdi
or r10, rbx
or r10, r14
or r10, r12
mov r11, r10
and r11, r9
add r10, r9
add r11, r11
sub r10, r11
mov qword [rsp + rdx + 0x250], r10
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x4a20e7
mov ecx, 0xee5b8fbd
xor ecx, dword [rax + 0x10]
mov dword [rsp + 0x260], ecx
mov ecx, 0x14
call fcn.005162fd
lea rcx, [rsp + 0x4d0]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
movdqa xmm0, xmmword [rsp + 0x250]
movdqu xmmword [rdx], xmm0
mov eax, dword [rsp + 0x260]
mov dword [rdx + 0x10], eax
mov qword [rcx + 0x10], 0x14
call fcn.004554b3
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
mov sil, 1
mov rbx, qword [rsp + 0x40]
mov r15, rbp
mov rdi, qword [rsp + 0x50]
jmp 0x4a2bb9
xor ebx, ebx
jmp 0x4a22e6
jne 0x4a1eff
mov rbp, r15
mov qword [rsp + 0x90], rcx
lea rax, [rcx + r8]
mov qword [rsp + 0xa0], rax
mov rsi, rdi
sub rsi, r8
mov r15d, esi
not r15d
mov rcx, rsi
call fcn.005162fd
mov qword [rsp + 0x98], rax
mov rbx, rdx
mov eax, esi
and eax, 1
neg rax
and r15d, 1
mov rcx, rsi
and rcx, 0xfffffffffffffffe
imul rcx, r15
mov r8, rsi
or r8, 1
and r8, rax
add r8, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0xa0]
call sub.msvcrt.dll_memcpy
cmp rdi, r14
jae 0x4a2296
mov r15, rbp
lea rbp, [rsp + 0x250]
jmp 0x4a22e6
test r14, r14
mov r15, rbp
lea rbp, [rsp + 0x250]
je 0x4a22d4
cmp rdi, r14
jbe 0x4a22d2
mov rax, qword [rsp + 0x90]
cmp byte [rax + r14], 0xc0
jge 0x4a22d4
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x0062c008]
mov edx, 0x30
jmp 0x4a2db0
jne 0x4a22ba
cmp qword [rsp + 0xe0], r14
jb 0x4a22e6
mov qword [rsp + 0xe0], r14
cmp dword [rsp + 0xe8], 0
je 0x4a22f9
mov edi, dword [rsp + 0xec]
jmp 0x4a235b
mov rdi, qword [rsp + 0xe0]
mov rax, rdi
shr rax, 0x20
jne 0x4a2dcc
mov dword [rsp + 0xe8], 1
mov dword [rsp + 0xec], edi
mov rax, rdi
cmp rdi, qword [rsp + 0xd0]
jne 0x4a2344
lea r14, [rsp + 0xd0]
mov rcx, r14
mov rdx, rdi
call fcn.0055d40c
mov rax, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xd8]
mov byte [rcx + rax], 0x3f
inc rax
mov qword [rsp + 0xe0], rax
lea rax, [rdi + 1]
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xe0]
cmp rdx, rdi
jbe 0x4a2cf6
cmp rdx, rax
jbe 0x4a23bc
cmp rdx, qword [rsp + 0xd0]
jne 0x4a239b
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.004cafab
mov rdx, qword [rdi + 0x10]
mov rax, qword [rsp + 0xd8]
mov byte [rax + rdx], 0x26
mov eax, edx
and eax, 1
xor rdx, 1
lea rax, [rdx + rax*2]
mov qword [rsp + 0xe0], rax
lea rdi, [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
xor r9d, r9d
call fcn.0042eb22
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x4a23fc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.004cafab
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0xd0]
mov rax, qword [r8 + 8]
mov byte [rax + rdx], 0x3d
mov eax, edx
and eax, 1
xor rdx, 1
lea rax, [rdx + rax*2]
mov qword [r8 + 0x10], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, r13
xor r9d, r9d
call fcn.0042eb22
test rbx, rbx
mov r14, qword [rsp + 0x58]
je 0x4a250c
cmp dword [rsp + 0xf0], 0
jne 0x4a2d9d
mov rdx, qword [rsp + 0xe0]
mov rax, rdx
shr rax, 0x20
jne 0x4a2db7
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0xf4], edx
cmp rdx, qword [rsp + 0xd0]
jne 0x4a2496
mov r13, rbx
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.0055d40c
mov rdx, qword [rdi + 0x10]
jmp 0x4a2499
mov r13, rbx
lea rdi, [rsp + 0xd0]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x23
inc rdx
mov qword [rdi + 0x10], rdx
mov rcx, rdi
mov rdx, rsi
call fcn.0055d172
mov eax, esi
not eax
mov rbx, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
add rcx, rbx
mov edx, esi
and edx, 1
neg rdx
and eax, 1
mov r9, rsi
and r9, 0xfffffffffffffffe
imul r9, rax
mov r8, rsi
or r8, 1
and r8, rdx
add r8, r9
mov rdx, r13
call sub.msvcrt.dll_memcpy
add rbx, rsi
mov qword [rdi + 0x10], rbx
mov rcx, qword [rsp + 0x98]
mov rdx, r13
call fcn.004c9843
xor eax, eax
lea rdx, [rsp + 0x3f0]
mov qword [rdx], rax
mov qword [rdx + 8], 1
mov qword [rdx + 0x10], rax
movabs r8, 0x2000000000
lea rcx, [rsp + 0x450]
mov qword [rcx + 0x30], r8
mov byte [rcx + 0x38], 3
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x20], rax
mov qword [rcx], rdx
lea rax, [0x006159b0]
mov qword [rcx + 8], rax
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
call fcn.0041d940
test al, al
mov r8, qword [rsp + 0x68]
jne 0x4a2d74
test r14, r14
je 0x4a258a
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
mov rbx, qword [rsp + 0x3f0]
mov rdi, qword [rsp + 0x3f8]
mov rsi, qword [rsp + 0x400]
cmp qword [rsp + 0xd0], 0
je 0x4a25c3
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
mov r14, qword [rsp + 0x430]
lea rax, [rsp + 0x3d0]
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmm2, xmmword [rsp + 0x230]
movaps xmmword [rax - 0x50], xmm0
movaps xmmword [rax - 0x40], xmm1
movaps xmmword [rax - 0x30], xmm2
mov rcx, qword [rsp + 0x240]
mov qword [rax - 0x20], rcx
mov qword [rax - 0x18], rbx
mov qword [rax - 0x10], rdi
mov qword [rax - 8], rsi
movdqa xmm0, xmmword [rsp + 0x410]
movaps xmm1, xmmword [rsp + 0x420]
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
test r14, r14
je 0x4a2642
mov rcx, qword [rsp + 0x438]
mov rdx, qword [rsp + 0x440]
call fcn.004c9843
lea rdx, [rsp + 0x450]
lea rsi, [rsp + 0x380]
mov ecx, 0xe
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea r8, [rsp + 0x210]
mov qword [r8], 0
lea rsi, [rsp + 0x250]
mov rcx, rsi
call fcn.0057312f
cmp qword [rsi], 0
jne 0x4a2011
lea rdx, [rsp + 0x258]
lea rsi, [rsp + 0xd0]
mov r8d, 0x118
mov rcx, rsi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x500]
mov r8d, 0x118
mov rdx, rsi
call sub.msvcrt.dll_memcpy
xor eax, eax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xe0], rax
mov rax, qword [r12 + 0x270]
mov r13, qword [r12 + 0x278]
cmp r13, 4
jne 0x4a2780
cmp dword [rax], 0x79646f62
jne 0x4a2a20
lea rsi, [rsp + 0x250]
lea rdx, [rsp + 0x500]
mov r8d, 0x118
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.0057d559
mov rsi, rax
mov rdi, rdx
lea rbx, [rsp + 0x450]
lea r8, [rsp + 0xd0]
mov rcx, rbx
mov rdx, rax
call qword [rdi + 0x30]
cmp qword [rbx], 0
jne 0x4a2c96
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x4a2815
cmp qword [rdi + 0x10], 0x11
jb 0x4a2768
mov rsi, qword [rsi - 8]
mov rcx, qword [0x00677420]
xor ebp, ebp
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
jmp 0x4a2817
cmp r13, 6
jne 0x4a2a20
mov ecx, 0x64616568
xor ecx, dword [rax]
movzx eax, word [rax + 4]
xor eax, 0x7265
or eax, ecx
jne 0x4a2a20
mov r8, qword [r12 + 0x288]
mov r9, qword [r12 + 0x290]
mov rcx, qword [rsp + 0x590]
mov rdx, qword [rsp + 0x598]
call fcn.00576acc
mov bpl, 1
test rax, rax
je 0x4a2817
mov r8, rdx
lea rsi, [rsp + 0x250]
mov rcx, rsi
mov rdx, rax
call fcn.00417f30
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
call fcn.004c9843
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xe0], rax
movdqu xmm0, xmmword [rsi]
movdqa xmmword [rsp + 0xd0], xmm0
jmp 0x4a2817
xor ebp, ebp
mov rdx, qword [r12 + 0x258]
mov r8, qword [r12 + 0x260]
lea rsi, [rsp + 0x250]
mov rcx, rsi
call fcn.004a2f94
mov rsi, qword [rsi]
test rsi, rsi
je 0x4a28b1
lea rbx, [rsp + 0x250]
mov r12, qword [rbx + 8]
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
mov rcx, rbx
mov rdx, rsi
call qword [r12 + 0x20]
mov rdi, qword [rbx]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x4a28cf
lea r14, [rsp + 0x250]
mov r8, qword [r14 + 0x10]
mov rcx, r14
mov rdx, rbx
call fcn.0048e0c2
mov al, byte [r14 + 0x3c]
mov rcx, qword [r14]
cmp al, 0xc
jne 0x4a291a
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
mov byte [rax + 0x3c], 0xc
mov rcx, rdi
mov rdx, rbx
call fcn.004c9843
jmp 0x4a28db
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
mov rbx, qword [rsp + 0x40]
jmp 0x4a2b8b
mov rax, qword [rsp + 0x48]
mov qword [rax], rdi
mov byte [rax + 0x3c], 0xc
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
mov rdi, qword [rsp + 0x50]
je 0x4a2a16
cmp qword [r12 + 0x10], 0x11
jb 0x4a28ff
mov rsi, qword [rsi - 8]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
jmp 0x4a2b90
mov edx, dword [rsp + 0x288]
mov r8, qword [rsp + 0x48]
mov dword [r8 + 0x38], edx
movdqu xmm0, xmmword [rsp + 0x258]
movups xmm1, xmmword [rsp + 0x268]
movups xmm2, xmmword [rsp + 0x278]
movups xmmword [r8 + 0x28], xmm2
movups xmmword [r8 + 0x18], xmm1
movdqu xmmword [r8 + 8], xmm0
movzx edx, word [rsp + 0x28d]
mov word [r8 + 0x3d], dx
mov dl, byte [rsp + 0x28f]
mov byte [r8 + 0x3f], dl
mov qword [r8], rcx
mov byte [r8 + 0x3c], al
mov rcx, rdi
mov rdx, rbx
call fcn.004c9843
mov rcx, rsi
call qword [r12]
cmp qword [r12 + 8], 0
mov rdi, qword [rsp + 0x50]
je 0x4a29ae
cmp qword [r12 + 0x10], 0x11
jb 0x4a299d
mov rsi, qword [rsi - 8]
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
call fcn.004c9843
cmp r13, 4
je 0x4a29d6
lea rcx, [rsp + 0x500]
call fcn.0045d035
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.004c9843
mov rcx, r15
call qword [rdi]
cmp qword [rdi + 8], 0
mov rbx, qword [rsp + 0x40]
je 0x4a2c47
cmp qword [rdi + 0x10], 0x11
jb 0x4a2a05
mov r15, qword [r15 - 8]
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r15
jmp 0x4a2c42
mov rbx, qword [rsp + 0x40]
jmp 0x4a2b90
mov r12, r15
lea rax, [0x005cd425]
mov qword [rsp + 0x250], rax
mov rcx, qword [rsp + 0x250]
movabs rax, 0x94ab52f5cdc4f1bd
mov qword [rsp + 0x250], rax
mov rdx, qword [rsp + 0x250]
call fcn.00477f7c
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x250], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x005db7d1]
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 rsi, rdx
or rsi, 3
movzx esi, byte [rsi + r8]
mov rdi, rdx
or rdi, 4
movzx edi, byte [rdi + r8]
mov rbx, rdx
or rbx, 5
movzx ebx, byte [rbx + r8]
mov r14, rdx
or r14, 6
mov r15, rdx
or r15, 7
movzx r14d, byte [r14 + r8]
movzx r15d, byte [r15 + r8]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x250], r9
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x4a2a71
mov ecx, 0x8e7f98a9
xor ecx, dword [rax + 0x10]
mov dword [rsp + 0x260], ecx
mov al, byte [rax + 0x14]
xor al, 0x9c
mov byte [rsp + 0x264], al
mov ecx, 0x15
call fcn.005162fd
lea rcx, [rsp + 0x4e8]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
movdqa xmm0, xmmword [rsp + 0x250]
movdqu xmmword [rdx], xmm0
mov rax, qword [rsp + 0x25d]
mov qword [rdx + 0xd], rax
mov qword [rcx + 0x10], 0x15
call fcn.004554b3
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
mov bpl, 1
mov rbx, qword [rsp + 0x40]
mov r15, r12
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
call fcn.004c9843
test bpl, bpl
je 0x4a2bb7
lea rcx, [rsp + 0x500]
call fcn.0045d035
xor esi, esi
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.004c9843
mov rcx, r15
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x4a2bf0
cmp qword [rdi + 0x10], 0x11
jb 0x4a2bdf
mov r15, qword [r15 - 8]
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r15
call fcn.005ab9d4
test sil, sil
je 0x4a2c47
lea rdi, [rsp + 0x380]
mov rcx, rdi
call fcn.0044cac6
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
call fcn.004c9843
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
call fcn.004c9843
mov rsi, qword [rdi + 0x58]
mov rdx, qword [rdi + 0x60]
mov rcx, rsi
call fcn.00561af7
cmp qword [rdi + 0x50], 0
je 0x4a2c47
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
mov rcx, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x200]
call fcn.004c9843
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
call fcn.004c9843
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx], cl
jne 0x4a2c8c
add rsp, 0x618
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.004c9c7e
jmp 0x4a2c78
mov rcx, qword [rsp + 0x458]
call fcn.0044542c
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov byte [rcx + 0x3c], 0xc
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x4a2cde
cmp qword [rdi + 0x10], 0x11
mov rbx, qword [rsp + 0x40]
jb 0x4a2ccb
mov rsi, qword [rsi - 8]
mov rdi, qword [rsp + 0x50]
mov rcx, qword [0x00677420]
xor ebp, ebp
jmp 0x4a290b
xor ebp, ebp
jmp 0x4a28c5
lea r8, [0x005db7b0]
mov rcx, rax
call fcn.004262b0
ud2
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.0057db24
mov rax, qword [rsi + 0x10]
lea rcx, [rsp + 0xc8]
mov qword [rcx], rax
lea rax, [rsp + 0xc0]
lea rdx, [rsp + 0x3f0]
mov qword [rdx], rax
lea rax, [fcn.00428c20]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rax, str.invalid_length__for_target_of_length
lea rcx, [rsp + 0x450]
mov qword [rcx + 0x10], rax
mov eax, 2
mov qword [rcx + 0x18], rax
mov qword [rcx], 0
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_unsubstantiated_1.2.1_src_lib.rs
call fcn.00426330
ud2
lea rax, [0x0062bd48]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly_repos_rust_1.70.0_library_alloc_src_string.rs
lea r9, [0x00615c18]
lea r8, [rsp + 0xc8]
mov edx, 0x37
jmp 0x4a2df7
lea rcx, [0x0062c7c5]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_ban_2.5.2_src_lib.rsassertion_failed:_self.fragment_start.is_none__
mov edx, 0x2f
call fcn.00426370
ud2
lea r8, [rsp + 0x450]
mov byte [r8], 9
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_ban_2.5.2_src_lib.rsassertion_failed:_self.fragment_start.is_none__
jmp 0x4a2ddf
lea r8, [rsp + 0x450]
mov byte [r8], 9
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_ban_2.5.2_src_lib.rsassertion_failed:_self.fragment_start.is_none__
mov qword [rsp + 0x20], rax
lea rcx, [0x0062cc63]
lea r9, [0x0062be00]
mov edx, 0x2b
call fcn.0041f970
ud2