Function at 0x1400bafc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
mov r10d, edx
mov eax, r8d
mov edx, dword [rcx + 4]
mov rbx, rcx
mov rdi, r9
add rax, qword [rcx + 0xa0]
bswap rax
mov qword [rsp + 0x74], rax
mov eax, edx
or eax, r8d
je 0x1400bb020
cmp edx, 3
jbe 0x1400bc093
test r8d, r8d
jne 0x1400bc093
mov r8d, 0x10
sub r8, rdx
lea rdx, [rsp + rdx + 0x70]
jmp 0x1400bb02b
lea rdx, [rsp + 0x74]
mov r8d, 0xc
mov rcx, rbx
mov esi, 0x24
add rbx, 0xc
mov r13d, 0x20
call sym.fugue4_core
mov eax, dword [rbx - 4]
lea eax, [rax + rax*2]
lea eax, [rax*4]
lea rbp, [rax*4]
sub rsi, rax
lea rax, [rsp + 0xb0]
lea rdx, [rbx + rsi*4]
mov r8, rbp
mov rcx, rax
mov r14, rax
mov qword [rsp + 0x28], rax
call sym.memcpy
mov r8d, esi
lea rcx, [r14 + rbp]
mov rdx, rbx
shl r8, 2
lea r14, [rsp + 0xbc]
call sym.memcpy
mov qword [rsp + 0x1a8], rdi
nop dword [rax]
mov rax, qword [rsp + 0x134]
mov rdx, qword [rsp + 0x28]
mov r8d, 0x84
mov rcx, r14
lea rbp, [0x1402c9320]
lea r15, [0x1402c9720]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x13c]
lea r12, [0x1402c8f20]
lea rsi, [0x1402c8b20]
mov dword [rsp + 0x88], eax
call sym.memmove
mov rax, qword [rsp + 0x80]
mov edx, dword [rsp + 0xc8]
mov ebx, dword [rsp + 0x88]
xor dword [rsp + 0x100], edx
mov rdi, rax
mov ecx, dword [rsp + 0xf8]
vmovq xmm0, qword [rsp + 0xf8]
vmovq xmm1, qword [rsp + 0xc0]
shr rdi, 0x20
xor ebx, edx
mov r9, rdi
mov edi, dword [rsp + 0xc0]
mov dword [rsp + 0x34], ecx
xor r9d, dword [rsp + 0xc4]
vpxor xmm0, xmm0, xmm1
xor eax, edi
mov dword [rsp + 0x38], edi
vmovq qword [rsp + 0xf8], xmm0
mov edx, eax
movzx r8d, al
shr edx, 0x10
mov r8d, dword [rsi + r8*4]
movzx edx, dl
mov ecx, dword [rbp + rdx*4]
movzx edx, ah
shr eax, 0x18
mov edi, dword [r15 + rax*4]
mov eax, r9d
mov edx, edx
shr eax, 0x18
mov edx, dword [r12 + rdx*4]
mov eax, dword [r15 + rax*4]
xor edi, r8d
xor edi, ecx
mov dword [rsp + 0x20], eax
mov eax, r9d
xor edi, edx
movzx eax, ah
mov r10d, eax
mov eax, dword [rsp + 0x20]
mov r11d, dword [r12 + r10*4]
movzx r10d, r9b
shr r9d, 0x10
mov r10d, dword [rsi + r10*4]
movzx r9d, r9b
mov esi, dword [rbp + r9*4]
mov r9d, ebx
xor edx, r11d
xor eax, r10d
xor r8d, r10d
mov r10d, ebx
shr r9d, 0x18
shr r10d, 0x10
xor esi, eax
mov r9d, dword [r15 + r9*4]
mov eax, dword [rsp + 0x20]
movzx r10d, r10b
xor esi, r11d
lea r15, [0x1402c8b20]
mov r11d, dword [rbp + r10*4]
movzx r10d, bl
movzx ebx, bh
xor eax, r9d
mov r10d, dword [r15 + r10*4]
mov ebx, ebx
mov r15, r12
xor ecx, r11d
xor r9d, r10d
xor r8d, r10d
xor r9d, r11d
xor r9d, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0xbc]
lea r11, [0x1402c9720]
mov r10d, ebx
shr r10d, 0x18
mov r10d, dword [r11 + r10*4]
mov r11d, ebx
shr r11d, 0x10
movzx r11d, r11b
xor eax, r10d
mov r12d, dword [rbp + r11*4]
movzx ebp, bh
movzx ebx, bl
mov r11d, ebp
mov r11d, dword [r15 + r11*4]
lea r15, [0x1402c8b20]
xor ecx, r12d
xor r10d, dword [r15 + rbx*4]
mov ebx, edi
xor edx, r11d
xor r10d, r12d
xor ebx, eax
mov r12d, r8d
xor r10d, r11d
mov r11d, esi
and ebx, 0xff000000
shr r12d, 0x18
xor r11d, ecx
xor r12d, edi
and r11d, 0xff0000
movzx r12d, r12b
or ebx, r11d
mov r11d, r8d
xor r11d, r10d
movzx r11d, r11b
or ebx, r11d
mov r11d, r9d
xor r11d, edx
and r11d, 0xff00
or ebx, r11d
mov r11d, eax
shl r11d, 8
mov dword [rsp + 0xb0], ebx
xor r11d, esi
and r11d, 0xff000000
or r11d, r12d
mov r12d, ecx
shl r12d, 8
xor r12d, r9d
and r12d, 0xff0000
or r11d, r12d
mov r12d, edx
shl r12d, 8
xor r12d, r10d
and r12d, 0xff00
or r11d, r12d
mov r12d, r8d
mov dword [rsp + 0xb4], r11d
mov r11d, eax
shr r12d, 0x10
shl r11d, 0x10
xor r12d, esi
xor r11d, r9d
movzx r12d, r12b
and r11d, 0xff000000
or r11d, r12d
mov r12d, ecx
shl r12d, 0x10
shl eax, 0x18
shr r8d, 8
xor r12d, r10d
xor eax, r10d
shr ecx, 8
and r12d, 0xff0000
xor r8d, r9d
and eax, 0xff000000
xor ecx, edi
or r11d, r12d
mov r12d, edx
movzx r8d, r8b
shr edx, 8
shr r12d, 0x10
or eax, r8d
and ecx, 0xff0000
xor edx, esi
xor r12d, edi
or eax, ecx
and edx, 0xff00
and r12d, 0xff00
or eax, edx
or r11d, r12d
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xb8], r11d
sub r13d, 1
jne 0x1400bb0a0
mov r15d, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x38]
mov edx, ebx
lea rax, [rsp + 0xd4]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0xd0]
mov r14d, r15d
mov dword [rsp + 0x64], 0xd
mov edi, ebp
mov qword [rsp + 0x68], rax
xor r14d, ebp
jmp 0x1400bb3c7
mov edi, dword [rsp + 0xc0]
xor edi, edx
xor r14d, edx
mov rcx, qword [rsp + 0x20]
mov r8d, 0x6c
mov eax, dword [rsp + 0xd4]
mov esi, dword [rsp + 0x11c]
mov dword [rsp + 0x38], edi
vmovdqu xmm3, xmmword [rsp + 0x12c]
mov dword [rsp + 0xc0], edi
lea rdi, [0x1402c9320]
xor esi, edx
xor eax, edx
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0xf8], r14d
mov dword [rsp + 0x11c], esi
vmovdqu xmm2, xmmword [rsp + 0x11c]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0x13c]
vmovdqu xmmword [rsp + 0x90], xmm3
vmovdqu xmmword [rsp + 0x80], xmm2
mov dword [rsp + 0xa0], eax
call sym.memmove
mov rax, qword [rsp + 0x90]
vmovdqu xmm4, xmmword [rsp + 0x80]
lea r10, [0x1402c8f20]
lea r11, [0x1402c8b20]
mov qword [rsp + 0xc0], rax
mov r13d, eax
mov rax, qword [rsp + 0x98]
vmovdqu xmmword [rsp + 0xb0], xmm4
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xd0], eax
mov eax, esi
shr eax, 0x10
movzx eax, al
mov r9d, dword [rdi + rax*4]
mov eax, esi
movzx eax, ah
mov eax, eax
mov r15d, dword [r10 + rax*4]
movzx eax, sil
shr esi, 0x18
mov ebx, dword [r11 + rax*4]
mov eax, dword [rsp + 0xb4]
mov edx, esi
lea rsi, [0x1402c9720]
mov r12d, dword [rsi + rdx*4]
mov edx, eax
shr edx, 0x18
xor r12d, ebx
mov r8d, dword [rsi + rdx*4]
movzx edx, ah
xor r12d, r9d
mov edx, edx
xor r12d, r15d
mov ecx, dword [r10 + rdx*4]
movzx edx, al
shr eax, 0x10
mov ebp, r8d
mov edx, dword [r11 + rdx*4]
mov r11d, dword [rsp + 0xb8]
movzx eax, al
xor ebp, edx
xor ebp, dword [rdi + rax*4]
mov eax, r11d
shr eax, 0x18
xor ebp, ecx
mov r10d, dword [rsi + rax*4]
mov eax, r11d
movzx esi, r11b
shr eax, 0x10
movzx eax, al
xor r8d, r10d
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x34], eax
lea rax, [0x1402c8b20]
mov esi, dword [rax + rsi*4]
mov eax, r11d
movzx eax, ah
mov r11d, eax
xor edx, esi
mov eax, dword [rsp + 0x34]
xor r10d, esi
xor edx, ebx
mov ebx, dword [rsp + 0xbc]
lea rsi, [0x1402c9720]
xor r10d, eax
lea rax, [0x1402c8f20]
xor r10d, dword [rax + r11*4]
mov r11d, ebx
mov eax, dword [rsp + 0x34]
shr r11d, 0x18
mov r11d, dword [rsi + r11*4]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
xor r8d, r11d
mov esi, dword [rdi + rsi*4]
movzx edi, bh
movzx ebx, bl
xor eax, esi
xor eax, r9d
mov r9d, edi
lea rdi, [0x1402c8f20]
mov r9d, dword [rdi + r9*4]
xor ecx, r9d
xor ecx, r15d
lea r15, [0x1402c8b20]
xor r11d, dword [r15 + rbx*4]
mov ebx, ebp
xor r11d, esi
mov esi, ecx
xor r11d, r9d
xor ebx, eax
shl esi, 8
mov r9d, ebx
mov ebx, r10d
xor esi, r11d
xor ebx, ecx
and r9d, 0xff0000
and esi, 0xff00
and ebx, 0xff00
or r9d, ebx
mov ebx, edx
xor ebx, r11d
movzx ebx, bl
or r9d, ebx
mov ebx, r12d
xor ebx, r8d
and ebx, 0xff000000
or r9d, ebx
mov ebx, eax
shl ebx, 8
mov dword [rsp + 0xb0], r9d
xor ebx, r10d
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
shl esi, 8
xor esi, ebp
and esi, 0xff000000
or ebx, esi
mov esi, edx
shr esi, 0x18
xor esi, r12d
movzx esi, sil
or ebx, esi
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0xb4], ebx
mov ebx, r8d
mov edi, dword [rsp + 0x3c]
vmovdqu xmm2, xmmword [rsp + 0x12c]
shl ebx, 0x10
mov esi, ebx
mov ebx, edx
vmovdqu xmmword [rsp + 0x90], xmm2
shr ebx, 0x10
xor esi, r10d
mov r15d, ebx
mov ebx, eax
and esi, 0xff000000
xor r15d, ebp
shl ebx, 0x10
movzx r15d, r15b
or esi, r15d
mov r15d, ebx
mov ebx, ecx
xor r15d, r11d
shl r8d, 0x18
xor r14d, r9d
xor r13d, r9d
shr edx, 8
xor r8d, r11d
shr eax, 8
and r15d, 0xff0000
xor edx, r10d
and r8d, 0xff000000
xor eax, r12d
shr ecx, 8
movzx edx, dl
xor ecx, ebp
and eax, 0xff0000
shr ebx, 0x10
or edx, r8d
and ecx, 0xff00
or esi, r15d
mov r15d, ebx
or eax, edx
xor r15d, r12d
mov dword [rsp + 0x11c], r14d
mov ebx, esi
or eax, ecx
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
xor edi, r9d
mov dword [rsp + 0x44], eax
and r15d, 0xff00
vmovdqu xmm5, xmmword [rsp + 0x11c]
mov r8d, 0x6c
or ebx, r15d
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xd8]
lea r12, [0x1402c8b20]
mov dword [rsp + 0x40], ebx
xor eax, r9d
mov dword [rsp + 0xb8], ebx
mov rbx, r12
mov dword [rsp + 0xd8], eax
mov esi, eax
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0xc0], r13d
mov dword [rsp + 0xf8], edi
vmovdqu xmmword [rsp + 0x80], xmm5
mov dword [rsp + 0xa0], eax
call sym.memmove
mov rax, qword [rsp + 0x90]
lea r10, [0x1402c9320]
vmovdqu xmm3, xmmword [rsp + 0x80]
lea r9, [0x1402c8f20]
lea r8, [0x1402c9720]
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x98]
vmovdqu xmmword [rsp + 0xb0], xmm3
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xd0], eax
mov eax, r14d
shr eax, 0x10
movzx eax, al
mov ebp, dword [r10 + rax*4]
mov eax, r14d
movzx eax, ah
mov eax, eax
mov r15d, dword [r9 + rax*4]
movzx eax, r14b
shr r14d, 0x18
mov r11d, dword [r12 + rax*4]
mov eax, dword [rsp + 0xb4]
mov r13d, dword [r8 + r14*4]
mov r14, r10
mov edx, eax
shr edx, 0x18
xor r13d, r11d
mov r8d, dword [r8 + rdx*4]
movzx edx, ah
xor r13d, ebp
mov edx, edx
xor r13d, r15d
mov ecx, dword [r9 + rdx*4]
movzx edx, al
mov r9d, dword [rsp + 0xb8]
shr eax, 0x10
mov edx, dword [r12 + rdx*4]
movzx eax, al
mov r12d, r8d
xor r12d, edx
xor r12d, dword [r10 + rax*4]
mov eax, r9d
shr eax, 0x18
lea r10, [0x1402c9720]
xor r12d, ecx
mov r10d, dword [r10 + rax*4]
mov eax, r9d
shr eax, 0x10
movzx eax, al
xor r8d, r10d
mov eax, dword [r14 + rax*4]
movzx r14d, r9b
mov r14d, dword [rbx + r14*4]
mov ebx, r9d
movzx ebx, bh
mov r9d, ebx
xor r10d, r14d
lea rbx, [0x1402c8f20]
xor edx, r14d
xor r10d, eax
xor r10d, dword [rbx + r9*4]
xor edx, r11d
mov r9d, dword [rsp + 0xbc]
lea r14, [0x1402c9720]
lea rbx, [0x1402c9320]
mov r11d, r9d
shr r11d, 0x18
mov r11d, dword [r14 + r11*4]
mov r14d, r9d
shr r14d, 0x10
movzx r14d, r14b
xor r8d, r11d
mov r14d, dword [rbx + r14*4]
mov ebx, r9d
movzx r9d, r9b
xor eax, r14d
xor eax, ebp
movzx ebp, bh
lea rbx, [0x1402c8f20]
mov ebp, ebp
mov ebp, dword [rbx + rbp*4]
xor ecx, ebp
xor ecx, r15d
lea r15, [0x1402c8b20]
xor r11d, dword [r15 + r9*4]
mov r15d, edx
xor r11d, r14d
mov r14d, eax
xor r11d, ebp
mov ebp, r12d
xor ebp, eax
mov r9d, ebp
mov ebp, r10d
xor ebp, ecx
and r9d, 0xff0000
and ebp, 0xff00
or r9d, ebp
mov ebp, edx
xor ebp, r11d
movzx ebp, bpl
or r9d, ebp
mov ebp, r13d
xor ebp, r8d
and ebp, 0xff000000
or r9d, ebp
mov ebp, ecx
shl r14d, 8
shl ebp, 8
xor r14d, r10d
shr r15d, 0x10
mov dword [rsp + 0xb0], r9d
xor ebp, r11d
and r14d, 0xff0000
xor r15d, r12d
and ebp, 0xff00
movzx r15d, r15b
or r14d, ebp
mov ebp, r8d
shl ebp, 8
xor ebp, r12d
and ebp, 0xff000000
or r14d, ebp
mov ebp, edx
shr edx, 8
shr ebp, 0x18
xor ebp, r13d
movzx ebp, bpl
or r14d, ebp
mov ebp, r8d
shl r8d, 0x18
shl ebp, 0x10
xor r8d, r11d
mov dword [rsp + 0xb4], r14d
xor ebp, r10d
and r8d, 0xff000000
and ebp, 0xff000000
or ebp, r15d
mov r15d, eax
shl r15d, 0x10
xor r15d, r11d
and r15d, 0xff0000
or ebp, r15d
mov r15d, ecx
shr r15d, 0x10
xor r15d, r13d
and r15d, 0xff00
or ebp, r15d
xor edx, r10d
shr eax, 8
xor edi, r9d
xor eax, r13d
shr ecx, 8
movzx edx, dl
mov dword [rsp + 0x4c], ebp
or edx, r8d
xor ecx, r12d
and eax, 0xff0000
xor esi, r9d
or eax, edx
and ecx, 0xff00
mov dword [rsp + 0xb8], ebp
mov r8d, 0x6c
or eax, ecx
mov dword [rsp + 0x50], eax
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x3c]
vmovdqu xmm5, xmmword [rsp + 0x12c]
mov dword [rsp + 0x11c], edi
xor eax, r9d
mov rcx, qword [rsp + 0x20]
vmovdqu xmm4, xmmword [rsp + 0x11c]
mov dword [rsp + 0xfc], esi
mov dword [rsp + 0x54], eax
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x34]
vmovdqu xmmword [rsp + 0x90], xmm5
vmovdqu xmmword [rsp + 0x80], xmm4
xor eax, r9d
mov dword [rsp + 0x34], eax
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0xa0], eax
call sym.memmove
mov rax, qword [rsp + 0x90]
lea r10, [0x1402c9320]
lea r9, [0x1402c8b20]
vmovdqu xmm2, xmmword [rsp + 0x80]
lea rcx, [0x1402c9720]
mov r13, r10
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x98]
vmovdqu xmmword [rsp + 0xb0], xmm2
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xd0], eax
mov eax, edi
shr eax, 0x10
movzx eax, al
mov r12d, dword [r10 + rax*4]
mov eax, edi
movzx eax, ah
mov eax, eax
mov r15d, dword [rbx + rax*4]
movzx eax, dil
shr edi, 0x18
mov ebp, dword [r9 + rax*4]
mov r8d, dword [rcx + rdi*4]
mov eax, dword [rsp + 0xb4]
xor r8d, ebp
mov edi, r8d
mov r8d, eax
shr r8d, 0x18
xor edi, r12d
mov edx, r8d
xor edi, r15d
mov r8d, dword [rcx + rdx*4]
movzx edx, ah
mov edx, edx
mov ecx, dword [rbx + rdx*4]
movzx edx, al
shr eax, 0x10
mov r11d, r8d
mov edx, dword [r9 + rdx*4]
movzx eax, al
mov rbx, r9
lea r9, [0x1402c9720]
xor r11d, edx
xor r11d, dword [r10 + rax*4]
mov r10d, dword [rsp + 0xb8]
xor r11d, ecx
mov eax, r10d
shr eax, 0x18
mov r9d, dword [r9 + rax*4]
mov eax, r10d
shr eax, 0x10
movzx eax, al
xor r8d, r9d
mov eax, dword [r13 + rax*4]
movzx r13d, r10b
mov r13d, dword [rbx + r13*4]
mov ebx, r10d
movzx ebx, bh
mov r10d, ebx
xor r9d, r13d
lea rbx, [0x1402c8f20]
xor edx, r13d
xor r9d, eax
xor r9d, dword [rbx + r10*4]
lea r13, [0x1402c9720]
xor edx, ebp
mov ebp, dword [rsp + 0xbc]
lea rbx, [0x1402c9320]
mov r10d, ebp
shr r10d, 0x18
mov r10d, dword [r13 + r10*4]
mov r13d, ebp
shr r13d, 0x10
movzx r13d, r13b
xor r8d, r10d
mov r13d, dword [rbx + r13*4]
mov ebx, ebp
movzx ebp, bpl
movzx ebx, bh
xor eax, r13d
xor eax, r12d
mov r12d, ebx
lea rbx, [0x1402c8f20]
mov r12d, dword [rbx + r12*4]
xor ecx, r12d
xor ecx, r15d
lea r15, [0x1402c8b20]
xor r10d, dword [r15 + rbp*4]
mov ebp, r11d
xor r10d, r13d
xor ebp, eax
mov r13d, ecx
xor r10d, r12d
mov r12d, r9d
and ebp, 0xff0000
shl r13d, 8
xor r12d, ecx
xor r13d, r10d
and r12d, 0xff00
and r13d, 0xff00
or ebp, r12d
mov r12d, edx
xor r12d, r10d
movzx r12d, r12b
or ebp, r12d
mov r12d, edi
xor r12d, r8d
and r12d, 0xff000000
or ebp, r12d
mov r12d, eax
shl r12d, 8
mov dword [rsp + 0xb0], ebp
xor r12d, r9d
and r12d, 0xff0000
or r12d, r13d
mov r13d, r8d
shl r13d, 8
xor r13d, r11d
and r13d, 0xff000000
or r12d, r13d
mov r13d, edx
shr r13d, 0x18
xor r13d, edi
movzx r13d, r13b
or r12d, r13d
mov r13d, edx
shr edx, 8
mov dword [rsp + 0x58], r12d
shr r13d, 0x10
xor edx, r9d
mov dword [rsp + 0xb4], r12d
mov r12d, r8d
xor r13d, r11d
shl r8d, 0x18
shl r12d, 0x10
movzx r13d, r13b
xor r8d, r10d
movzx edx, dl
xor r12d, r9d
and r8d, 0xff000000
and r12d, 0xff000000
or edx, r8d
mov r8d, 0x70
or r12d, r13d
mov r13d, eax
shr eax, 8
shl r13d, 0x10
xor eax, edi
xor r13d, r10d
and eax, 0xff0000
and r13d, 0xff0000
or eax, edx
or r12d, r13d
mov r13d, ecx
shr ecx, 8
shr r13d, 0x10
xor ecx, r11d
xor r13d, edi
and ecx, 0xff00
and r13d, 0xff00
or eax, ecx
or r12d, r13d
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0xb8], r12d
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x5c], eax
mov rcx, qword [rsp + 0x68]
vmovdqu xmm4, xmmword [rsp + 0x130]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x3c]
vmovdqu xmmword [rsp + 0x90], xmm4
xor eax, ebp
xor r14d, ebp
xor esi, ebp
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x120], esi
vmovdqu xmm3, xmmword [rsp + 0x120]
xor eax, ebp
mov dword [rsp + 0xd8], r14d
mov dword [rsp + 0x34], eax
mov dword [rsp + 0xfc], eax
vmovdqu xmmword [rsp + 0x80], xmm3
call sym.memmove
mov eax, esi
lea rcx, [0x1402c9320]
vmovdqu xmm5, xmmword [rsp + 0x80]
shr eax, 0x10
lea r8, [0x1402c9720]
vmovdqu xmm1, xmmword [rsp + 0x90]
vmovdqu xmmword [rsp + 0xb0], xmm5
movzx eax, al
mov edx, dword [rsp + 0xb4]
vmovdqu xmmword [rsp + 0xc0], xmm1
mov r12d, dword [rcx + rax*4]
mov eax, esi
movzx eax, ah
mov eax, eax
mov edi, dword [rbx + rax*4]
movzx eax, sil
shr esi, 0x18
mov r11d, dword [r15 + rax*4]
mov eax, edx
mov r13d, dword [r8 + rsi*4]
mov rsi, r8
shr eax, 0x18
mov r9d, dword [r8 + rax*4]
movzx eax, dh
xor r13d, r11d
mov eax, eax
xor r13d, r12d
mov r8d, dword [rbx + rax*4]
movzx eax, dl
shr edx, 0x10
mov ebp, r9d
mov eax, dword [r15 + rax*4]
movzx edx, dl
mov rbx, rcx
xor r13d, edi
xor ebp, eax
xor ebp, dword [rcx + rdx*4]
mov edx, dword [rsp + 0xb8]
xor ebp, r8d
mov ecx, edx
shr ecx, 0x18
mov r10d, dword [rsi + rcx*4]
mov ecx, edx
movzx esi, dl
movzx edx, dh
shr ecx, 0x10
mov esi, dword [r15 + rsi*4]
mov edx, edx
lea r15, [0x1402c8f20]
movzx ecx, cl
xor r9d, r10d
mov ecx, dword [rbx + rcx*4]
xor r10d, esi
xor eax, esi
lea rsi, [0x1402c9720]
xor eax, r11d
xor r10d, ecx
xor r10d, dword [r15 + rdx*4]
mov r15d, dword [rsp + 0x38]
mov edx, r15d
shr edx, 0x18
mov r11d, dword [rsi + rdx*4]
mov edx, r15d
shr edx, 0x10
movzx edx, dl
xor r9d, r11d
mov edx, dword [rbx + rdx*4]
mov ebx, r15d
lea r15, [0x1402c8f20]
movzx esi, bh
mov esi, esi
xor ecx, edx
mov esi, dword [r15 + rsi*4]
lea r15, [0x1402c8b20]
xor ecx, r12d
mov r12d, eax
xor r8d, esi
xor r8d, edi
movzx edi, bl
xor r11d, dword [r15 + rdi*4]
mov edi, r8d
xor r11d, edx
mov edx, ebp
xor r11d, esi
mov esi, r10d
xor edx, ecx
shl edi, 8
xor esi, r8d
and edx, 0xff0000
xor edi, r11d
shr r12d, 0x10
and esi, 0xff00
and edi, 0xff00
xor r12d, ebp
or edx, esi
mov esi, eax
movzx r12d, r12b
xor esi, r11d
movzx esi, sil
or edx, esi
mov esi, r13d
xor esi, r9d
and esi, 0xff000000
or edx, esi
mov esi, ecx
shl esi, 8
mov dword [rsp + 0xb0], edx
xor esi, r10d
and esi, 0xff0000
or esi, edi
mov edi, r9d
shl edi, 8
xor edi, ebp
and edi, 0xff000000
or esi, edi
mov edi, eax
shr edi, 0x18
xor edi, r13d
movzx edi, dil
or esi, edi
mov edi, r9d
shl edi, 0x10
mov dword [rsp + 0xb4], esi
xor edi, r10d
and edi, 0xff000000
or edi, r12d
mov r12d, ecx
shl r12d, 0x10
xor r12d, r11d
and r12d, 0xff0000
shl r9d, 0x18
shr eax, 8
or edi, r12d
xor r9d, r11d
mov r12d, r8d
xor eax, r10d
shr ecx, 8
and r9d, 0xff000000
shr r12d, 0x10
xor ecx, r13d
shr r8d, 8
movzx eax, al
xor r12d, r13d
or eax, r9d
and ecx, 0xff0000
xor r8d, ebp
and r12d, 0xff00
or ecx, eax
and r8d, 0xff00
or r12d, edi
or ecx, r8d
sub dword [rsp + 0x64], 1
mov dword [rsp + 0xb8], r12d
mov dword [rsp + 0xbc], ecx
jne 0x1400bb3c0
mov ebx, edx
mov edx, dword [rsp + 0xc0]
mov r15d, dword [rsp + 0x60]
mov eax, ecx
mov r8d, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x1a8]
xor edx, ebx
bswap esi
mov dword [rdi], esi
bswap r12d
mov dword [rdi + 4], r12d
bswap eax
mov dword [rdi + 8], eax
bswap edx
mov eax, dword [rsp + 0x58]
mov dword [rdi + 0xc], edx
xor eax, ebx
bswap eax
mov dword [rdi + 0x10], eax
mov eax, r15d
bswap eax
mov dword [rdi + 0x14], eax
mov r15d, dword [rsp + 0x5c]
bswap r15d
mov dword [rdi + 0x18], r15d
mov eax, dword [rsp + 0x3c]
bswap eax
mov dword [rdi + 0x1c], eax
xor r14d, ebx
bswap r14d
mov dword [rdi + 0x20], r14d
mov eax, dword [rsp + 0x4c]
bswap eax
mov dword [rdi + 0x24], eax
mov eax, dword [rsp + 0x50]
bswap eax
mov dword [rdi + 0x28], eax
mov eax, dword [rsp + 0x54]
bswap eax
mov dword [rdi + 0x2c], eax
mov eax, r8d
xor eax, ebx
bswap eax
mov dword [rdi + 0x30], eax
mov eax, dword [rsp + 0x40]
bswap eax
mov dword [rdi + 0x34], eax
mov eax, dword [rsp + 0x44]
bswap eax
mov dword [rdi + 0x38], eax
mov eax, dword [rsp + 0x48]
bswap eax
mov dword [rdi + 0x3c], eax
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xff
mov ecx, r8d
shr eax, cl
not eax
and eax, r10d
cmp edx, 4
je 0x1400bc0d5
mov ecx, edx
mov byte [rsp + rcx + 0x70], al
lea eax, [rdx + 1]
cmp eax, 3
ja 0x1400bc0c2
mov byte [rsp + rax + 0x70], 0
lea eax, [rdx + 2]
cmp edx, 2
jne 0x1400bc0f5
mov r8d, 0x10
lea rdx, [rsp + rcx + 0x70]
sub r8, rcx
jmp 0x1400bb02b
mov byte [rsp + 0x70], al
xor eax, eax
lea rdx, [rsp + 0x70]
mov r8d, 0x10
mov byte [rsp + 0x71], 0
mov word [rsp + 0x72], ax
jmp 0x1400bb02b
mov byte [rsp + rax + 0x70], 0
lea eax, [rdx + 3]
cmp edx, 1
je 0x1400bc0c2
mov byte [rsp + rax + 0x70], 0
cmp edx, 0xffffffff
jne 0x1400bc0c2
mov byte [rsp + 0x73], 0
jmp 0x1400bc0c2