Function at 0x6d96c040
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, 0xc8
mov r11d, dword [rcx + 4]
mov rax, r8
mov qword [rsp + 8], r8
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
cmp r11d, 3
ja 0x6d96c0bf
mov r10d, 4
sub r10d, r11d
mov r8d, r10d
cmp qword [rsp + 8], r8
jb 0x6d96c330
lea ebx, [r10 - 1]
lea r9, [rdx + rbx + 1]
shl eax, 8
add rdx, 1
mov r8d, eax
movzx eax, byte [rdx - 1]
or eax, r8d
cmp rdx, r9
jne 0x6d96c092
sub qword [rsp + 8], 1
sub qword [rsp + 8], rbx
cmp qword [rsp + 8], 0
je 0x6d96c345
mov edi, dword [rcx + 0xc]
mov esi, dword [rcx + 0x1c]
mov ebx, dword [rcx + 0x3c]
mov dword [rsp + 0x2c], edi
mov edi, dword [rcx + 0x10]
mov dword [rsp + 0x38], esi
mov esi, dword [rcx + 0x24]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rcx + 0x48]
mov dword [rsp + 0x6c], edi
mov edi, dword [rcx + 0x14]
mov dword [rsp + 0x24], esi
mov esi, dword [rcx + 0x2c]
mov dword [rsp + 0x7c], ebx
mov dword [rsp + 0x5c], edi
mov edi, dword [rcx + 0x18]
mov dword [rsp + 0x60], esi
mov esi, dword [rcx + 0x34]
mov dword [rsp + 0x8c], edi
mov edi, dword [rcx + 0x20]
mov dword [rsp + 0x50], esi
mov esi, dword [rcx + 0x40]
mov dword [rsp + 0x70], edi
mov edi, dword [rcx + 0x28]
mov dword [rsp + 0x68], esi
mov esi, dword [rcx + 0x4c]
mov dword [rsp + 0x58], edi
mov edi, dword [rcx + 0x30]
mov dword [rsp + 0x84], edi
mov edi, dword [rcx + 0x38]
mov dword [rsp + 0x88], edi
mov edi, dword [rcx + 0x44]
mov dword [rsp + 0x64], edi
mov dword [rsp + 0x3c], esi
mov edi, dword [rcx + 0x50]
mov ebx, dword [rcx + 0x54]
mov esi, dword [rcx + 0x58]
mov r10d, dword [rcx + 8]
mov dword [rsp + 0x80], edi
mov edi, dword [rcx + 0x5c]
mov dword [rsp + 0x10], ebx
mov dword [rsp + 0x78], esi
mov ebx, dword [rcx + 0x60]
mov esi, dword [rcx + 0x64]
cmp r10d, 4
mov dword [rsp + 0x74], edi
mov edi, dword [rcx + 0x68]
mov dword [rsp + 0x90], ebx
mov dword [rsp + 0x54], esi
mov ebx, dword [rcx + 0x6c]
mov esi, dword [rcx + 0x70]
mov dword [rsp + 0xa4], edi
mov edi, dword [rcx + 0x74]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0xac], esi
mov dword [rsp + 0xa8], edi
mov ebx, dword [rcx + 0x78]
mov esi, dword [rcx + 0x7c]
mov edi, dword [rcx + 0x80]
mov dword [rsp + 0xb0], ebx
mov dword [rsp + 0xa0], esi
mov dword [rsp + 0xb4], edi
ja case.default.0x6d96c1d9
lea r8, [0x6daeec80]
lea rsi, [0x6daef4a0]
movsxd r9, dword [r8 + r10*4]
mov qword [rsp + 0x30], rsi
add r8, r9
jmp r8
mov r9, qword [rsp + 8]
test r9, r9
mov dword [rcx + 4], r9d
je 0x6d96dcfe
add r9, rdx
xor eax, eax
nop word [rax + rax]
shl eax, 8
add rdx, 1
mov r8d, eax
movzx eax, byte [rdx - 1]
or eax, r8d
cmp rdx, r9
jne 0x6d96c200
mov dword [rcx], eax
mov eax, dword [rsp + 0x2c]
mov dword [rcx + 8], r10d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x6c]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x5c]
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x8c]
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x38]
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x24]
mov dword [rcx + 0x24], eax
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x60]
mov dword [rcx + 0x2c], eax
mov eax, dword [rsp + 0x84]
mov dword [rcx + 0x30], eax
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x34], eax
mov eax, dword [rsp + 0x88]
mov dword [rcx + 0x38], eax
mov eax, dword [rsp + 0x28]
mov dword [rcx + 0x3c], eax
mov eax, dword [rsp + 0x68]
mov dword [rcx + 0x40], eax
mov eax, dword [rsp + 0x64]
mov dword [rcx + 0x44], eax
mov eax, dword [rsp + 0x7c]
mov dword [rcx + 0x48], eax
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 0x4c], eax
mov eax, dword [rsp + 0x80]
mov dword [rcx + 0x50], eax
mov eax, dword [rsp + 0x10]
mov dword [rcx + 0x54], eax
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x58], eax
mov eax, dword [rsp + 0x74]
mov dword [rcx + 0x5c], eax
mov eax, dword [rsp + 0x90]
mov dword [rcx + 0x60], eax
mov eax, dword [rsp + 0x54]
mov dword [rcx + 0x64], eax
mov eax, dword [rsp + 0xa4]
mov dword [rcx + 0x68], eax
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x6c], eax
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0x70], eax
mov eax, dword [rsp + 0xa8]
mov dword [rcx + 0x74], eax
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x78], eax
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x7c], eax
mov eax, dword [rsp + 0xb4]
mov dword [rcx + 0x80], eax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 8]
test esi, esi
mov r10d, esi
jne 0x6d96c089
jmp 0x6d96c0b3
add r10d, r11d
mov dword [rcx], eax
mov dword [rcx + 4], r10d
jmp 0x6d96c312
lea rsi, [0x6daef8a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp], rsi
mov esi, dword [rsp + 0x24]
xor dword [rsp + 0x3c], esi
mov esi, dword [rsp + 0x2c]
xor dword [rsp + 0x58], esi
mov edi, dword [rsp + 0x58]
mov r11d, dword [rsp + 0x8c]
mov r15d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x38]
xor r11d, edi
xor dword [rsp + 0x78], r15d
mov esi, r11d
mov qword [rsp + 0xb8], rdx
shr esi, 0x10
mov rdx, r11
mov r14d, dword [rsp + 0x84]
xor r10d, r15d
mov r15, qword [rsp + 0x30]
movzx esi, sil
xor dword [rsp + 0x10], edi
mov ebx, dword [rsp + 0x70]
mov ebp, dword [r15 + rsi*4]
movzx esi, dh
xor dword [rsp + 0x74], r14d
mov edi, dword [r8 + rsi*4]
mov rdx, r10
xor ebx, r14d
xor dword [rsp + 0x64], eax
mov r14d, edi
movzx edi, r11b
shr r11d, 0x18
mov r13d, dword [r9 + rdi*4]
mov rdi, qword [rsp]
mov dword [rsp + 0x30], r14d
mov r12d, dword [rdi + r11*4]
mov r11d, r10d
shr r11d, 0x18
mov r11d, dword [rdi + r11*4]
movzx edi, dh
mov rdx, r15
xor r12d, r13d
mov edi, dword [r8 + rdi*4]
mov dword [rsp + 0x24], r12d
movzx r12d, r10b
xor dword [rsp + 0x24], ebp
xor dword [rsp + 0x24], r14d
mov r14d, dword [r9 + r12*4]
shr r10d, 0x10
mov r12, qword [rsp]
movzx r10d, r10b
mov esi, r14d
xor esi, r11d
xor esi, dword [r15 + r10*4]
mov r10d, ebx
shr r10d, 0x18
mov r10d, dword [r12 + r10*4]
mov r12d, ebx
shr r12d, 0x10
movzx r12d, r12b
xor esi, edi
mov r12d, dword [r15 + r12*4]
movzx r15d, bl
xor r11d, r10d
mov r15d, dword [r9 + r15*4]
movzx ebx, bh
xor r10d, r15d
xor r14d, r15d
mov r15, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
xor r14d, r13d
mov r13d, dword [r15 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r11d, r13d
xor r12d, ebx
xor r12d, ebp
movzx ebp, ah
movzx eax, al
mov ebp, dword [r8 + rbp*4]
xor edi, ebp
xor edi, dword [rsp + 0x30]
xor r13d, dword [r9 + rax*4]
mov eax, r12d
xor eax, esi
mov r15d, eax
mov eax, edi
xor r13d, ebx
and r15d, 0xff0000
xor eax, r10d
xor r13d, ebp
mov ebp, dword [rsp + 0x24]
and eax, 0xff00
mov ebx, r14d
or r15d, eax
mov eax, r13d
shr ebx, 0x10
xor eax, r14d
xor ebx, esi
movzx eax, al
or r15d, eax
mov eax, ebp
xor eax, r11d
and eax, 0xff000000
or r15d, eax
mov eax, r12d
shl eax, 8
mov dword [rsp + 0x38], eax
mov eax, edi
xor dword [rsp + 0x38], r10d
shl eax, 8
and dword [rsp + 0x38], 0xff0000
xor eax, r13d
and eax, 0xff00
or dword [rsp + 0x38], eax
mov eax, r11d
shl eax, 8
xor eax, esi
and eax, 0xff000000
or dword [rsp + 0x38], eax
mov eax, r14d
shr eax, 0x18
xor eax, ebp
movzx eax, al
or dword [rsp + 0x38], eax
movzx eax, bl
mov dword [rsp + 0x70], eax
mov eax, r11d
shl eax, 0x10
mov ebx, dword [rsp + 0x5c]
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0x70], eax
mov eax, r12d
shl eax, 0x10
shr r14d, 8
shl r11d, 0x18
xor eax, r13d
xor r14d, r10d
xor r11d, r13d
and eax, 0xff0000
or dword [rsp + 0x70], eax
mov eax, edi
shr eax, 0x10
shr r12d, 8
and r11d, 0xff000000
xor eax, ebp
xor r12d, ebp
shr edi, 8
and eax, 0xff00
or dword [rsp + 0x70], eax
movzx eax, r14b
mov dword [rsp + 0x24], eax
and r12d, 0xff0000
xor edi, esi
or dword [rsp + 0x24], r11d
and edi, 0xff00
mov ebp, dword [rsp + 0x2c]
or dword [rsp + 0x24], r12d
or dword [rsp + 0x24], edi
mov edi, dword [rsp + 0x38]
xor ebp, edi
mov r11d, dword [rsp + 0x24]
mov r10d, ebp
mov r14d, dword [rsp + 0x70]
xor dword [rsp + 0x7c], edi
shr r10d, 0x10
xor dword [rsp + 0x3c], r14d
mov eax, dword [rsp + 0x6c]
movzx r10d, r10b
xor dword [rsp + 0x80], r11d
mov qword [rsp + 0x30], rdx
mov edi, dword [rdx + r10*4]
mov rdx, rbp
xor ebx, r11d
movzx esi, dh
movzx r10d, bpl
shr ebp, 0x18
xor eax, r14d
mov r11d, dword [r8 + rsi*4]
mov rsi, qword [rsp]
mov r12d, dword [r9 + r10*4]
mov r10d, eax
mov rdx, qword [rsp + 0x30]
mov dword [rsp + 0x5c], edi
mov r14d, dword [rsi + rbp*4]
movzx ebp, al
mov r13d, dword [r9 + rbp*4]
mov ebp, ebx
xor r14d, r12d
mov dword [rsp + 0x2c], r14d
xor dword [rsp + 0x2c], edi
mov rdi, rsi
xor dword [rsp + 0x2c], r11d
shr r10d, 0x18
mov r14d, r13d
mov r10d, dword [rsi + r10*4]
movzx esi, ah
shr eax, 0x10
movzx eax, al
shr ebp, 0x10
mov esi, dword [r8 + rsi*4]
movzx ebp, bpl
xor r14d, r10d
xor r14d, dword [rdx + rax*4]
mov eax, ebx
shr eax, 0x18
mov ebp, dword [rdx + rbp*4]
mov eax, dword [rdi + rax*4]
movzx edi, bl
movzx ebx, bh
mov edi, dword [r9 + rdi*4]
xor r14d, esi
xor r10d, eax
xor r13d, edi
xor eax, edi
xor r13d, r12d
mov r12, qword [rsp]
xor eax, ebp
xor eax, dword [r8 + rbx*4]
mov ebx, r15d
shr ebx, 0x18
mov r12d, dword [r12 + rbx*4]
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
mov rdx, r15
xor r10d, r12d
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor ebp, ebx
xor ebp, dword [rsp + 0x5c]
xor esi, edi
xor esi, r11d
movzx r11d, r15b
xor r12d, dword [r9 + r11*4]
mov r11d, ebp
xor r11d, r14d
and r11d, 0xff0000
xor r12d, ebx
xor r12d, edi
mov edi, dword [rsp + 0x2c]
mov ebx, edi
xor ebx, r10d
mov dword [rsp + 0x2c], ebx
and dword [rsp + 0x2c], 0xff000000
or dword [rsp + 0x2c], r11d
mov r11d, r13d
xor r11d, r12d
movzx r11d, r11b
or dword [rsp + 0x2c], r11d
mov r11d, esi
xor r11d, eax
and r11d, 0xff00
or dword [rsp + 0x2c], r11d
mov r11d, r13d
shr r11d, 0x18
mov rdx, qword [rsp + 0xb8]
xor r11d, edi
movzx ebx, r11b
mov r11d, r10d
shl r11d, 8
mov dword [rsp + 0x6c], ebx
mov ebx, r13d
xor r11d, r14d
shr ebx, 0x10
shr r13d, 8
and r11d, 0xff000000
or dword [rsp + 0x6c], r11d
mov r11d, ebp
shl r11d, 8
xor ebx, r14d
xor r13d, eax
xor r11d, eax
movzx ebx, bl
and r11d, 0xff0000
or dword [rsp + 0x6c], r11d
mov r11d, esi
shl r11d, 8
mov dword [rsp + 0x5c], ebx
xor r11d, r12d
and r11d, 0xff00
or dword [rsp + 0x6c], r11d
mov r11d, r10d
shl r11d, 0x10
shl r10d, 0x18
xor r11d, eax
xor r10d, r12d
movzx eax, r13b
and r11d, 0xff000000
or dword [rsp + 0x5c], r11d
mov r11d, ebp
shl r11d, 0x10
mov dword [rsp + 0x8c], eax
xor r11d, r12d
and r11d, 0xff0000
or dword [rsp + 0x5c], r11d
mov r11d, esi
shr r11d, 0x10
xor r11d, edi
and r11d, 0xff00
or dword [rsp + 0x5c], r11d
and r10d, 0xff000000
shr ebp, 8
or dword [rsp + 0x8c], r10d
shr esi, 8
xor ebp, edi
xor esi, r14d
xor r10d, r10d
and ebp, 0xff0000
or dword [rsp + 0x8c], ebp
and esi, 0xff00
or dword [rsp + 0x8c], esi
cmp qword [rsp + 8], 4
jbe case.default.0x6d96c1d9
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 8], 4
add rdx, 4
mov esi, dword [rsp + 0x2c]
xor dword [rsp + 0x50], esi
mov esi, dword [rsp + 0x40]
xor dword [rsp + 0x6c], esi
mov edi, dword [rsp + 0x6c]
mov r11d, dword [rsp + 0xb0]
mov r14d, dword [rsp + 0x8c]
mov ebx, dword [rsp + 0xb4]
xor r11d, edi
mov r10d, dword [rsp + 0xa0]
mov r15d, dword [rsp + 0x5c]
xor dword [rsp + 0x28], edi
xor dword [rsp + 0x64], r14d
mov edi, r11d
xor ebx, r14d
mov r14, qword [rsp + 0x30]
shr edi, 0x10
mov dword [rsp + 0x2c], ebx
movzx esi, dil
mov rbx, r11
xor r10d, r15d
xor dword [rsp + 0x68], r15d
mov r15d, dword [r14 + rsi*4]
movzx esi, bh
mov edi, dword [r8 + rsi*4]
movzx esi, r11b
shr r11d, 0x18
xor dword [rsp + 0x60], eax
mov ebx, edi
mov edi, dword [r9 + rsi*4]
mov rsi, qword [rsp]
mov dword [rsp + 0xb0], ebx
mov ebp, dword [rsi + r11*4]
mov r11d, r10d
shr r11d, 0x18
mov r13d, dword [rsi + r11*4]
xor ebp, edi
mov dword [rsp + 0xa0], ebp
xor dword [rsp + 0xa0], r15d
xor dword [rsp + 0xa0], ebx
mov rbx, r10
movzx esi, bh
mov rbx, r14
mov r11d, dword [r8 + rsi*4]
movzx esi, r10b
shr r10d, 0x10
movzx r10d, r10b
mov ebp, dword [r9 + rsi*4]
mov rsi, qword [rsp]
mov r12d, ebp
xor r12d, r13d
xor r12d, dword [r14 + r10*4]
mov r14d, dword [rsp + 0x2c]
mov r10d, r14d
shr r14d, 0x10
shr r10d, 0x18
xor r12d, r11d
mov r10d, dword [rsi + r10*4]
movzx esi, r14b
mov esi, dword [rbx + rsi*4]
mov ebx, dword [rsp + 0x2c]
xor r13d, r10d
movzx r14d, bl
movzx ebx, bh
mov r14d, dword [r9 + r14*4]
xor r10d, r14d
xor ebp, r14d
mov r14d, eax
xor ebp, edi
shr r14d, 0x18
mov rdi, qword [rsp]
xor r10d, esi
xor r10d, dword [r8 + rbx*4]
mov ebx, r14d
mov r14d, eax
shr r14d, 0x10
mov edi, dword [rdi + rbx*4]
movzx ebx, r14b
mov r14, qword [rsp + 0x30]
xor r13d, edi
mov ebx, dword [r14 + rbx*4]
xor esi, ebx
mov r14d, esi
movzx esi, ah
movzx eax, al
mov esi, dword [r8 + rsi*4]
xor r14d, r15d
mov r15d, r14d
xor r11d, esi
xor r11d, dword [rsp + 0xb0]
xor edi, dword [r9 + rax*4]
xor r15d, r12d
and r15d, 0xff0000
mov eax, r11d
xor edi, ebx
xor eax, r10d
xor edi, esi
mov esi, dword [rsp + 0xa0]
and eax, 0xff00
or r15d, eax
mov eax, edi
xor eax, ebp
movzx eax, al
or r15d, eax
mov eax, esi
xor eax, r13d
and eax, 0xff000000
or r15d, eax
mov eax, r14d
shl eax, 8
mov dword [rsp + 0xa0], eax
mov eax, r11d
xor dword [rsp + 0xa0], r10d
shl eax, 8
and dword [rsp + 0xa0], 0xff0000
xor eax, edi
and eax, 0xff00
or dword [rsp + 0xa0], eax
mov eax, r13d
shl eax, 8
xor eax, r12d
and eax, 0xff000000
or dword [rsp + 0xa0], eax
mov eax, ebp
shr eax, 0x18
xor eax, esi
movzx eax, al
or dword [rsp + 0xa0], eax
mov eax, ebp
shr eax, 0x10
mov ebx, eax
xor ebx, r12d
movzx eax, bl
mov dword [rsp + 0xb4], eax
mov eax, r13d
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0xb4], eax
mov eax, r14d
shl eax, 0x10
shr ebp, 8
shl r13d, 0x18
xor eax, edi
xor ebp, r10d
shr r14d, 8
and eax, 0xff0000
or dword [rsp + 0xb4], eax
mov eax, r11d
shr eax, 0x10
mov r10d, dword [rsp + 0xa0]
xor r13d, edi
xor eax, esi
xor r14d, esi
mov esi, dword [rsp + 0x40]
and eax, 0xff00
or dword [rsp + 0xb4], eax
movzx eax, bpl
mov dword [rsp + 0x2c], eax
and r13d, 0xff000000
shr r11d, 8
or dword [rsp + 0x2c], r13d
and r14d, 0xff0000
xor r11d, r12d
or dword [rsp + 0x2c], r14d
xor esi, r10d
and r11d, 0xff00
or dword [rsp + 0x2c], r11d
mov ebx, esi
mov ebp, dword [rsp + 0x2c]
movzx edi, bh
mov esi, dword [rsp + 0xa8]
mov r11d, dword [rsp + 0xb4]
xor dword [rsp + 0x84], r10d
mov r10d, ebx
xor dword [rsp + 0x50], r11d
mov eax, dword [rsp + 0xac]
shr r10d, 0x10
xor dword [rsp + 0x88], ebp
xor esi, ebp
mov rbp, qword [rsp + 0x30]
movzx r10d, r10b
mov r14, qword [rsp]
xor eax, r11d
mov r10d, dword [rbp + r10*4]
mov r11d, r10d
mov r10d, dword [r8 + rdi*4]
mov dword [rsp + 0x40], r11d
mov r13d, r10d
movzx r10d, bl
shr ebx, 0x18
mov edi, dword [r9 + r10*4]
mov r12d, dword [r14 + rbx*4]
mov r10d, eax
movzx ebx, ah
mov dword [rsp + 0xa8], r13d
xor r12d, edi
xor r12d, r11d
xor r12d, r13d
shr r10d, 0x18
mov r13d, dword [r8 + rbx*4]
mov r11d, dword [r14 + r10*4]
movzx r10d, al
shr eax, 0x10
mov ebx, dword [r9 + r10*4]
movzx eax, al
mov r10, qword [rsp]
mov dword [rsp + 0xac], ebx
xor ebx, r11d
mov r14d, ebx
mov rbx, rbp
xor r14d, dword [rbp + rax*4]
mov eax, esi
mov ebp, esi
shr ebp, 0x10
shr eax, 0x18
mov eax, dword [r10 + rax*4]
movzx r10d, bpl
movzx ebp, sil
mov ebp, dword [r9 + rbp*4]
mov r10d, dword [rbx + r10*4]
mov rbx, rsi
movzx esi, bh
mov rbx, qword [rsp + 0x30]
xor r14d, r13d
xor r11d, eax
xor eax, ebp
xor ebp, dword [rsp + 0xac]
xor eax, r10d
xor eax, dword [r8 + rsi*4]
mov esi, r15d
shr esi, 0x18
mov dword [rsp + 0xac], ebp
xor dword [rsp + 0xac], edi
mov rdi, qword [rsp]
mov ebp, dword [rdi + rsi*4]
mov esi, r15d
shr esi, 0x10
movzx esi, sil
mov edi, dword [rbx + rsi*4]
mov rbx, r15
movzx r15d, r15b
xor r11d, ebp
xor ebp, dword [r9 + r15*4]
movzx esi, bh
mov esi, dword [r8 + rsi*4]
xor r10d, edi
xor r10d, dword [rsp + 0x40]
xor ebp, edi
xor r13d, esi
xor r13d, dword [rsp + 0xa8]
xor ebp, esi
mov esi, r12d
xor esi, r11d
mov dword [rsp + 0x40], esi
mov esi, r10d
and dword [rsp + 0x40], 0xff000000
xor esi, r14d
and esi, 0xff0000
or dword [rsp + 0x40], esi
mov ebx, dword [rsp + 0xac]
mov esi, ebx
xor esi, ebp
movzx esi, sil
or dword [rsp + 0x40], esi
mov esi, r13d
xor esi, eax
and esi, 0xff00
or dword [rsp + 0x40], esi
mov esi, ebx
shr esi, 0x18
xor esi, r12d
movzx esi, sil
mov dword [rsp + 0xac], esi
mov esi, r11d
shl esi, 8
xor esi, r14d
and esi, 0xff000000
or dword [rsp + 0xac], esi
mov esi, r10d
shl esi, 8
xor esi, eax
and esi, 0xff0000
or dword [rsp + 0xac], esi
mov esi, r13d
shl esi, 8
xor esi, ebp
and esi, 0xff00
or dword [rsp + 0xac], esi
mov esi, ebx
shr esi, 0x10
shr ebx, 8
xor esi, r14d
xor ebx, eax
movzx esi, sil
mov dword [rsp + 0xa8], esi
mov esi, r11d
shl r11d, 0x18
shl esi, 0x10
xor r11d, ebp
xor esi, eax
movzx eax, bl
and esi, 0xff000000
or dword [rsp + 0xa8], esi
mov esi, r10d
shl esi, 0x10
mov dword [rsp + 0xb0], eax
xor esi, ebp
and esi, 0xff0000
or dword [rsp + 0xa8], esi
mov esi, r13d
shr esi, 0x10
xor esi, r12d
and esi, 0xff00
or dword [rsp + 0xa8], esi
and r11d, 0xff000000
shr r10d, 8
or dword [rsp + 0xb0], r11d
shr r13d, 8
xor r10d, r12d
xor r13d, r14d
and r10d, 0xff0000
or dword [rsp + 0xb0], r10d
and r13d, 0xff00
mov r10d, 1
or dword [rsp + 0xb0], r13d
cmp qword [rsp + 8], 4
jbe case.default.0x6d96c1d9
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 8], 4
add rdx, 4
mov esi, dword [rsp + 0x40]
xor dword [rsp + 0x38], esi
mov esi, dword [rsp + 0x10]
xor dword [rsp + 0xac], esi
mov edi, dword [rsp + 0xac]
mov r10d, dword [rsp + 0x90]
xor dword [rsp + 0x24], edi
mov r14d, dword [rsp + 0xb0]
xor r10d, edi
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0xa4]
mov r11d, r10d
mov r15d, dword [rsp + 0xa8]
shr r11d, 0x10
mov ebp, dword [rsp + 0x54]
movzx r11d, r11b
xor ebx, r14d
xor dword [rsp + 0x58], r15d
mov esi, dword [rdi + r11*4]
mov dword [rsp + 0x40], ebx
mov rbx, r10
xor ebp, r15d
mov r15, qword [rsp]
xor dword [rsp + 0x60], r14d
movzx r13d, bpl
xor dword [rsp + 0x5c], eax
mov r11d, esi
movzx esi, bh
mov r13d, dword [r9 + r13*4]
mov ebx, dword [r8 + rsi*4]
movzx esi, r10b
shr r10d, 0x18
mov r12d, dword [r9 + rsi*4]
mov r14d, dword [r15 + r10*4]
mov r10d, ebp
mov dword [rsp + 0x90], ebx
shr r10d, 0x18
mov dword [rsp + 0x54], r11d
mov r10d, dword [r15 + r10*4]
xor r14d, r12d
xor r14d, r11d
mov r11d, r13d
xor r14d, ebx
mov rbx, rbp
shr ebp, 0x10
movzx ebp, bpl
xor r11d, r10d
movzx esi, bh
xor r11d, dword [rdi + rbp*4]
mov ebp, dword [rsp + 0x40]
mov rbx, rdi
mov rdi, rbx
mov esi, dword [r8 + rsi*4]
shr ebp, 0x18
mov r15d, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0x40]
xor r11d, esi
shr ebp, 0x10
xor r10d, r15d
movzx ebp, bpl
mov ebp, dword [rbx + rbp*4]
movzx ebx, byte [rsp + 0x40]
mov ebx, dword [r9 + rbx*4]
mov dword [rsp + 0x30], ebx
xor r13d, dword [rsp + 0x30]
xor r15d, ebx
mov rbx, qword [rsp + 0x40]
xor r15d, ebp
mov qword [rsp + 0x30], rdi
xor r13d, r12d
mov r12d, eax
movzx ebx, bh
shr r12d, 0x18
xor r15d, dword [r8 + rbx*4]
mov ebx, r12d
mov r12, qword [rsp]
mov r12d, dword [r12 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdi + rbx*4]
movzx edi, ah
movzx eax, al
mov edi, dword [r8 + rdi*4]
xor r10d, r12d
xor ebp, ebx
xor ebp, dword [rsp + 0x54]
xor esi, edi
xor esi, dword [rsp + 0x90]
xor r12d, dword [r9 + rax*4]
mov eax, ebp
xor eax, r11d
xor r12d, ebx
mov dword [rsp + 0x90], eax
mov eax, esi
xor r12d, edi
and dword [rsp + 0x90], 0xff0000
xor eax, r15d
and eax, 0xff00
or dword [rsp + 0x90], eax
mov eax, r12d
xor eax, r13d
movzx eax, al
or dword [rsp + 0x90], eax
mov eax, r14d
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0x90], eax
mov eax, ebp
shl eax, 8
mov dword [rsp + 0x54], eax
mov eax, esi
xor dword [rsp + 0x54], r15d
shl eax, 8
and dword [rsp + 0x54], 0xff0000
xor eax, r12d
and eax, 0xff00
or dword [rsp + 0x54], eax
mov eax, r10d
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or dword [rsp + 0x54], eax
mov eax, r13d
shr eax, 0x18
xor eax, r14d
movzx eax, al
or dword [rsp + 0x54], eax
mov eax, r13d
shr eax, 0x10
mov ebx, eax
xor ebx, r11d
movzx eax, bl
mov dword [rsp + 0xa4], eax
mov eax, r10d
shl eax, 0x10
xor eax, r15d
and eax, 0xff000000
or dword [rsp + 0xa4], eax
mov eax, ebp
shl eax, 0x10
shr r13d, 8
shl r10d, 0x18
xor eax, r12d
xor r13d, r15d
xor r10d, r12d
and eax, 0xff0000
or dword [rsp + 0xa4], eax
mov eax, esi
movzx r15d, r13b
shr eax, 0x10
shr ebp, 8
mov dword [rsp + 0x40], r15d
xor eax, r14d
and r10d, 0xff000000
xor ebp, r14d
or dword [rsp + 0x40], r10d
shr esi, 8
and eax, 0xff00
and ebp, 0xff0000
or dword [rsp + 0xa4], eax
or dword [rsp + 0x40], ebp
xor esi, r11d
mov r14d, dword [rsp + 0xa4]
and esi, 0xff00
or dword [rsp + 0x40], esi
mov esi, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x54]
mov eax, dword [rsp + 0x10]
mov r10d, dword [rsp + 0x40]
mov r12, qword [rsp]
xor esi, r14d
xor dword [rsp + 0x38], r14d
xor dword [rsp + 0x70], r10d
mov edi, esi
mov esi, dword [rsp + 0x74]
xor eax, r15d
mov r14, qword [rsp + 0x30]
movzx ebp, ah
movzx r11d, al
mov rbx, rdi
xor esi, r10d
mov r10d, eax
shr eax, 0x18
shr r10d, 0x10
mov r13d, dword [r12 + rax*4]
mov dword [rsp + 0x10], esi
movzx r10d, r10b
mov eax, edi
xor dword [rsp + 0x8c], r15d
mov esi, dword [r14 + r10*4]
mov r10d, dword [r8 + rbp*4]
movzx ebx, bh
mov ebp, dword [r9 + r11*4]
mov r11d, dword [r8 + rbx*4]
mov rbx, r14
xor r13d, ebp
xor r13d, esi
xor r13d, r10d
shr eax, 0x18
mov eax, dword [r12 + rax*4]
movzx r12d, dil
shr edi, 0x10
mov r12d, dword [r9 + r12*4]
movzx edi, dil
mov r15d, r12d
xor r15d, eax
xor r15d, dword [r14 + rdi*4]
mov edi, dword [rsp + 0x10]
mov r14, qword [rsp]
shr edi, 0x18
mov r14d, dword [r14 + rdi*4]
xor r15d, r11d
xor eax, r14d
mov dword [rsp + 0x78], eax
mov edi, dword [rsp + 0x10]
mov rax, rbx
shr edi, 0x10
movzx edi, dil
mov edi, dword [rbx + rdi*4]
movzx ebx, byte [rsp + 0x10]
mov ebx, dword [r9 + rbx*4]
mov dword [rsp + 0x74], ebx
xor r14d, ebx
mov rbx, qword [rsp + 0x10]
xor r12d, dword [rsp + 0x74]
xor r14d, edi
movzx ebx, bh
xor r14d, dword [r8 + rbx*4]
mov ebx, dword [rsp + 0x90]
xor r12d, ebp
mov rbp, qword [rsp]
shr ebx, 0x18
mov ebp, dword [rbp + rbx*4]
mov ebx, dword [rsp + 0x90]
xor dword [rsp + 0x78], ebp
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rax + rbx*4]
mov rax, qword [rsp + 0x90]
xor edi, ebx
xor edi, esi
movzx esi, ah
mov eax, r13d
mov esi, dword [r8 + rsi*4]
xor r11d, esi
xor r11d, r10d
movzx r10d, byte [rsp + 0x90]
xor ebp, dword [r9 + r10*4]
mov r10d, edi
xor r10d, r15d
and r10d, 0xff0000
xor ebp, ebx
mov ebx, r12d
xor ebp, esi
mov esi, dword [rsp + 0x78]
xor eax, esi
mov dword [rsp + 0x10], eax
and dword [rsp + 0x10], 0xff000000
or dword [rsp + 0x10], r10d
mov r10d, r12d
xor r10d, ebp
movzx r10d, r10b
or dword [rsp + 0x10], r10d
mov r10d, r11d
xor r10d, r14d
and r10d, 0xff00
or dword [rsp + 0x10], r10d
mov r10d, r12d
shr r10d, 0x18
shr ebx, 0x10
shr r12d, 8
xor r10d, r13d
xor ebx, r15d
xor r12d, r14d
movzx eax, r10b
mov r10d, esi
shl r10d, 8
mov dword [rsp + 0x78], eax
movzx eax, bl
xor r10d, r15d
and r10d, 0xff000000
or dword [rsp + 0x78], r10d
mov r10d, edi
shl r10d, 8
xor r10d, r14d
and r10d, 0xff0000
or dword [rsp + 0x78], r10d
mov r10d, r11d
shl r10d, 8
xor r10d, ebp
and r10d, 0xff00
or dword [rsp + 0x78], r10d
mov r10d, esi
shl r10d, 0x10
mov dword [rsp + 0x74], eax
movzx eax, r12b
xor r10d, r14d
mov dword [rsp + 0x90], eax
mov eax, esi
and r10d, 0xff000000
or dword [rsp + 0x74], r10d
mov r10d, edi
shl r10d, 0x10
shl eax, 0x18
xor r10d, ebp
xor eax, ebp
and r10d, 0xff0000
or dword [rsp + 0x74], r10d
mov r10d, r11d
shr r10d, 0x10
xor r10d, r13d
and r10d, 0xff00
or dword [rsp + 0x74], r10d
and eax, 0xff000000
shr edi, 8
or dword [rsp + 0x90], eax
shr r11d, 8
xor edi, r13d
xor r11d, r15d
mov r10d, 2
and edi, 0xff0000
or dword [rsp + 0x90], edi
and r11d, 0xff00
or dword [rsp + 0x90], r11d
cmp qword [rsp + 8], 4
jbe case.default.0x6d96c1d9
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 8], 4
add rdx, 4
mov esi, dword [rsp + 0x10]
xor dword [rsp + 0xa0], esi
mov esi, dword [rsp + 0x28]
xor dword [rsp + 0x78], esi
mov edi, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x3c]
xor r11d, edi
mov ebp, dword [rsp + 0x90]
xor dword [rsp + 0x6c], r15d
mov ebx, dword [rsp + 0x80]
mov esi, r11d
mov qword [rsp + 0xb8], rdx
xor r10d, r15d
mov r15, qword [rsp + 0x30]
shr esi, 0x10
mov rdx, r11
movzx esi, sil
xor dword [rsp + 0x5c], ebp
xor ebx, ebp
xor dword [rsp + 0x2c], edi
mov ebp, dword [r15 + rsi*4]
movzx esi, dh
mov rdx, r10
mov edi, dword [r8 + rsi*4]
xor dword [rsp + 0xa8], eax
mov r12d, edi
movzx edi, r11b
shr r11d, 0x18
mov r13d, dword [r9 + rdi*4]
mov rdi, qword [rsp]
mov dword [rsp + 0x30], r12d
mov esi, dword [rdi + r11*4]
mov r11d, r10d
shr r11d, 0x18
mov r11d, dword [rdi + r11*4]
movzx edi, dh
mov rdx, r15
xor esi, r13d
mov edi, dword [r8 + rdi*4]
mov dword [rsp + 0x10], esi
xor dword [rsp + 0x10], ebp
xor dword [rsp + 0x10], r12d
movzx r12d, r10b
shr r10d, 0x10
mov r14d, dword [r9 + r12*4]
movzx r10d, r10b
mov r12, qword [rsp]
mov esi, r14d
xor esi, r11d
xor esi, dword [r15 + r10*4]
mov r10d, ebx
shr r10d, 0x18
mov r10d, dword [r12 + r10*4]
mov r12d, ebx
shr r12d, 0x10
movzx r12d, r12b
xor esi, edi
mov r12d, dword [r15 + r12*4]
movzx r15d, bl
xor r11d, r10d
mov r15d, dword [r9 + r15*4]
movzx ebx, bh
xor r10d, r15d
xor r14d, r15d
mov r15, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
xor r14d, r13d
mov r13d, dword [r15 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r11d, r13d
xor r12d, ebx
xor r12d, ebp
movzx ebp, ah
movzx eax, al
mov ebp, dword [r8 + rbp*4]
xor edi, ebp
xor edi, dword [rsp + 0x30]
xor r13d, dword [r9 + rax*4]
mov eax, r12d
xor eax, esi
mov r15d, eax
mov eax, edi
xor r13d, ebx
and r15d, 0xff0000
xor eax, r10d
xor r13d, ebp
mov ebp, dword [rsp + 0x10]
and eax, 0xff00
mov ebx, r14d
or r15d, eax
mov eax, r13d
shr ebx, 0x10
xor eax, r14d
xor ebx, esi
movzx eax, al
or r15d, eax
mov eax, ebp
xor eax, r11d
and eax, 0xff000000
or r15d, eax
mov eax, r12d
shl eax, 8
mov dword [rsp + 0x3c], eax
mov eax, edi
xor dword [rsp + 0x3c], r10d
shl eax, 8
and dword [rsp + 0x3c], 0xff0000
xor eax, r13d
and eax, 0xff00
or dword [rsp + 0x3c], eax
mov eax, r11d
shl eax, 8
xor eax, esi
and eax, 0xff000000
or dword [rsp + 0x3c], eax
mov eax, r14d
shr eax, 0x18
xor eax, ebp
movzx eax, al
or dword [rsp + 0x3c], eax
movzx eax, bl
mov dword [rsp + 0x80], eax
mov eax, r11d
shl eax, 0x10
mov ebx, dword [rsp + 0x64]
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0x80], eax
mov eax, r12d
shl eax, 0x10
shr r14d, 8
shl r11d, 0x18
xor eax, r13d
xor r14d, r10d
xor r11d, r13d
and eax, 0xff0000
or dword [rsp + 0x80], eax
mov eax, edi
shr eax, 0x10
shr r12d, 8
and r11d, 0xff000000
xor eax, ebp
xor r12d, ebp
shr edi, 8
and eax, 0xff00
or dword [rsp + 0x80], eax
movzx eax, r14b
mov dword [rsp + 0x10], eax
and r12d, 0xff0000
xor edi, esi
or dword [rsp + 0x10], r11d
and edi, 0xff00
mov r14d, dword [rsp + 0x28]
or dword [rsp + 0x10], r12d
or dword [rsp + 0x10], edi
mov edi, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x80]
xor r14d, edi
mov eax, dword [rsp + 0x68]
xor dword [rsp + 0xa0], r10d
mov r11d, dword [rsp + 0x10]
xor dword [rsp + 0xb0], edi
xor dword [rsp + 0xb4], r11d
mov qword [rsp + 0x30], rdx
xor eax, r10d
mov r10d, r14d
shr r10d, 0x10
xor ebx, r11d
movzx ebp, al
movzx r10d, r10b
mov edi, dword [rdx + r10*4]
mov rdx, r14
movzx r10d, r14b
movzx esi, dh
shr r14d, 0x18
mov r12d, dword [r9 + r10*4]
mov r11d, dword [r8 + rsi*4]
mov rsi, qword [rsp]
mov r13d, dword [r9 + rbp*4]
mov rdx, qword [rsp + 0x30]
mov ebp, ebx
mov dword [rsp + 0x64], edi
mov r10d, dword [rsi + r14*4]
mov r14d, r13d
xor r10d, r12d
mov dword [rsp + 0x28], r10d
mov r10d, eax
xor dword [rsp + 0x28], edi
xor dword [rsp + 0x28], r11d
shr r10d, 0x18
mov rdi, rsi
mov r10d, dword [rsi + r10*4]
movzx esi, ah
shr eax, 0x10
movzx eax, al
shr ebp, 0x10
mov esi, dword [r8 + rsi*4]
movzx ebp, bpl
xor r14d, r10d
xor r14d, dword [rdx + rax*4]
mov eax, ebx
shr eax, 0x18
mov ebp, dword [rdx + rbp*4]
mov eax, dword [rdi + rax*4]
movzx edi, bl
movzx ebx, bh
mov edi, dword [r9 + rdi*4]
xor r14d, esi
xor r10d, eax
xor r13d, edi
xor eax, edi
xor r13d, r12d
mov r12, qword [rsp]
xor eax, ebp
xor eax, dword [r8 + rbx*4]
mov ebx, r15d
shr ebx, 0x18
mov r12d, dword [r12 + rbx*4]
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
mov rdx, r15
xor r10d, r12d
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor ebp, ebx
xor ebp, dword [rsp + 0x64]
xor esi, edi
xor esi, r11d
movzx r11d, r15b
xor r12d, dword [r9 + r11*4]
mov r11d, ebp
xor r11d, r14d
and r11d, 0xff0000
xor r12d, ebx
xor r12d, edi
mov edi, dword [rsp + 0x28]
mov ebx, edi
xor ebx, r10d
mov dword [rsp + 0x28], ebx
and dword [rsp + 0x28], 0xff000000
or dword [rsp + 0x28], r11d
mov r11d, r13d
xor r11d, r12d
movzx r11d, r11b
or dword [rsp + 0x28], r11d
mov r11d, esi
xor r11d, eax
and r11d, 0xff00
or dword [rsp + 0x28], r11d
mov r11d, r13d
shr r11d, 0x18
mov rdx, qword [rsp + 0xb8]
xor r11d, edi
movzx ebx, r11b
mov r11d, r10d
shl r11d, 8
mov dword [rsp + 0x68], ebx
mov ebx, r13d
xor r11d, r14d
shr ebx, 0x10
shr r13d, 8
and r11d, 0xff000000
or dword [rsp + 0x68], r11d
mov r11d, ebp
shl r11d, 8
xor ebx, r14d
xor r13d, eax
xor r11d, eax
movzx ebx, bl
and r11d, 0xff0000
or dword [rsp + 0x68], r11d
mov r11d, esi
shl r11d, 8
mov dword [rsp + 0x64], ebx
xor r11d, r12d
and r11d, 0xff00
or dword [rsp + 0x68], r11d
mov r11d, r10d
shl r11d, 0x10
shl r10d, 0x18
xor r11d, eax
xor r10d, r12d
movzx eax, r13b
and r11d, 0xff000000
or dword [rsp + 0x64], r11d
mov r11d, ebp
shl r11d, 0x10
mov dword [rsp + 0x7c], eax
xor r11d, r12d
and r11d, 0xff0000
or dword [rsp + 0x64], r11d
mov r11d, esi
shr r11d, 0x10
xor r11d, edi
and r11d, 0xff00
or dword [rsp + 0x64], r11d
and r10d, 0xff000000
shr ebp, 8
or dword [rsp + 0x7c], r10d
shr esi, 8
xor ebp, edi
xor esi, r14d
mov r10d, 3
and ebp, 0xff0000
or dword [rsp + 0x7c], ebp
and esi, 0xff00
or dword [rsp + 0x7c], esi
cmp qword [rsp + 8], 4
jbe case.default.0x6d96c1d9
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 8], 4
add rdx, 4
mov esi, dword [rsp + 0x28]
xor dword [rsp + 0x54], esi
mov esi, dword [rsp + 0x24]
xor dword [rsp + 0x68], esi
mov edi, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x84]
mov r15d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x50]
xor r11d, edi
mov ebp, dword [rsp + 0x7c]
xor dword [rsp + 0xac], r15d
mov ebx, dword [rsp + 0x88]
mov esi, r11d
mov qword [rsp + 0xb8], rdx
xor r10d, r15d
mov r15, qword [rsp + 0x30]
shr esi, 0x10
mov rdx, r11
movzx esi, sil
xor dword [rsp + 0xa8], ebp
xor ebx, ebp
xor dword [rsp + 0x40], edi
mov ebp, dword [r15 + rsi*4]
movzx esi, dh
mov rdx, r10
mov edi, dword [r8 + rsi*4]
xor dword [rsp + 0x74], eax
mov r12d, edi
movzx edi, r11b
shr r11d, 0x18
mov r13d, dword [r9 + rdi*4]
mov rdi, qword [rsp]
mov dword [rsp + 0x30], r12d
mov esi, dword [rdi + r11*4]
mov r11d, r10d
shr r11d, 0x18
mov r11d, dword [rdi + r11*4]
movzx edi, dh
mov rdx, r15
xor esi, r13d
mov edi, dword [r8 + rdi*4]
mov dword [rsp + 0x28], esi
xor dword [rsp + 0x28], ebp
xor dword [rsp + 0x28], r12d
movzx r12d, r10b
shr r10d, 0x10
mov r14d, dword [r9 + r12*4]
movzx r10d, r10b
mov r12, qword [rsp]
mov esi, r14d
xor esi, r11d
xor esi, dword [r15 + r10*4]
mov r10d, ebx
shr r10d, 0x18
mov r10d, dword [r12 + r10*4]
mov r12d, ebx
shr r12d, 0x10
movzx r12d, r12b
xor esi, edi
mov r12d, dword [r15 + r12*4]
movzx r15d, bl
xor r11d, r10d
mov r15d, dword [r9 + r15*4]
movzx ebx, bh
xor r10d, r15d
xor r14d, r15d
mov r15, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
xor r14d, r13d
mov r13d, dword [r15 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r11d, r13d
xor r12d, ebx
xor r12d, ebp
movzx ebp, ah
movzx eax, al
mov ebp, dword [r8 + rbp*4]
xor edi, ebp
xor edi, dword [rsp + 0x30]
xor r13d, dword [r9 + rax*4]
mov eax, r12d
xor eax, esi
mov r15d, eax
mov eax, edi
xor r13d, ebx
and r15d, 0xff0000
xor eax, r10d
xor r13d, ebp
mov ebp, dword [rsp + 0x28]
and eax, 0xff00
mov ebx, r14d
or r15d, eax
mov eax, r13d
shr ebx, 0x10
xor eax, r14d
xor ebx, esi
movzx eax, al
or r15d, eax
mov eax, ebp
xor eax, r11d
and eax, 0xff000000
or r15d, eax
mov eax, r12d
shl eax, 8
mov dword [rsp + 0x50], eax
mov eax, edi
xor dword [rsp + 0x50], r10d
shl eax, 8
and dword [rsp + 0x50], 0xff0000
xor eax, r13d
and eax, 0xff00
or dword [rsp + 0x50], eax
mov eax, r11d
shl eax, 8
xor eax, esi
and eax, 0xff000000
or dword [rsp + 0x50], eax
mov eax, r14d
shr eax, 0x18
xor eax, ebp
movzx eax, al
or dword [rsp + 0x50], eax
movzx eax, bl
mov dword [rsp + 0x88], eax
mov eax, r11d
shl eax, 0x10
mov ebx, dword [rsp + 0x60]
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0x88], eax
mov eax, r12d
shl eax, 0x10
shr r14d, 8
shl r11d, 0x18
xor eax, r13d
xor r14d, r10d
xor r11d, r13d
and eax, 0xff0000
or dword [rsp + 0x88], eax
mov eax, edi
shr eax, 0x10
shr r12d, 8
and r11d, 0xff000000
xor eax, ebp
xor r12d, ebp
shr edi, 8
and eax, 0xff00
or dword [rsp + 0x88], eax
movzx eax, r14b
mov dword [rsp + 0x28], eax
and r12d, 0xff0000
xor edi, esi
or dword [rsp + 0x28], r11d
and edi, 0xff00
mov r14d, dword [rsp + 0x24]
or dword [rsp + 0x28], r12d
or dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x88]
xor r14d, edi
mov eax, dword [rsp + 0x58]
xor dword [rsp + 0x54], r10d
mov r11d, dword [rsp + 0x28]
xor dword [rsp + 0x90], edi
xor dword [rsp + 0xa4], r11d
mov qword [rsp + 0x30], rdx
xor eax, r10d
mov r10d, r14d
shr r10d, 0x10
xor ebx, r11d
movzx ebp, al
movzx r10d, r10b
mov edi, dword [rdx + r10*4]
mov rdx, r14
movzx r10d, r14b
movzx esi, dh
shr r14d, 0x18
mov r12d, dword [r9 + r10*4]
mov r11d, dword [r8 + rsi*4]
mov rsi, qword [rsp]
mov r13d, dword [r9 + rbp*4]
mov rdx, qword [rsp + 0x30]
mov ebp, ebx
mov dword [rsp + 0x58], edi
mov r10d, dword [rsi + r14*4]
mov r14d, r13d
xor r10d, r12d
mov dword [rsp + 0x24], r10d
mov r10d, eax
xor dword [rsp + 0x24], edi
xor dword [rsp + 0x24], r11d
shr r10d, 0x18
mov rdi, rsi
mov r10d, dword [rsi + r10*4]
movzx esi, ah
shr eax, 0x10
movzx eax, al
shr ebp, 0x10
mov esi, dword [r8 + rsi*4]
movzx ebp, bpl
xor r14d, r10d
xor r14d, dword [rdx + rax*4]
mov eax, ebx
shr eax, 0x18
mov ebp, dword [rdx + rbp*4]
mov eax, dword [rdi + rax*4]
movzx edi, bl
movzx ebx, bh
mov edi, dword [r9 + rdi*4]
xor r14d, esi
xor r10d, eax
xor r13d, edi
xor eax, edi
xor r13d, r12d
mov r12, qword [rsp]
xor eax, ebp
xor eax, dword [r8 + rbx*4]
mov ebx, r15d
shr ebx, 0x18
mov r12d, dword [r12 + rbx*4]
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
mov rdx, r15
xor r10d, r12d
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor ebp, ebx
xor ebp, dword [rsp + 0x58]
xor esi, edi
xor esi, r11d
movzx r11d, r15b
xor r12d, dword [r9 + r11*4]
mov r11d, ebp
xor r11d, r14d
and r11d, 0xff0000
xor r12d, ebx
mov ebx, dword [rsp + 0x24]
xor r12d, edi
mov edi, ebx
xor edi, r10d
mov dword [rsp + 0x24], edi
and dword [rsp + 0x24], 0xff000000
mov edi, ebx
or dword [rsp + 0x24], r11d
mov r11d, r13d
xor r11d, r12d
movzx r11d, r11b
or dword [rsp + 0x24], r11d
mov r11d, esi
xor r11d, eax
and r11d, 0xff00
or dword [rsp + 0x24], r11d
mov r11d, r13d
shr r11d, 0x18
mov rdx, qword [rsp + 0xb8]
xor r11d, ebx
movzx ebx, r11b
mov r11d, r10d
shl r11d, 8
mov dword [rsp + 0x58], ebx
mov ebx, r13d
xor r11d, r14d
shr ebx, 0x10
shr r13d, 8
and r11d, 0xff000000
or dword [rsp + 0x58], r11d
mov r11d, ebp
shl r11d, 8
xor ebx, r14d
xor r13d, eax
xor r11d, eax
movzx ebx, bl
and r11d, 0xff0000
or dword [rsp + 0x58], r11d
mov r11d, esi
shl r11d, 8
mov dword [rsp + 0x60], ebx
xor r11d, r12d
and r11d, 0xff00
or dword [rsp + 0x58], r11d
mov r11d, r10d
shl r11d, 0x10
shl r10d, 0x18
xor r11d, eax
xor r10d, r12d
movzx eax, r13b
and r11d, 0xff000000
or dword [rsp + 0x60], r11d
mov r11d, ebp
shl r11d, 0x10
mov dword [rsp + 0x84], eax
xor r11d, r12d
and r11d, 0xff0000
or dword [rsp + 0x60], r11d
mov r11d, esi
shr r11d, 0x10
xor r11d, edi
and r11d, 0xff00
or dword [rsp + 0x60], r11d
and r10d, 0xff000000
shr ebp, 8
or dword [rsp + 0x84], r10d
shr esi, 8
xor ebp, edi
xor esi, r14d
mov r10d, 4
and ebp, 0xff0000
or dword [rsp + 0x84], ebp
and esi, 0xff00
or dword [rsp + 0x84], esi
cmp qword [rsp + 8], 4
jbe case.default.0x6d96c1d9
mov eax, dword [rdx]
bswap eax
add rdx, 4
sub qword [rsp + 8], 4
jmp 0x6d96c369
lea rsi, [0x6daef8a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp], rsi
jmp 0x6d96c837
lea rsi, [0x6daef8a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp], rsi
jmp 0x6d96cd83
lea rsi, [0x6daef8a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp], rsi
jmp 0x6d96d2b5
lea rsi, [0x6daef8a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp], rsi
jmp 0x6d96d794
xor eax, eax
jmp 0x6d96c216