Function at 0x140064240
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, 0xb8
mov rax, rcx
mov qword [rsp + 0x110], r8
lea rcx, [r8*8]
mov edi, dword [rax]
mov r9d, dword [rax + 4]
add qword [rax + 0xa0], rcx
mov dword [rsp + 0x1c], edi
cmp r9d, 3
ja 0x14006431d
mov r8d, 4
sub r8d, r9d
cmp qword [rsp + 0x110], r8
jb 0x140066080
mov r8d, 3
mov ecx, edi
sub r8d, r9d
mov r9d, 4
movzx r10d, byte [rdx]
shl ecx, 8
mov edi, ecx
or edi, r10d
mov dword [rsp + 0x1c], edi
test r8d, r8d
je 0x1400642fb
movzx r10d, byte [rdx + 1]
shl edi, 8
mov esi, edi
or esi, r10d
mov dword [rsp + 0x1c], esi
cmp r8d, 1
je 0x1400642fb
movzx r10d, byte [rdx + 2]
shl esi, 8
or esi, r10d
mov dword [rsp + 0x1c], esi
cmp r8d, 2
je 0x1400642fb
movzx r10d, byte [rdx + 3]
shl esi, 8
mov ecx, esi
or ecx, r10d
mov dword [rsp + 0x1c], ecx
mov rbx, qword [rsp + 0x110]
lea rdx, [rdx + r8 + 1]
lea r10, [rbx - 1]
sub r10, r8
mov qword [rsp + 0x110], r10
je 0x140066093
mov edi, dword [rax + 0xc]
mov esi, dword [rax + 0x1c]
mov dword [rsp + 0x48], edi
mov edi, dword [rax + 0x10]
mov dword [rsp + 0x74], esi
mov esi, dword [rax + 0x24]
mov dword [rsp + 0x4c], edi
mov edi, dword [rax + 0x14]
mov dword [rsp + 0x34], esi
mov esi, dword [rax + 0x2c]
mov dword [rsp + 0x60], edi
mov edi, dword [rax + 0x18]
mov dword [rsp + 0x5c], esi
mov esi, dword [rax + 0x34]
mov dword [rsp + 0x84], edi
mov edi, dword [rax + 0x20]
mov dword [rsp + 0x88], esi
mov esi, dword [rax + 0x3c]
mov dword [rsp + 0x94], edi
mov edi, dword [rax + 0x28]
mov dword [rsp + 0x40], esi
mov esi, dword [rax + 0x44]
mov dword [rsp + 0x30], edi
mov edi, dword [rax + 0x30]
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x7c], edi
mov edi, dword [rax + 0x38]
mov dword [rsp + 0xa0], edi
mov edi, dword [rax + 0x40]
mov dword [rsp + 0x38], edi
mov edi, dword [rax + 0x48]
mov dword [rsp + 0x6c], edi
mov esi, dword [rax + 0x4c]
mov edi, dword [rax + 0x50]
mov ebx, dword [rax + 0x54]
mov r8d, dword [rax + 8]
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x8c], edi
mov esi, dword [rax + 0x58]
mov edi, dword [rax + 0x5c]
mov dword [rsp + 0x44], ebx
mov ebx, dword [rax + 0x60]
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x50], edi
mov esi, dword [rax + 0x64]
mov edi, dword [rax + 0x68]
mov dword [rsp + 0x80], ebx
mov ebx, dword [rax + 0x6c]
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x9c], edi
mov esi, dword [rax + 0x70]
mov edi, dword [rax + 0x74]
mov dword [rsp + 0x64], ebx
mov ebx, dword [rax + 0x78]
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x70], edi
mov esi, dword [rax + 0x7c]
mov edi, dword [rax + 0x80]
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0x90], esi
mov dword [rsp + 0xa4], edi
cmp r8d, 4
ja case.default.0x14006445c
lea r9, [0x1401bb7a0]
lea rbx, [0x1401bbfc0]
movsxd r8, dword [r9 + r8*4]
mov qword [rsp + 0x20], rbx
lea rbx, [0x1401bbbc0]
mov qword [rsp + 0x28], rbx
lea rbx, [0x1401bb7c0]
mov qword [rsp + 0x10], rbx
lea rbx, [0x1401bc3c0]
mov qword [rsp + 8], rbx
add r8, r9
jmp r8
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x110], 4
mov dword [rsp + 0x1c], ecx
add rdx, 4
mov edi, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x64]
xor dword [rsp + 0x4c], r10d
mov esi, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x84]
xor ebx, edi
mov r12d, dword [rsp + 0xa4]
mov edi, dword [rsp + 0x60]
mov dword [rsp + 0x88], ebx
mov ebx, dword [rsp + 0x1c]
xor dword [rsp + 0x5c], ebx
mov ebx, dword [rsp + 0x90]
xor r8d, esi
mov r14, qword [rsp + 0x20]
xor r12d, ecx
xor dword [rsp + 0x54], ecx
mov ecx, r8d
mov r11, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x10]
xor dword [rsp + 0x40], esi
mov esi, r8d
xor ebx, edi
xor dword [rsp + 0x38], edi
movzx edi, ch
shr esi, 0x10
mov rcx, qword [rsp + 8]
movzx r9d, sil
movzx r10d, bl
mov esi, dword [r14 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov r15d, dword [r11 + rdi*4]
mov edi, dword [rbp + r9*4]
mov r9d, dword [rcx + r8*4]
mov r8d, esi
mov dword [rsp + 0x90], esi
mov rsi, rbp
xor r8d, r15d
xor r9d, edi
mov r13d, r9d
xor r13d, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rcx + r8*4]
movzx ecx, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r11 + rcx*4]
mov r10d, dword [rbp + r10*4]
mov rcx, r14
mov r14d, dword [r14 + rbx*4]
movzx ebp, r12b
mov ebp, dword [rsi + rbp*4]
xor r14d, r9d
mov ebx, r14d
mov r14d, r8d
xor r14d, r10d
xor r10d, ebp
mov r11d, r14d
mov r14d, ebx
mov rbx, qword [rsp + 8]
xor r10d, edi
xor r14d, r11d
mov r11d, r12d
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, r12d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [rcx + r11*4]
mov ecx, r12d
movzx ecx, ch
xor r8d, ebx
xor ebx, ebp
mov rbp, qword [rsp + 8]
mov r12, rcx
mov rcx, qword [rsp + 0x28]
mov esi, dword [rcx + r12*4]
mov r12, qword [rsp + 0x20]
xor esi, r11d
xor ebx, esi
mov dword [rsp + 0x48], ebx
mov ebx, dword [rsp + 0x1c]
mov edi, ebx
mov esi, ebx
shr esi, 0x10
shr edi, 0x18
mov edi, dword [rbp + rdi*4]
movzx ebp, sil
mov esi, dword [rsp + 0x90]
mov ebp, dword [r12 + rbp*4]
xor r8d, edi
xor r11d, ebp
xor r11d, esi
movzx esi, bh
mov esi, dword [rcx + rsi*4]
movzx ecx, bl
mov ebx, dword [rsp + 0x48]
xor r9d, esi
xor ebp, esi
mov esi, r13d
xor r9d, r15d
mov r15, qword [rsp + 0x10]
xor esi, r8d
and esi, 0xff000000
mov dword [rsp + 0x98], esi
xor edi, dword [r15 + rcx*4]
mov ecx, r10d
mov r15d, esi
xor edi, ebp
mov ebp, r14d
xor ecx, edi
xor ebp, r11d
movzx ecx, cl
mov esi, ebp
or r15d, ecx
mov ecx, dword [rsp + 0x48]
and esi, 0xff0000
mov ebp, esi
mov dword [rsp + 0xa8], r15d
xor ecx, r9d
and ecx, 0xff00
or ebp, ecx
mov ecx, r8d
shl ecx, 8
mov dword [rsp + 0xac], ebp
mov ebp, r9d
mov esi, ecx
mov ecx, r10d
shl ebp, 8
shr ecx, 0x18
xor esi, r14d
xor ebp, edi
xor ecx, r13d
and esi, 0xff000000
and ebp, 0xff00
movzx ecx, cl
or esi, ecx
mov ecx, r11d
shl ecx, 8
mov r15d, esi
xor ecx, ebx
and ecx, 0xff0000
or ecx, ebp
mov ebp, r10d
or r15d, ecx
mov ecx, r11d
shl ecx, 0x10
mov dword [rsp + 0x90], r15d
mov esi, ecx
mov ecx, r9d
xor esi, edi
shr ecx, 0x10
and esi, 0xff0000
xor ecx, r13d
shr r11d, 8
shr r9d, 8
and ecx, 0xff00
shr r10d, 8
xor r11d, r13d
xor r9d, r14d
or esi, ecx
mov ecx, r8d
shl r8d, 0x18
xor r10d, ebx
shl ecx, 0x10
xor r8d, edi
and r11d, 0xff0000
and r9d, 0xff00
xor ecx, ebx
mov ebx, dword [rsp + 0x70]
and r8d, 0xff000000
movzx r10d, r10b
or r8d, r10d
or r9d, r11d
shr ebp, 0x10
mov r10d, dword [rsp + 0x64]
or r9d, r8d
xor ebp, r14d
and ecx, 0xff000000
xor dword [rsp + 0x7c], r15d
mov r8d, r9d
mov dword [rsp + 0x48], r9d
movzx ebp, bpl
xor ebx, r9d
or ecx, ebp
mov ebp, esi
mov r9d, dword [rsp + 0x88]
or ebp, ecx
xor r10d, r15d
mov ecx, r10d
mov dword [rsp + 0xa4], ebp
mov r10d, dword [rsp + 0x58]
movzx edi, ch
xor r9d, ebp
mov dword [rsp + 0x88], r9d
mov rsi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
xor r10d, ebp
xor dword [rsp + 0xa0], r8d
mov r8d, ecx
movzx r9d, r10b
shr r8d, 0x10
movzx r8d, r8b
mov r15d, dword [rsi + rdi*4]
mov rdi, qword [rsp + 8]
mov ebp, dword [r12 + r8*4]
movzx r8d, cl
shr ecx, 0x18
mov r9d, dword [r14 + r9*4]
mov r11d, dword [r14 + r8*4]
mov r8d, dword [rdi + rcx*4]
mov ecx, ebp
xor r8d, r11d
xor ecx, r15d
xor r8d, ecx
mov ecx, r10d
shr ecx, 0x18
mov r13d, r8d
mov r8, r14
mov ecx, dword [rdi + rcx*4]
mov dword [rsp + 0x10], ecx
mov ecx, r10d
shr r10d, 0x10
movzx edi, ch
movzx r10d, r10b
mov esi, dword [rsi + rdi*4]
mov ecx, dword [r12 + r10*4]
mov rdi, r12
mov r10d, dword [rsp + 0x10]
xor ecx, esi
mov dword [rsp + 0x1c], esi
movzx esi, bl
xor r10d, r9d
mov esi, dword [r8 + rsi*4]
xor ecx, r10d
mov r10d, ebx
mov r14d, ecx
mov rcx, qword [rsp + 8]
shr r10d, 0x18
xor r9d, esi
xor r9d, r11d
mov r11d, dword [rsp + 0x98]
mov r12d, dword [rcx + r10*4]
mov r10d, ebx
mov ecx, dword [rsp + 0x10]
movzx ebx, bh
shr r10d, 0x10
mov qword [rsp + 0x10], r8
movzx r10d, r10b
mov r10d, dword [rdi + r10*4]
mov rdi, qword [rsp + 0x28]
shr r11d, 0x18
xor ecx, r12d
xor r12d, esi
mov rsi, qword [rsp + 8]
mov r8d, dword [rdi + rbx*4]
mov r11d, dword [rsi + r11*4]
mov esi, dword [rsp + 0xa8]
xor r8d, r10d
mov edi, r8d
xor ecx, r11d
xor edi, r12d
mov r12d, dword [rsp + 0xac]
or esi, r12d
shr r12d, 0x10
mov ebx, r12d
mov r12, qword [rsp + 0x20]
mov r12d, dword [r12 + rbx*4]
mov ebx, esi
movzx esi, sil
xor r10d, r12d
xor r10d, ebp
movzx ebp, bh
mov rbx, qword [rsp + 0x28]
mov ebp, dword [rbx + rbp*4]
mov rbx, qword [rsp + 0x10]
mov r8d, dword [rsp + 0x1c]
xor r11d, dword [rbx + rsi*4]
mov ebx, r12d
mov esi, edi
xor ebx, ebp
xor r8d, ebp
mov ebp, r14d
xor r8d, r15d
xor esi, r8d
and esi, 0xff00
xor r11d, ebx
mov ebx, r9d
xor ebx, r11d
movzx ebx, bl
or esi, ebx
mov ebx, r13d
xor ebx, ecx
and ebx, 0xff000000
xor ebp, r10d
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
or esi, ebx
mov ebx, r8d
shr ebp, 0x18
mov dword [rsp + 0x64], esi
mov esi, r10d
shl ebx, 8
xor ebp, r13d
shl esi, 8
xor ebx, r11d
movzx ebp, bpl
xor esi, edi
and ebx, 0xff00
and esi, 0xff0000
or esi, ebx
mov ebx, ecx
shl ebx, 8
xor ebx, r14d
and ebx, 0xff000000
or ebx, ebp
mov ebp, r9d
or esi, ebx
mov ebx, r8d
shr ebp, 0x10
mov dword [rsp + 0x58], esi
mov esi, r10d
shr ebx, 0x10
xor ebp, r14d
shl esi, 0x10
xor ebx, r13d
movzx ebp, bpl
xor esi, r11d
and ebx, 0xff00
and esi, 0xff0000
or esi, ebx
mov ebx, ecx
shl ebx, 0x10
xor ebx, edi
and ebx, 0xff000000
or ebx, ebp
or esi, ebx
shr r10d, 8
shr r8d, 8
shl ecx, 0x18
shr r9d, 8
xor r10d, r13d
xor r8d, r14d
xor ecx, r11d
xor r9d, edi
and r10d, 0xff0000
and r8d, 0xff00
and ecx, 0xff000000
movzx r9d, r9b
or r8d, r10d
mov dword [rsp + 0x70], esi
or ecx, r9d
or r8d, ecx
cmp qword [rsp + 0x110], 4
mov dword [rsp + 0x98], r8d
mov r8d, 1
jbe case.default.0x14006445c
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x110], 4
mov dword [rsp + 0x1c], ecx
add rdx, 4
mov esi, dword [rsp + 0x64]
mov ebx, dword [rsp + 0x74]
mov r14d, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
mov edi, dword [rsp + 0x44]
xor dword [rsp + 0x58], edi
mov r8d, dword [rsp + 0x80]
mov r15d, dword [rsp + 0x9c]
xor ebx, esi
mov esi, dword [rsp + 0x58]
xor ecx, r14d
mov dword [rsp + 0x74], ebx
xor dword [rsp + 0x30], r14d
mov r14, qword [rsp + 0x20]
mov ebx, ecx
mov ecx, dword [rsp + 0x98]
mov r11, qword [rsp + 0x10]
xor r8d, esi
xor dword [rsp + 0x34], esi
mov r12d, dword [rsp + 0x1c]
mov rsi, qword [rsp + 8]
xor dword [rsp + 0x60], r12d
mov r9d, r8d
mov r12, qword [rsp + 0x28]
shr r9d, 0x10
xor r15d, ecx
xor dword [rsp + 0x5c], ecx
movzx r9d, r9b
mov ecx, r8d
mov r10d, dword [r14 + r9*4]
movzx edi, ch
movzx r9d, r8b
shr r8d, 0x18
mov r13d, dword [r11 + r9*4]
mov rcx, r11
mov ebp, dword [r12 + rdi*4]
mov edi, dword [rsi + r8*4]
mov r8d, r10d
mov dword [rsp + 0x64], r10d
movzx r10d, bl
xor r8d, ebp
xor edi, r13d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rsi + r8*4]
movzx esi, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r12 + rsi*4]
mov r10d, dword [r11 + r10*4]
mov r11d, dword [r14 + rbx*4]
mov rbx, qword [rsp + 8]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, r15d
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r14 + r11*4]
movzx r14d, r15b
mov r14d, dword [rcx + r14*4]
mov ecx, r15d
xor r8d, ebx
mov r15, qword [rsp + 8]
movzx ecx, ch
mov r12d, dword [r12 + rcx*4]
mov rcx, qword [rsp + 0x20]
xor ebx, r14d
xor r10d, r14d
xor r10d, r13d
xor r12d, r11d
xor ebx, r12d
mov r12d, dword [rsp + 0x1c]
mov r13d, r12d
shr r13d, 0x18
mov r13d, dword [r15 + r13*4]
mov r15d, r12d
shr r15d, 0x10
movzx r14d, r15b
mov r15, qword [rsp + 0x10]
mov r14d, dword [rcx + r14*4]
mov ecx, dword [rsp + 0x64]
xor r8d, r13d
xor r11d, r14d
xor r11d, ecx
mov ecx, r12d
movzx ecx, ch
mov r12, rcx
mov rcx, qword [rsp + 0x28]
mov r12d, dword [rcx + r12*4]
movzx ecx, byte [rsp + 0x1c]
xor r9d, r12d
xor r13d, dword [r15 + rcx*4]
xor r14d, r12d
mov r15d, edi
xor r9d, ebp
mov ebp, r10d
xor r15d, r8d
and r15d, 0xff000000
mov r12d, r9d
shl r12d, 8
xor r13d, r14d
xor ebp, r13d
xor r12d, r13d
movzx ecx, bpl
and r12d, 0xff00
mov ebp, ecx
mov ecx, ebx
or ebp, r15d
xor ecx, r9d
mov dword [rsp + 0x80], ebp
mov ebp, esi
and ecx, 0xff00
xor ebp, r11d
and ebp, 0xff0000
or ebp, ecx
mov ecx, r10d
mov dword [rsp + 0xa8], ebp
mov ebp, r8d
shr ecx, 0x18
shl ebp, 8
xor ecx, edi
xor ebp, esi
movzx ecx, cl
and ebp, 0xff000000
or ebp, ecx
mov ecx, r11d
shl ecx, 8
xor ecx, ebx
and ecx, 0xff0000
or ecx, r12d
mov r12d, r10d
or ebp, ecx
mov ecx, r9d
mov r14d, ebp
mov dword [rsp + 0x78], ebp
mov ebp, r11d
shr ecx, 0x10
shl ebp, 0x10
xor ebp, r13d
and ebp, 0xff0000
xor ecx, edi
shr r11d, 8
shr r9d, 8
and ecx, 0xff00
xor r11d, edi
xor r9d, esi
shr r10d, 8
or ebp, ecx
mov ecx, r8d
shl r8d, 0x18
and r11d, 0xff0000
xor r8d, r13d
xor r10d, ebx
and r9d, 0xff00
shl ecx, 0x10
or r9d, r11d
and r8d, 0xff000000
movzx r10d, r10b
shr r12d, 0x10
or r8d, r10d
mov r11d, r9d
xor ecx, ebx
xor r12d, esi
or r11d, r8d
mov ebx, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x50]
and ecx, 0xff000000
mov esi, dword [rsp + 0x44]
movzx r12d, r12b
xor dword [rsp + 0x84], r14d
mov dword [rsp + 0x64], r11d
or ecx, r12d
mov r12d, ebp
mov r10d, dword [rsp + 0x3c]
or r12d, ecx
xor r8d, r11d
xor ebx, r12d
mov dword [rsp + 0x9c], r12d
xor esi, r14d
mov dword [rsp + 0x1c], r8d
mov dword [rsp + 0x74], ebx
xor dword [rsp + 0x94], r11d
mov r8d, esi
mov ecx, esi
xor r10d, r12d
mov rbp, qword [rsp + 0x20]
shr r8d, 0x10
movzx edi, ch
mov ebx, r10d
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
movzx r8d, r8b
movzx r9d, r10b
mov r12, qword [rsp + 8]
mov r13d, dword [rbp + r8*4]
movzx r8d, cl
shr ecx, 0x18
mov esi, dword [r11 + rdi*4]
mov edi, dword [r14 + r8*4]
mov r9d, dword [r14 + r9*4]
mov dword [rsp + 0x44], edi
xor edi, dword [r12 + rcx*4]
mov ecx, r13d
mov dword [rsp + 0x3c], esi
xor ecx, esi
movzx esi, bh
mov r8d, dword [r11 + rsi*4]
mov ebx, dword [rsp + 0x1c]
xor edi, ecx
mov ecx, r10d
shr r10d, 0x10
shr ecx, 0x18
movzx r10d, r10b
shr ebx, 0x18
mov ecx, dword [r12 + rcx*4]
mov esi, dword [rbp + r10*4]
mov r10d, ecx
xor esi, r8d
xor r10d, r9d
xor esi, r10d
mov r10d, ebx
mov ebx, dword [rsp + 0x1c]
mov r12d, dword [r12 + r10*4]
shr ebx, 0x10
movzx r10d, bl
mov ebx, dword [rsp + 0x1c]
xor ecx, r12d
mov r10d, dword [rbp + r10*4]
movzx ebp, byte [rsp + 0x1c]
movzx ebx, bh
mov ebp, dword [r14 + rbp*4]
mov r14, r11
mov r11d, dword [r11 + rbx*4]
xor r11d, r10d
xor r12d, ebp
xor r9d, ebp
mov ebx, r11d
mov r11d, dword [rsp + 0x44]
xor ebx, r12d
mov r12, qword [rsp + 8]
xor r9d, r11d
mov r11d, r15d
mov r15d, dword [rsp + 0xa8]
shr r11d, 0x18
mov r11d, dword [r12 + r11*4]
mov r12d, dword [rsp + 0x80]
xor ecx, r11d
or r12d, r15d
shr r15d, 0x10
mov dword [rsp + 0x1c], ecx
mov rcx, qword [rsp + 0x20]
mov ebp, r15d
mov ebp, dword [rcx + rbp*4]
mov ecx, r12d
movzx r12d, r12b
movzx ecx, ch
xor r10d, ebp
xor r10d, r13d
mov r13d, dword [r14 + rcx*4]
mov r14d, dword [rsp + 0x3c]
mov r15d, dword [rsp + 0x1c]
xor r8d, r13d
xor ebp, r13d
mov r13d, esi
xor r8d, r14d
mov r14, qword [rsp + 0x10]
mov ecx, r15d
xor r11d, dword [r14 + r12*4]
mov r12d, ebx
xor r12d, r8d
and r12d, 0xff00
xor r11d, ebp
mov ebp, r9d
xor ebp, r11d
movzx ebp, bpl
or r12d, ebp
mov ebp, edi
xor ebp, r15d
and ebp, 0xff000000
xor r13d, r10d
shl ecx, 8
and r13d, 0xff0000
or ebp, r13d
mov r13d, r9d
or r12d, ebp
mov ebp, r8d
shr r13d, 0x18
mov dword [rsp + 0x44], r12d
mov r12d, r10d
shl ebp, 8
xor r13d, edi
shl r12d, 8
xor ebp, r11d
movzx r13d, r13b
xor r12d, ebx
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, ecx
mov ecx, r15d
xor ebp, esi
shl ecx, 0x10
and ebp, 0xff000000
or ebp, r13d
mov r13d, r9d
or r12d, ebp
mov ebp, r8d
shr r13d, 0x10
mov dword [rsp + 0x3c], r12d
mov r12d, r10d
shr ebp, 0x10
xor r13d, esi
shl r12d, 0x10
xor ebp, edi
movzx r13d, r13b
xor r12d, r11d
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, ecx
mov ecx, r15d
xor ebp, ebx
and ebp, 0xff000000
or ebp, r13d
or r12d, ebp
shr r10d, 8
shr r8d, 8
shl ecx, 0x18
shr r9d, 8
xor r10d, edi
xor r8d, esi
xor ecx, r11d
xor r9d, ebx
and r10d, 0xff0000
and r8d, 0xff00
and ecx, 0xff000000
movzx r9d, r9b
or r8d, r10d
mov dword [rsp + 0x50], r12d
or ecx, r9d
or r8d, ecx
cmp qword [rsp + 0x110], 4
mov dword [rsp + 0x80], r8d
mov r8d, 2
jbe case.default.0x14006445c
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x110], 4
mov dword [rsp + 0x1c], ecx
add rdx, 4
mov ecx, dword [rsp + 0x1c]
xor dword [rsp + 0x70], ecx
mov ecx, dword [rsp + 0x40]
xor dword [rsp + 0x3c], ecx
mov esi, dword [rsp + 0x90]
mov edi, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x6c]
mov r15d, dword [rsp + 0x68]
xor dword [rsp + 0x4c], r14d
mov r10d, dword [rsp + 0x80]
mov rbp, qword [rsp + 0x28]
mov r11, qword [rsp + 0x10]
xor ebx, esi
mov rsi, qword [rsp + 8]
xor r8d, edi
xor r15d, r14d
mov r14, qword [rsp + 0x20]
mov dword [rsp + 0x90], ebx
mov r9d, r8d
mov ebx, r15d
mov r15d, dword [rsp + 0x8c]
mov ecx, r8d
shr r9d, 0x10
xor dword [rsp + 0x48], edi
movzx edi, ch
xor dword [rsp + 0x60], r10d
movzx r9d, r9b
mov rcx, r11
mov r12d, dword [r14 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
xor r15d, r10d
mov r13d, dword [r11 + r9*4]
mov r10d, dword [rbp + rdi*4]
mov edi, dword [rsi + r8*4]
mov r8d, r12d
xor r8d, r10d
mov dword [rsp + 0x44], r10d
movzx r10d, bl
xor edi, r13d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rsi + r8*4]
movzx esi, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [rbp + rsi*4]
mov r10d, dword [r11 + r10*4]
mov r11d, dword [r14 + rbx*4]
mov rbx, qword [rsp + 8]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, r15d
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r14 + r11*4]
movzx r14d, r15b
mov r14d, dword [rcx + r14*4]
mov ecx, r15d
mov r15, qword [rsp + 8]
xor r8d, ebx
movzx ecx, ch
mov ebp, dword [rbp + rcx*4]
mov ecx, dword [rsp + 0x1c]
xor r10d, r14d
xor ebx, r14d
xor r10d, r13d
mov r13d, ecx
xor ebp, r11d
shr r13d, 0x18
xor ebx, ebp
mov ebp, ecx
movzx ecx, ch
mov r13d, dword [r15 + r13*4]
mov r15, qword [rsp + 0x20]
shr ebp, 0x10
movzx r14d, bpl
mov ebp, dword [rsp + 0x44]
mov r14d, dword [r15 + r14*4]
xor r8d, r13d
xor r11d, r14d
xor r11d, r12d
mov r12, rcx
mov rcx, qword [rsp + 0x28]
mov r12d, dword [rcx + r12*4]
movzx ecx, byte [rsp + 0x1c]
xor r9d, r12d
xor r14d, r12d
mov r12d, r8d
xor r9d, ebp
mov rbp, qword [rsp + 0x10]
shl r12d, 8
xor r13d, dword [rbp + rcx*4]
mov ebp, r10d
xor r13d, r14d
mov r14d, edi
xor r14d, r8d
xor ebp, r13d
and r14d, 0xff000000
movzx ecx, bpl
mov dword [rsp + 0x6c], r14d
mov ebp, r14d
mov r14d, esi
or ebp, ecx
xor r14d, r11d
mov dword [rsp + 0xa8], ebp
mov ebp, r14d
mov r14d, ebx
xor r14d, r9d
and ebp, 0xff0000
mov ecx, r14d
mov r14d, ebp
mov ebp, r12d
mov r12d, r10d
and ecx, 0xff00
shr r12d, 0x18
xor ebp, esi
or r14d, ecx
mov ecx, r12d
mov r12d, r11d
and ebp, 0xff000000
xor ecx, edi
shl r12d, 8
mov dword [rsp + 0xac], r14d
movzx ecx, cl
or ebp, ecx
mov ecx, r12d
mov r12d, r9d
shl r12d, 8
xor ecx, ebx
mov r14d, ebp
xor r12d, r13d
and ecx, 0xff0000
and r12d, 0xff00
or ecx, r12d
mov r12d, r11d
shl r12d, 0x10
or r14d, ecx
mov ebp, r12d
mov r12d, r9d
mov dword [rsp + 0x68], r14d
shr r12d, 0x10
xor ebp, r13d
mov ecx, r12d
and ebp, 0xff0000
mov r12d, r8d
xor ecx, edi
shl r12d, 0x10
shr r11d, 8
shr r9d, 8
and ecx, 0xff00
xor r11d, edi
xor r9d, esi
shl r8d, 0x18
or ebp, ecx
mov ecx, r12d
mov r12d, r10d
shr r10d, 8
and r11d, 0xff0000
xor r8d, r13d
xor r10d, ebx
shr r12d, 0x10
and r9d, 0xff00
xor ecx, ebx
xor r12d, esi
and r8d, 0xff000000
or r9d, r11d
mov esi, dword [rsp + 0x90]
mov r11d, dword [rsp + 0x38]
movzx r10d, r10b
or r8d, r10d
and ecx, 0xff000000
movzx r12d, r12b
mov ebx, r9d
or ecx, r12d
or ebx, r8d
mov r12d, ebp
xor dword [rsp + 0x98], r14d
or r12d, ecx
mov r8d, ebx
mov dword [rsp + 0x44], ebx
mov ebx, dword [rsp + 0x40]
xor r11d, r12d
xor esi, r12d
mov dword [rsp + 0x8c], r12d
mov ecx, r11d
mov dword [rsp + 0x90], esi
mov r11d, dword [rsp + 0x54]
xor dword [rsp + 0xa4], r8d
mov r9, qword [rsp + 0x28]
xor ebx, r14d
mov r12, qword [rsp + 0x10]
movzx edi, bh
xor r11d, r8d
mov r8d, ebx
shr r8d, 0x10
mov r14d, dword [r9 + rdi*4]
mov rdi, qword [rsp + 8]
movzx r8d, r8b
mov r13d, dword [r15 + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov ebp, dword [r12 + r8*4]
mov esi, dword [rdi + rbx*4]
mov r8d, r13d
xor esi, ebp
xor r8d, r14d
xor esi, r8d
mov r8d, ecx
shr r8d, 0x18
mov r10d, dword [rdi + r8*4]
movzx edi, ch
movzx r8d, cl
shr ecx, 0x10
movzx ecx, cl
mov r9d, dword [r9 + rdi*4]
mov r8d, dword [r12 + r8*4]
mov rdi, r15
mov ebx, dword [r15 + rcx*4]
mov r15, qword [rsp + 8]
mov ecx, r10d
xor ecx, r8d
xor ebx, r9d
xor ebx, ecx
mov ecx, r11d
shr ecx, 0x18
mov dword [rsp + 0x1c], ebx
mov ebx, r11d
mov r15d, dword [r15 + rcx*4]
mov ecx, r11d
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rdi + rcx*4]
movzx edi, r11b
mov r11d, dword [rsp + 0x6c]
mov r12d, dword [r12 + rdi*4]
movzx edi, bh
mov rbx, qword [rsp + 0x28]
xor r10d, r15d
shr r11d, 0x18
mov edi, dword [rbx + rdi*4]
xor r8d, r12d
xor r15d, r12d
xor r8d, ebp
mov rbp, qword [rsp + 8]
xor edi, ecx
xor edi, r15d
mov r11d, dword [rbp + r11*4]
mov r15d, dword [rsp + 0xac]
mov ebp, dword [rsp + 0xa8]
xor r10d, r11d
or ebp, r15d
mov r12d, ebp
mov ebp, r15d
mov r15, qword [rsp + 0x20]
shr ebp, 0x10
mov ebx, r12d
movzx r12d, r12b
movzx ebx, bh
mov ebp, dword [r15 + rbp*4]
mov r15d, dword [rsp + 0x1c]
xor ecx, ebp
xor ecx, r13d
mov r13, rbx
mov rbx, qword [rsp + 0x28]
mov r13d, dword [rbx + r13*4]
mov rbx, qword [rsp + 0x10]
xor r11d, dword [rbx + r12*4]
xor ebp, r13d
xor r9d, r13d
mov r12d, edi
xor r9d, r14d
mov ebx, r15d
xor r12d, r9d
and r12d, 0xff00
xor r11d, ebp
mov ebp, r8d
xor ebp, r11d
movzx ebp, bpl
or r12d, ebp
mov ebp, esi
xor ebp, r10d
and ebp, 0xff000000
xor ebx, ecx
mov r13d, ebx
and r13d, 0xff0000
or ebp, r13d
mov r13d, r8d
or r12d, ebp
mov ebp, r9d
shr r13d, 0x18
mov dword [rsp + 0x40], r12d
mov r12d, ecx
shl ebp, 8
xor r13d, esi
shl r12d, 8
xor ebp, r11d
movzx r13d, r13b
xor r12d, edi
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, r15d
and ebp, 0xff000000
or ebp, r13d
mov r13d, r8d
or r12d, ebp
mov ebp, r9d
shr r13d, 0x10
mov dword [rsp + 0x38], r12d
mov r12d, ecx
shr ebp, 0x10
xor r13d, r15d
shl r12d, 0x10
xor ebp, esi
movzx r13d, r13b
xor r12d, r11d
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, r10d
shl ebp, 0x10
xor ebp, edi
and ebp, 0xff000000
or ebp, r13d
or r12d, ebp
shl r10d, 0x18
shr r8d, 8
shr ecx, 8
shr r9d, 8
xor r10d, r11d
xor r8d, edi
xor ecx, esi
xor r9d, r15d
and r10d, 0xff000000
and ecx, 0xff0000
movzx r8d, r8b
and r9d, 0xff00
or r8d, r10d
mov dword [rsp + 0x54], r12d
or ecx, r9d
or r8d, ecx
cmp qword [rsp + 0x110], 4
mov dword [rsp + 0x6c], r8d
mov r8d, 3
jbe case.default.0x14006445c
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x110], 4
mov dword [rsp + 0x1c], ecx
add rdx, 4
mov esi, dword [rsp + 0x78]
mov ebx, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0xa0]
xor dword [rsp + 0x58], r14d
mov r11, qword [rsp + 0x10]
xor ebx, esi
mov esi, dword [rsp + 0x34]
xor dword [rsp + 0x38], esi
mov edi, dword [rsp + 0x38]
xor ecx, r14d
mov dword [rsp + 0x78], ebx
mov ebx, ecx
mov ecx, dword [rsp + 0x6c]
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 8]
mov r12d, dword [rsp + 0x1c]
xor r8d, edi
xor dword [rsp + 0x50], r12d
mov r12, qword [rsp + 0x28]
mov r9d, r8d
xor dword [rsp + 0x70], ecx
xor dword [rsp + 0x64], edi
shr r9d, 0x10
xor r15d, ecx
movzx r9d, r9b
mov ecx, r8d
mov r10d, dword [r14 + r9*4]
movzx edi, ch
movzx r9d, r8b
shr r8d, 0x18
mov ebp, dword [r12 + rdi*4]
mov r13d, dword [r11 + r9*4]
mov rcx, r11
mov edi, dword [rsi + r8*4]
mov r8d, r10d
mov dword [rsp + 0x40], r10d
movzx r10d, bl
xor r8d, ebp
xor edi, r13d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rsi + r8*4]
movzx esi, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r12 + rsi*4]
mov r10d, dword [r11 + r10*4]
mov r11d, dword [r14 + rbx*4]
mov rbx, qword [rsp + 8]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, r15d
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r14 + r11*4]
movzx r14d, r15b
mov r14d, dword [rcx + r14*4]
mov ecx, r15d
xor r8d, ebx
mov r15, qword [rsp + 8]
movzx ecx, ch
mov r12d, dword [r12 + rcx*4]
mov rcx, qword [rsp + 0x20]
xor ebx, r14d
xor r10d, r14d
xor r10d, r13d
xor r12d, r11d
xor ebx, r12d
mov r12d, dword [rsp + 0x1c]
mov r13d, r12d
shr r13d, 0x18
mov r13d, dword [r15 + r13*4]
mov r15d, r12d
shr r15d, 0x10
movzx r14d, r15b
mov r15, qword [rsp + 0x10]
mov r14d, dword [rcx + r14*4]
mov ecx, dword [rsp + 0x40]
xor r8d, r13d
xor r11d, r14d
xor r11d, ecx
mov ecx, r12d
movzx ecx, ch
mov r12, rcx
mov rcx, qword [rsp + 0x28]
mov r12d, dword [rcx + r12*4]
movzx ecx, byte [rsp + 0x1c]
xor r9d, r12d
xor r13d, dword [r15 + rcx*4]
mov ecx, edi
xor r14d, r12d
xor ecx, r8d
xor r9d, ebp
mov ebp, esi
and ecx, 0xff000000
xor ebp, r11d
mov r12d, r9d
mov r15d, ecx
mov ecx, r10d
and ebp, 0xff0000
shl r12d, 8
xor r13d, r14d
xor ecx, r13d
xor r12d, r13d
movzx ecx, cl
and r12d, 0xff00
or ecx, r15d
mov dword [rsp + 0x7c], ecx
mov ecx, ebx
xor ecx, r9d
and ecx, 0xff00
or ebp, ecx
mov ecx, r10d
mov dword [rsp + 0xa8], ebp
mov ebp, r8d
shr ecx, 0x18
shl ebp, 8
xor ecx, edi
xor ebp, esi
movzx ecx, cl
and ebp, 0xff000000
or ebp, ecx
mov ecx, r11d
shl ecx, 8
xor ecx, ebx
and ecx, 0xff0000
or ecx, r12d
mov r12d, r10d
or ebp, ecx
mov ecx, r9d
mov r14d, ebp
mov dword [rsp + 0x88], ebp
mov ebp, r11d
shr ecx, 0x10
shl ebp, 0x10
xor ebp, r13d
and ebp, 0xff0000
xor ecx, edi
shr r11d, 8
shr r9d, 8
and ecx, 0xff00
xor r11d, edi
xor r9d, esi
shr r10d, 8
or ebp, ecx
mov ecx, r8d
shl r8d, 0x18
and r11d, 0xff0000
xor r8d, r13d
xor r10d, ebx
and r9d, 0xff00
shl ecx, 0x10
or r9d, r11d
and r8d, 0xff000000
movzx r10d, r10b
shr r12d, 0x10
or r8d, r10d
mov r11d, r9d
xor ecx, ebx
xor r12d, esi
or r11d, r8d
mov ebx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x5c]
and ecx, 0xff000000
mov esi, dword [rsp + 0x34]
movzx r12d, r12b
mov r10d, dword [rsp + 0x30]
mov dword [rsp + 0x40], r11d
or ecx, r12d
mov r12d, ebp
xor dword [rsp + 0x80], r14d
or r12d, ecx
xor r8d, r11d
xor ebx, r12d
mov dword [rsp + 0xa0], r12d
xor esi, r14d
mov dword [rsp + 0x1c], r8d
mov dword [rsp + 0x78], ebx
xor dword [rsp + 0x9c], r11d
xor r10d, r12d
mov r8d, esi
mov ecx, esi
mov rbp, qword [rsp + 0x20]
shr r8d, 0x10
movzx edi, ch
shr ecx, 0x18
mov r9, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
movzx r8d, r8b
mov r12, qword [rsp + 8]
mov r13d, dword [rbp + r8*4]
movzx r8d, sil
mov r11d, dword [r9 + rdi*4]
mov esi, dword [r14 + r8*4]
mov edi, dword [r12 + rcx*4]
mov ebx, r13d
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x30], r11d
xor edi, esi
xor ebx, r11d
mov r11, r9
xor edi, ebx
mov ebx, r10d
shr ebx, 0x18
mov ecx, ebx
mov ebx, r10d
movzx esi, bh
mov ecx, dword [r12 + rcx*4]
mov ebx, dword [rsp + 0x1c]
mov r8d, dword [r9 + rsi*4]
movzx r9d, r10b
shr r10d, 0x10
movzx r10d, r10b
mov r9d, dword [r14 + r9*4]
mov esi, dword [rbp + r10*4]
mov r10d, ecx
shr ebx, 0x18
xor r10d, r9d
xor esi, r8d
xor esi, r10d
mov r10d, ebx
mov ebx, dword [rsp + 0x1c]
mov r12d, dword [r12 + r10*4]
shr ebx, 0x10
movzx r10d, bl
mov ebx, dword [rsp + 0x1c]
xor ecx, r12d
mov r10d, dword [rbp + r10*4]
movzx ebp, byte [rsp + 0x1c]
movzx ebx, bh
mov ebp, dword [r14 + rbp*4]
mov r14, r11
mov r11d, dword [r11 + rbx*4]
xor r11d, r10d
xor r12d, ebp
xor r9d, ebp
mov ebx, r11d
mov r11d, dword [rsp + 0x34]
xor ebx, r12d
mov r12, qword [rsp + 8]
xor r9d, r11d
mov r11d, r15d
mov r15d, dword [rsp + 0xa8]
shr r11d, 0x18
mov r11d, dword [r12 + r11*4]
mov r12d, dword [rsp + 0x7c]
xor ecx, r11d
or r12d, r15d
shr r15d, 0x10
mov dword [rsp + 0x1c], ecx
mov rcx, qword [rsp + 0x20]
mov ebp, r15d
mov ebp, dword [rcx + rbp*4]
mov ecx, r12d
movzx r12d, r12b
movzx ecx, ch
xor r10d, ebp
xor r10d, r13d
mov r13d, dword [r14 + rcx*4]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x1c]
xor r8d, r13d
xor ebp, r13d
mov r13d, esi
xor r8d, r14d
mov r14, qword [rsp + 0x10]
mov ecx, r15d
xor r11d, dword [r14 + r12*4]
mov r12d, ebx
xor r12d, r8d
and r12d, 0xff00
xor r11d, ebp
mov ebp, r9d
xor ebp, r11d
movzx ebp, bpl
or r12d, ebp
mov ebp, edi
xor ebp, r15d
and ebp, 0xff000000
xor r13d, r10d
shl ecx, 8
and r13d, 0xff0000
or ebp, r13d
mov r13d, r9d
or r12d, ebp
mov ebp, r8d
shr r13d, 0x18
mov dword [rsp + 0x34], r12d
mov r12d, r10d
shl ebp, 8
xor r13d, edi
shl r12d, 8
xor ebp, r11d
movzx r13d, r13b
xor r12d, ebx
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, ecx
mov ecx, r15d
xor ebp, esi
shl ecx, 0x10
and ebp, 0xff000000
or ebp, r13d
mov r13d, r9d
or r12d, ebp
mov ebp, r8d
shr r13d, 0x10
mov dword [rsp + 0x30], r12d
mov r12d, r10d
shr ebp, 0x10
xor r13d, esi
shl r12d, 0x10
xor ebp, edi
movzx r13d, r13b
xor r12d, r11d
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, ecx
mov ecx, r15d
xor ebp, ebx
and ebp, 0xff000000
or ebp, r13d
or r12d, ebp
shr r10d, 8
shr r8d, 8
shl ecx, 0x18
shr r9d, 8
xor r10d, edi
xor r8d, esi
xor ecx, r11d
xor r9d, ebx
and r10d, 0xff0000
and r8d, 0xff00
and ecx, 0xff000000
movzx r9d, r9b
or r8d, r10d
mov dword [rsp + 0x5c], r12d
or ecx, r9d
or r8d, ecx
cmp qword [rsp + 0x110], 4
mov dword [rsp + 0x7c], r8d
mov r8d, 4
jbe case.default.0x14006445c
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x110], 4
mov dword [rsp + 0x1c], ecx
add rdx, 4
mov esi, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x74]
mov edi, dword [rsp + 0x48]
xor dword [rsp + 0x30], edi
mov r8d, dword [rsp + 0x84]
mov r15d, dword [rsp + 0x94]
xor ebx, esi
mov esi, dword [rsp + 0x30]
xor ecx, r14d
mov dword [rsp + 0x68], ebx
xor dword [rsp + 0x3c], r14d
mov r14, qword [rsp + 0x20]
mov ebx, ecx
mov ecx, dword [rsp + 0x7c]
mov r11, qword [rsp + 0x10]
xor r8d, esi
xor dword [rsp + 0x44], esi
mov r12d, dword [rsp + 0x1c]
mov rsi, qword [rsp + 8]
xor dword [rsp + 0x54], r12d
mov r9d, r8d
mov r12, qword [rsp + 0x28]
shr r9d, 0x10
xor r15d, ecx
xor dword [rsp + 0x50], ecx
movzx r9d, r9b
mov ecx, r8d
mov r10d, dword [r14 + r9*4]
movzx edi, ch
movzx r9d, r8b
shr r8d, 0x18
mov r13d, dword [r11 + r9*4]
mov rcx, r11
mov ebp, dword [r12 + rdi*4]
mov edi, dword [rsi + r8*4]
mov r8d, r10d
mov dword [rsp + 0x34], r10d
movzx r10d, bl
xor r8d, ebp
xor edi, r13d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rsi + r8*4]
movzx esi, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r12 + rsi*4]
mov r10d, dword [r11 + r10*4]
mov r11d, dword [r14 + rbx*4]
mov rbx, qword [rsp + 8]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, r15d
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r14 + r11*4]
movzx r14d, r15b
mov r14d, dword [rcx + r14*4]
mov ecx, r15d
xor r8d, ebx
mov r15, qword [rsp + 8]
movzx ecx, ch
mov r12d, dword [r12 + rcx*4]
mov rcx, qword [rsp + 0x20]
xor ebx, r14d
xor r10d, r14d
xor r10d, r13d
xor r12d, r11d
xor ebx, r12d
mov r12d, dword [rsp + 0x1c]
mov r13d, r12d
shr r13d, 0x18
mov r13d, dword [r15 + r13*4]
mov r15d, r12d
shr r15d, 0x10
movzx r14d, r15b
mov r15, qword [rsp + 0x10]
mov r14d, dword [rcx + r14*4]
mov ecx, dword [rsp + 0x34]
xor r8d, r13d
xor r11d, r14d
xor r11d, ecx
mov ecx, r12d
movzx ecx, ch
mov r12, rcx
mov rcx, qword [rsp + 0x28]
mov r12d, dword [rcx + r12*4]
movzx ecx, byte [rsp + 0x1c]
xor r9d, r12d
xor r13d, dword [r15 + rcx*4]
xor r14d, r12d
mov r15d, edi
xor r9d, ebp
mov ebp, r10d
xor r15d, r8d
and r15d, 0xff000000
mov r12d, r9d
shl r12d, 8
xor r13d, r14d
xor ebp, r13d
xor r12d, r13d
movzx ecx, bpl
and r12d, 0xff00
mov ebp, ecx
mov ecx, ebx
or ebp, r15d
xor ecx, r9d
mov dword [rsp + 0x84], ebp
mov ebp, esi
and ecx, 0xff00
xor ebp, r11d
and ebp, 0xff0000
or ebp, ecx
mov ecx, r10d
mov dword [rsp + 0xa8], ebp
mov ebp, r8d
shr ecx, 0x18
shl ebp, 8
xor ecx, edi
xor ebp, esi
movzx ecx, cl
and ebp, 0xff000000
or ebp, ecx
mov ecx, r11d
shl ecx, 8
xor ecx, ebx
and ecx, 0xff0000
or ecx, r12d
mov r12d, r10d
or ebp, ecx
mov ecx, r9d
mov r14d, ebp
mov dword [rsp + 0x74], ebp
mov ebp, r11d
shr ecx, 0x10
shl ebp, 0x10
xor ebp, r13d
and ebp, 0xff0000
xor ecx, edi
shr r11d, 8
shr r9d, 8
and ecx, 0xff00
xor r11d, edi
xor r9d, esi
shr r10d, 8
or ebp, ecx
mov ecx, r8d
shl r8d, 0x18
and r11d, 0xff0000
xor r8d, r13d
xor r10d, ebx
and r9d, 0xff00
shl ecx, 0x10
or r9d, r11d
and r8d, 0xff000000
movzx r10d, r10b
shr r12d, 0x10
or r8d, r10d
mov r11d, r9d
xor ecx, ebx
xor r12d, esi
or r11d, r8d
mov ebx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x60]
and ecx, 0xff000000
mov esi, dword [rsp + 0x48]
movzx r12d, r12b
xor dword [rsp + 0x6c], r14d
mov dword [rsp + 0x34], r11d
or ecx, r12d
mov r12d, ebp
mov r10d, dword [rsp + 0x4c]
or r12d, ecx
xor r8d, r11d
xor ebx, r12d
mov dword [rsp + 0x94], r12d
xor esi, r14d
mov dword [rsp + 0x1c], r8d
mov dword [rsp + 0x68], ebx
xor dword [rsp + 0x8c], r11d
mov r8d, esi
mov ecx, esi
xor r10d, r12d
mov rbp, qword [rsp + 0x20]
shr r8d, 0x10
movzx edi, ch
mov ebx, r10d
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
movzx r8d, r8b
movzx r9d, r10b
mov r12, qword [rsp + 8]
mov r13d, dword [rbp + r8*4]
movzx r8d, cl
shr ecx, 0x18
mov esi, dword [r11 + rdi*4]
mov edi, dword [r14 + r8*4]
mov r9d, dword [r14 + r9*4]
mov dword [rsp + 0x4c], edi
xor edi, dword [r12 + rcx*4]
mov ecx, r13d
mov dword [rsp + 0x48], esi
xor ecx, esi
movzx esi, bh
mov r8d, dword [r11 + rsi*4]
mov ebx, dword [rsp + 0x1c]
xor edi, ecx
mov ecx, r10d
shr r10d, 0x10
shr ecx, 0x18
movzx r10d, r10b
shr ebx, 0x18
mov ecx, dword [r12 + rcx*4]
mov esi, dword [rbp + r10*4]
mov r10d, ecx
xor esi, r8d
xor r10d, r9d
xor esi, r10d
mov r10d, ebx
mov ebx, dword [rsp + 0x1c]
mov r12d, dword [r12 + r10*4]
shr ebx, 0x10
movzx r10d, bl
mov ebx, dword [rsp + 0x1c]
xor ecx, r12d
mov r10d, dword [rbp + r10*4]
movzx ebp, byte [rsp + 0x1c]
movzx ebx, bh
mov ebp, dword [r14 + rbp*4]
mov r14, r11
mov r11d, dword [r11 + rbx*4]
xor r11d, r10d
xor r12d, ebp
xor r9d, ebp
mov ebx, r11d
mov r11d, dword [rsp + 0x4c]
xor ebx, r12d
mov r12, qword [rsp + 8]
xor r9d, r11d
mov r11d, r15d
mov r15d, dword [rsp + 0xa8]
shr r11d, 0x18
mov r11d, dword [r12 + r11*4]
mov r12d, dword [rsp + 0x84]
xor ecx, r11d
or r12d, r15d
shr r15d, 0x10
mov dword [rsp + 0x1c], ecx
mov rcx, qword [rsp + 0x20]
mov ebp, r15d
mov ebp, dword [rcx + rbp*4]
mov ecx, r12d
movzx r12d, r12b
movzx ecx, ch
xor r10d, ebp
xor r10d, r13d
mov r13d, dword [r14 + rcx*4]
mov r14d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x1c]
xor r8d, r13d
xor ebp, r13d
mov r13d, r9d
xor r8d, r14d
mov r14, qword [rsp + 0x10]
mov ecx, r15d
xor r11d, dword [r14 + r12*4]
mov r12d, edi
xor r12d, r15d
and r12d, 0xff000000
xor r11d, ebp
mov ebp, esi
xor ebp, r10d
and ebp, 0xff0000
or r12d, ebp
mov ebp, ebx
xor ebp, r8d
xor r13d, r11d
shl ecx, 8
and ebp, 0xff00
movzx r13d, r13b
or ebp, r13d
mov r13d, r9d
or r12d, ebp
mov ebp, r8d
shr r13d, 0x18
mov dword [rsp + 0x48], r12d
mov r12d, r10d
shl ebp, 8
xor r13d, edi
shl r12d, 8
xor ebp, r11d
movzx r13d, r13b
xor r12d, ebx
and ebp, 0xff00
and r12d, 0xff0000
or r12d, ebp
mov ebp, ecx
mov ecx, r15d
xor ebp, esi
shl ecx, 0x10
and ebp, 0xff000000
or ebp, r13d
mov r13d, r8d
or r12d, ebp
mov ebp, r9d
shr r13d, 0x10
shr ebp, 0x10
mov dword [rsp + 0x4c], r12d
mov r12d, ecx
xor r13d, edi
xor r12d, ebx
xor ebp, esi
and r13d, 0xff00
mov ecx, r15d
and r12d, 0xff000000
movzx ebp, bpl
or r12d, ebp
mov ebp, r10d
shl ebp, 0x10
xor ebp, r11d
and ebp, 0xff0000
or ebp, r13d
or r12d, ebp
shr r10d, 8
shr r8d, 8
shl ecx, 0x18
shr r9d, 8
xor r10d, edi
xor r8d, esi
xor ecx, r11d
xor r9d, ebx
and r10d, 0xff0000
and r8d, 0xff00
and ecx, 0xff000000
movzx r9d, r9b
or r8d, r10d
mov dword [rsp + 0x60], r12d
or ecx, r9d
or r8d, ecx
mov dword [rsp + 0x84], r8d
xor r8d, r8d
cmp qword [rsp + 0x110], 4
ja 0x140064460
vmovd xmm2, dword [rsp + 0x58]
vmovd xmm3, dword [rsp + 0x9c]
vpinsrd xmm1, xmm2, dword [rsp + 0x70], 1
vpinsrd xmm0, xmm3, dword [rsp + 0x64], 1
cmp qword [rsp + 0x110], 0
mov edi, dword [rsp + 0x110]
mov dword [rax + 4], edi
vpunpcklqdq xmm0, xmm0, xmm1
je 0x1400660d0
mov r9, qword [rsp + 0x110]
xor ecx, ecx
add r9, rdx
nop dword [rax + rax]
movzx r10d, byte [rdx]
shl ecx, 8
inc rdx
or ecx, r10d
cmp r9, rdx
jne 0x140065f70
mov edx, dword [rsp + 0x48]
mov dword [rax], ecx
mov dword [rax + 8], r8d
mov dword [rax + 0xc], edx
mov edx, dword [rsp + 0x4c]
mov dword [rax + 0x10], edx
mov edx, dword [rsp + 0x60]
mov dword [rax + 0x14], edx
mov edx, dword [rsp + 0x84]
mov dword [rax + 0x18], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + 0x1c], edx
mov edx, dword [rsp + 0x94]
mov dword [rax + 0x20], edx
mov edx, dword [rsp + 0x34]
mov dword [rax + 0x24], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + 0x28], edx
mov edx, dword [rsp + 0x5c]
mov dword [rax + 0x2c], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + 0x30], edx
mov edx, dword [rsp + 0x88]
mov dword [rax + 0x34], edx
mov edx, dword [rsp + 0xa0]
mov dword [rax + 0x38], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + 0x3c], edx
mov edx, dword [rsp + 0x38]
mov dword [rax + 0x40], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + 0x44], edx
mov edx, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0x50]
vmovdqu xmmword [rax + 0x68], xmm0
mov esi, dword [rsp + 0x78]
mov edi, dword [rsp + 0x98]
mov dword [rax + 0x48], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + 0x5c], ebx
mov ebx, dword [rsp + 0x90]
mov dword [rax + 0x64], esi
mov dword [rax + 0x78], edi
mov dword [rax + 0x4c], edx
mov edx, dword [rsp + 0x8c]
mov dword [rax + 0x7c], ebx
mov dword [rax + 0x50], edx
mov edx, dword [rsp + 0x44]
mov dword [rax + 0x54], edx
mov edx, dword [rsp + 0x3c]
mov dword [rax + 0x58], edx
mov edx, dword [rsp + 0x80]
mov dword [rax + 0x60], edx
mov edx, dword [rsp + 0xa4]
mov dword [rax + 0x80], edx
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x110]
add r9d, dword [rsp + 0x110]
test ecx, ecx
jne 0x1400660b0
vmovd xmm4, dword [rsp + 0x1c]
vpinsrd xmm0, xmm4, r9d, 1
vmovq qword [rax], xmm0
jmp 0x140066061
mov ebx, dword [rsp + 0x110]
mov ecx, edi
lea r8d, [rbx - 1]
jmp 0x1400642a9
xor ecx, ecx
jmp 0x140065f82