Function at 0x6f586af0
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 rax, r8
mov qword [rsp + 0x120], r8
mov r8d, dword [rcx + 4]
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
cmp r8d, 3
mov dword [rsp + 0x24], eax
ja 0x6f586bb3
mov r9d, 4
sub r9d, r8d
cmp r9, qword [rsp + 0x120]
ja 0x6f588b40
mov r10d, 3
mov r9d, 4
sub r10d, r8d
mov eax, dword [rsp + 0x24]
lea r11, [rdx + r10 + 1]
movzx r8d, byte [rdx]
shl eax, 8
add rdx, 1
or eax, r8d
cmp rdx, r11
jne 0x6f586b5c
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x120]
lea r8, [rax - 1]
sub r8, r10
mov qword [rsp + 0x120], r8
cmp qword [rsp + 0x120], 0
jne 0x6f586bb3
mov eax, dword [rsp + 0x24]
mov dword [rcx + 4], r9d
mov dword [rcx], eax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x94], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x80], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x84], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xa4], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0xa8], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x74], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x9c], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x7c], eax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x88], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x8c], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0xb4], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0xac], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0x70], eax
mov eax, dword [rcx + 0x8c]
mov r9d, dword [rcx + 8]
mov dword [rsp + 0x98], eax
mov eax, dword [rcx + 0x90]
cmp r9d, 1
mov dword [rsp + 0xb8], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0xbc], eax
je 0x6f588d25
jb 0x6f588cf0
cmp r9d, 2
jne 0x6f588b63
lea rax, [0x6f7339c0]
mov qword [rsp + 0x28], rax
lea rax, [0x6f7335c0]
mov qword [rsp + 8], rax
lea rax, [0x6f7331c0]
mov qword [rsp + 0x18], rax
lea rax, [0x6f733dc0]
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x54]
xor eax, dword [rsp + 0x24]
mov r14d, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x6c]
xor dword [rsp + 0x30], r8d
mov r10d, dword [rsp + 0xa4]
mov r15d, dword [rsp + 0xa8]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x30]
xor ebx, r14d
mov esi, dword [rsp + 0x50]
mov r8d, ebx
mov ebx, dword [rsp + 0x4c]
xor r10d, eax
xor esi, dword [rsp + 0x58]
xor dword [rsp + 0x8c], r14d
mov r9d, r10d
mov r14, qword [rsp + 0x28]
mov edi, dword [rsp + 0x34]
xor dword [rsp + 0x60], eax
xor dword [rsp + 0x90], edi
shr r9d, 0x10
mov edi, dword [rsp + 0x44]
xor r15d, ebx
movzx r9d, r9b
xor dword [rsp + 0x78], edi
mov rax, qword [rsp + 0x18]
mov rdi, qword [rsp + 8]
xor dword [rsp + 0xb4], ebx
mov ebx, r10d
mov r12d, dword [r14 + r9*4]
movzx ebx, bh
movzx r9d, r10b
mov dword [rsp + 0x50], esi
mov ebx, dword [rdi + rbx*4]
mov r13d, dword [rax + r9*4]
shr r10d, 0x18
mov rsi, qword [rsp + 0x10]
mov eax, r8d
mov r9d, dword [rsi + r10*4]
xor r9d, r13d
mov ebp, r9d
mov r9d, r8d
shr r9d, 0x18
xor ebp, r12d
mov r11d, dword [rsi + r9*4]
movzx esi, ah
mov rax, qword [rsp + 0x18]
movzx r9d, r8b
shr r8d, 0x10
mov r10d, dword [rdi + rsi*4]
movzx r8d, r8b
mov rsi, qword [rsp + 0x10]
xor ebp, ebx
mov r9d, dword [rax + r9*4]
mov edi, r11d
xor edi, r9d
xor edi, dword [r14 + r8*4]
mov r8d, r15d
shr r8d, 0x18
mov esi, dword [rsi + r8*4]
mov r8d, r15d
shr r8d, 0x10
movzx r8d, r8b
xor edi, r10d
mov r8d, dword [r14 + r8*4]
movzx r14d, r15b
xor r11d, esi
mov r14d, dword [rax + r14*4]
mov eax, r15d
movzx eax, ah
mov r15, rax
mov rax, qword [rsp + 8]
xor esi, r14d
xor r9d, r14d
xor esi, r8d
xor r13d, r9d
xor esi, dword [rax + r15*4]
mov eax, dword [rsp + 0x24]
mov r15, qword [rsp + 0x10]
mov r9d, eax
mov r14d, eax
movzx eax, ah
shr r9d, 0x18
shr r14d, 0x10
mov r9d, dword [r15 + r9*4]
mov r15, qword [rsp + 0x28]
movzx r14d, r14b
mov r14d, dword [r15 + r14*4]
xor r11d, r9d
xor r8d, r14d
xor r12d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, ebx
mov rbx, qword [rsp + 0x18]
xor r9d, dword [rbx + rax*4]
xor r9d, r14d
mov r14d, r10d
xor r8d, r9d
mov r9d, edi
shl r14d, 8
xor r9d, r12d
mov ebx, r9d
mov r9d, esi
xor r9d, r10d
and ebx, 0xff0000
mov eax, r9d
mov r9d, r13d
xor r9d, r8d
and eax, 0xff00
or ebx, eax
movzx eax, r9b
mov r9d, ebp
xor r9d, r11d
or ebx, eax
mov eax, r9d
mov r9d, r12d
and eax, 0xff000000
shl r9d, 8
or ebx, eax
mov eax, r9d
xor eax, esi
mov dword [rsp + 0x24], ebx
mov r9d, eax
mov eax, r14d
mov r14d, r11d
xor eax, r8d
and r9d, 0xff0000
shl r14d, 0x10
and eax, 0xff00
mov r15d, r14d
mov r14d, r13d
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, edi
and r9d, 0xff000000
or eax, r9d
mov r9d, r13d
shr r9d, 0x18
xor r9d, ebp
movzx r9d, r9b
or eax, r9d
xor r15d, esi
shr r14d, 0x10
mov r9d, eax
mov dword [rsp + 0x6c], eax
mov eax, r14d
xor eax, edi
mov r14d, r12d
shl r11d, 0x18
shr r13d, 8
shl r14d, 0x10
xor r11d, r8d
xor r13d, esi
and r15d, 0xff000000
movzx eax, al
shr r12d, 8
or r15d, eax
and r11d, 0xff000000
xor r12d, ebp
mov eax, r14d
movzx r13d, r13b
mov r14d, r10d
shr r10d, 8
or r11d, r13d
and r12d, 0xff0000
xor r10d, edi
xor eax, r8d
or r11d, r12d
and r10d, 0xff00
and eax, 0xff0000
or r11d, r10d
shr r14d, 0x10
or r15d, eax
mov r10d, r11d
mov dword [rsp + 0x34], r11d
mov r11d, dword [rsp + 0x58]
mov eax, r14d
mov r14d, r15d
mov r12d, dword [rsp + 0x80]
xor eax, ebp
mov ebp, dword [rsp + 0x84]
xor r11d, r9d
and eax, 0xff00
or r14d, eax
mov ebx, r11d
movzx esi, bh
mov dword [rsp + 0xa8], r14d
xor dword [rsp + 0x48], r9d
mov rbx, qword [rsp + 8]
xor ebp, r10d
mov r15, qword [rsp + 0x28]
xor r12d, r14d
xor dword [rsp + 0x3c], r14d
xor dword [rsp + 0x88], r10d
mov r10d, r11d
mov eax, r12d
mov rdi, qword [rsp + 0x18]
mov r12d, dword [rbx + rsi*4]
shr r10d, 0x10
movzx r8d, r10b
mov rsi, qword [rsp + 0x10]
mov r13d, dword [r15 + r8*4]
movzx r8d, r11b
shr r11d, 0x18
mov r14d, dword [rdi + r8*4]
mov r10d, dword [rsi + r11*4]
mov r11d, eax
shr r11d, 0x18
mov r8d, r11d
mov r11, rsi
xor r10d, r14d
mov edi, r10d
mov r10d, dword [rsi + r8*4]
movzx esi, ah
mov r9d, dword [rbx + rsi*4]
mov rbx, qword [rsp + 0x18]
movzx r8d, al
shr eax, 0x10
xor edi, r13d
movzx eax, al
mov esi, r10d
xor edi, r12d
mov r8d, dword [rbx + r8*4]
xor esi, r8d
xor esi, dword [r15 + rax*4]
mov eax, ebp
shr eax, 0x18
mov r11d, dword [r11 + rax*4]
mov eax, ebp
shr eax, 0x10
movzx eax, al
xor esi, r9d
mov eax, dword [r15 + rax*4]
movzx r15d, bpl
xor r10d, r11d
mov r15d, dword [rbx + r15*4]
mov ebx, ebp
movzx ebp, bh
mov rbx, qword [rsp + 8]
xor r8d, r15d
xor r11d, r15d
mov r15d, dword [rsp + 0x24]
xor r11d, eax
xor r11d, dword [rbx + rbp*4]
mov rbp, qword [rsp + 0x10]
xor r14d, r8d
mov r8d, r15d
shr r8d, 0x18
mov r8d, dword [rbp + r8*4]
mov ebp, r15d
mov r15, qword [rsp + 0x28]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor r10d, r8d
xor eax, ebp
xor r13d, eax
mov eax, dword [rsp + 0x24]
movzx eax, ah
mov eax, dword [rbx + rax*4]
movzx ebx, byte [rsp + 0x24]
xor r9d, eax
xor r9d, r12d
mov r12, qword [rsp + 0x18]
xor r8d, dword [r12 + rbx*4]
mov ebx, edi
xor ebx, r10d
and ebx, 0xff000000
xor r8d, ebp
mov ebp, r14d
xor eax, r8d
mov r8d, esi
xor r8d, r13d
and r8d, 0xff0000
shr ebp, 0x18
or ebx, r8d
mov r8d, r14d
xor ebp, edi
xor r8d, eax
movzx ebp, bpl
movzx r8d, r8b
or ebx, r8d
mov r8d, r11d
xor r8d, r9d
and r8d, 0xff00
or ebx, r8d
mov r8d, r10d
shl r8d, 8
mov dword [rsp + 0x24], ebx
xor r8d, esi
and r8d, 0xff000000
or r8d, ebp
mov ebp, r13d
shl ebp, 8
xor ebp, r11d
and ebp, 0xff0000
or r8d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, eax
and ebp, 0xff00
or r8d, ebp
mov ebp, r10d
mov ebx, r8d
mov dword [rsp + 0x80], r8d
mov r8d, r14d
shl ebp, 0x10
shr r8d, 0x10
xor ebp, r11d
xor r8d, esi
and ebp, 0xff000000
movzx r8d, r8b
or ebp, r8d
mov r8d, r13d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or ebp, r8d
mov r8d, r9d
shr r8d, 0x10
xor r8d, edi
shr r13d, 8
shr r14d, 8
xor r13d, edi
mov edi, dword [rsp + 0x44]
and r8d, 0xff00
or ebp, r8d
shl r10d, 0x18
xor r11d, r14d
xor r10d, eax
movzx r11d, r11b
shr r9d, 8
xor edi, ebx
and r10d, 0xff000000
and r13d, 0xff0000
mov r8d, edi
mov edi, dword [rsp + 0x68]
or r10d, r11d
xor r9d, esi
or r10d, r13d
mov r14, qword [rsp + 8]
and r9d, 0xff00
xor dword [rsp + 0x9c], ebx
mov ebx, r8d
xor edi, ebp
or r10d, r9d
xor dword [rsp + 0xa0], r10d
mov esi, edi
mov edi, dword [rsp + 0x94]
mov dword [rsp + 0xa4], r10d
mov r13, qword [rsp + 0x10]
movzx ebx, bh
movzx r9d, r8b
xor edi, r10d
mov r10d, r8d
shr r8d, 0x18
shr r10d, 0x10
mov r9d, dword [r12 + r9*4]
xor dword [rsp + 0x7c], ebp
movzx eax, r10b
mov r10d, dword [r14 + rbx*4]
mov ebx, esi
shr ebx, 0x18
mov dword [rsp + 0x84], ebp
mov rbp, r12
mov r12d, dword [r13 + r8*4]
mov r8d, ebx
mov ebx, esi
mov r11d, dword [r13 + r8*4]
movzx ebx, bh
movzx r8d, sil
mov eax, dword [r15 + rax*4]
mov r14d, dword [r14 + rbx*4]
shr esi, 0x10
mov r8d, dword [rbp + r8*4]
xor r12d, r9d
mov rbx, rbp
movzx esi, sil
mov ebp, r11d
xor r12d, eax
xor r12d, r10d
xor ebp, r8d
xor r10d, r14d
xor ebp, dword [r15 + rsi*4]
xor r8d, r9d
mov r9d, edi
shr r9d, 0x18
mov r13d, dword [r13 + r9*4]
mov r9d, edi
shr r9d, 0x10
movzx r9d, r9b
xor ebp, r14d
mov r14d, dword [r15 + r9*4]
movzx r9d, dil
xor r11d, r13d
mov r9d, dword [rbx + r9*4]
mov ebx, edi
movzx edi, bh
mov ebx, dword [rsp + 0x24]
xor eax, r14d
xor r13d, r9d
xor r8d, r9d
xor r13d, r14d
mov r14, qword [rsp + 8]
mov r9d, ebx
shr r9d, 0x18
mov esi, dword [r14 + rdi*4]
xor esi, r13d
mov r13, qword [rsp + 0x10]
mov edi, dword [r13 + r9*4]
mov r9d, ebx
movzx ebx, bh
shr r9d, 0x10
movzx r9d, r9b
mov r14d, dword [r15 + r9*4]
mov r9, rbx
mov rbx, qword [rsp + 8]
xor r11d, edi
mov r13d, dword [rbx + r9*4]
movzx ebx, byte [rsp + 0x24]
xor eax, r14d
mov r9, qword [rsp + 0x18]
xor r10d, r13d
xor edi, dword [r9 + rbx*4]
mov ebx, ebp
xor ebx, eax
and ebx, 0xff0000
xor edi, r14d
xor edi, r13d
mov r13d, r8d
mov r9d, edi
mov edi, r12d
xor edi, r11d
and edi, 0xff000000
or ebx, edi
mov edi, r8d
xor edi, r9d
movzx edi, dil
or ebx, edi
mov edi, esi
xor edi, r10d
and edi, 0xff00
or ebx, edi
mov edi, r11d
shl edi, 8
mov dword [rsp + 0x24], ebx
xor edi, ebp
and edi, 0xff000000
shr r13d, 0x18
xor r13d, r12d
movzx r13d, r13b
or edi, r13d
mov r13d, eax
shl r13d, 8
xor r13d, esi
and r13d, 0xff0000
or edi, r13d
mov r13d, r10d
shl r13d, 8
xor r13d, r9d
and r13d, 0xff00
or edi, r13d
mov r13d, r8d
shr r8d, 8
mov r14d, edi
mov dword [rsp + 0x68], edi
mov edi, r11d
shl edi, 0x10
shr r13d, 0x10
shl r11d, 0x18
xor edi, esi
xor r13d, ebp
xor r11d, r9d
and edi, 0xff000000
movzx r13d, r13b
xor r8d, esi
or edi, r13d
mov r13d, eax
and r11d, 0xff000000
shl r13d, 0x10
movzx r8d, r8b
shr eax, 8
xor r13d, r9d
or r11d, r8d
mov r8d, dword [rsp + 0x38]
and r13d, 0xff0000
mov esi, dword [rsp + 0x64]
or edi, r13d
mov r13d, r10d
shr r13d, 0x10
xor r13d, r12d
and r13d, 0xff00
or edi, r13d
xor eax, r12d
shr r10d, 8
and eax, 0xff0000
xor r10d, ebp
mov ebp, dword [rsp + 0x50]
or r11d, eax
and r10d, 0xff00
xor r8d, r14d
or r11d, r10d
mov eax, dword [rsp + 0x54]
mov ebx, r8d
mov r10d, r11d
mov dword [rsp + 0x58], r11d
mov r11d, dword [rsp + 0x40]
xor ebp, edi
mov dword [rsp + 0x94], edi
mov r13, qword [rsp + 0x10]
xor dword [rsp + 0x5c], r14d
mov r14, qword [rsp + 8]
xor esi, r10d
xor r11d, edi
movzx edi, bh
mov rbx, qword [rsp + 0x18]
xor eax, r10d
movzx r10d, r8b
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x54], eax
mov eax, r8d
shr r8d, 0x18
mov r12d, dword [rbx + r10*4]
mov ebx, r11d
shr eax, 0x10
mov r9d, dword [r14 + rdi*4]
mov ebp, dword [r13 + r8*4]
movzx edi, bh
mov r8d, r11d
mov rbx, qword [rsp + 0x18]
movzx eax, al
shr r8d, 0x18
mov eax, dword [r15 + rax*4]
mov r10d, dword [r13 + r8*4]
movzx r8d, r11b
shr r11d, 0x10
mov r8d, dword [rbx + r8*4]
mov r13d, dword [r14 + rdi*4]
movzx r11d, r11b
xor ebp, r12d
mov edi, r10d
xor ebp, eax
xor edi, r8d
xor edi, dword [r15 + r11*4]
xor ebp, r9d
xor r9d, r13d
mov r11d, esi
xor r8d, r12d
shr r11d, 0x18
xor edi, r13d
mov r13, qword [rsp + 0x10]
mov r12d, dword [r13 + r11*4]
mov r11d, esi
shr r11d, 0x10
movzx r11d, r11b
mov r14d, dword [r15 + r11*4]
movzx r11d, sil
xor r10d, r12d
mov r13d, dword [rbx + r11*4]
mov ebx, esi
movzx esi, bh
mov ebx, dword [rsp + 0x24]
xor eax, r14d
xor r12d, r13d
xor r12d, r14d
mov r14, qword [rsp + 8]
mov r11d, dword [r14 + rsi*4]
mov esi, ebx
xor r11d, r12d
xor r8d, r13d
mov r12d, ebx
mov r13, qword [rsp + 0x10]
shr r12d, 0x10
shr esi, 0x18
movzx r12d, r12b
movzx ebx, bh
mov esi, dword [r13 + rsi*4]
mov r13d, dword [r15 + r12*4]
mov r12d, dword [r14 + rbx*4]
movzx ebx, byte [rsp + 0x24]
mov r15, qword [rsp + 0x18]
xor r10d, esi
xor eax, r13d
xor r9d, r12d
xor esi, dword [r15 + rbx*4]
mov ebx, ebp
xor ebx, r10d
xor esi, r13d
xor r12d, esi
mov esi, ebx
mov ebx, edi
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
xor esi, r12d
movzx esi, sil
or ebx, esi
mov esi, r11d
xor esi, r9d
and esi, 0xff00
or ebx, esi
mov esi, r8d
mov dword [rsp + 0x38], ebx
mov ebx, r10d
shr esi, 0x18
shl ebx, 8
xor esi, ebp
xor ebx, edi
movzx esi, sil
and ebx, 0xff000000
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, r12d
and esi, 0xff00
or ebx, esi
mov esi, r10d
shl r10d, 0x18
mov dword [rsp + 0x40], ebx
mov ebx, r8d
shl esi, 0x10
shr ebx, 0x10
xor esi, r11d
shr r8d, 8
xor ebx, edi
and esi, 0xff000000
xor r10d, r12d
movzx ebx, bl
xor r8d, r11d
and r10d, 0xff000000
or esi, ebx
mov ebx, eax
shr eax, 8
shl ebx, 0x10
xor eax, ebp
movzx r8d, r8b
xor ebx, r12d
or r10d, r8d
and eax, 0xff0000
and ebx, 0xff0000
or r10d, eax
or esi, ebx
mov ebx, r9d
shr r9d, 8
shr ebx, 0x10
xor r9d, edi
xor ebx, ebp
and r9d, 0xff00
and ebx, 0xff00
or r10d, r9d
xor r9d, r9d
or esi, ebx
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x64], esi
jbe 0x6f588b63
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0x120], 4
mov dword [rsp + 0x24], eax
add rdx, 4
mov r14d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x90]
mov r11d, dword [rsp + 0x48]
xor dword [rsp + 0x40], r11d
mov eax, dword [rsp + 0x40]
mov r13d, dword [rsp + 0xb8]
xor r15d, r14d
mov ebx, r15d
mov r9d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0xbc]
xor r13d, eax
mov edi, dword [rsp + 0x38]
xor dword [rsp + 0x7c], edi
mov edi, dword [rsp + 0x80]
xor edi, dword [rsp + 0xac]
mov esi, dword [rsp + 0x84]
xor dword [rsp + 0x4c], eax
mov eax, r13d
xor esi, dword [rsp + 0x24]
xor r15d, r9d
shr eax, 0x10
xor dword [rsp + 0x78], r14d
movzx r8d, al
mov eax, r13d
mov r14, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x60]
xor dword [rsp + 0xb0], r9d
xor dword [rsp + 0x68], r10d
mov r9, qword [rsp + 0x18]
mov r10, qword [rsp + 8]
mov ebp, dword [r14 + r8*4]
movzx r8d, r13b
shr r13d, 0x18
mov dword [rsp + 0x80], edi
movzx edi, ah
mov dword [rsp + 0x84], esi
mov esi, r15d
mov r15d, dword [r10 + rdi*4]
mov r12d, dword [r9 + r8*4]
mov r11, qword [rsp + 0x10]
mov eax, dword [r11 + r13*4]
xor eax, r12d
mov r8d, eax
xor r8d, ebp
mov eax, r8d
xor eax, r15d
mov edi, eax
mov eax, ebx
shr eax, 0x18
mov r8d, eax
movzx eax, bh
mov r11d, dword [r11 + r8*4]
movzx r8d, bl
mov r10d, dword [r10 + rax*4]
mov rax, r9
mov r9d, dword [r9 + r8*4]
shr ebx, 0x10
movzx r8d, bl
mov r13d, r11d
xor r13d, r9d
mov ebx, r13d
xor ebx, dword [r14 + r8*4]
mov r13, r14
mov r8d, esi
shr r8d, 0x18
mov r14d, ebx
mov rbx, qword [rsp + 0x10]
xor r14d, r10d
mov ebx, dword [rbx + r8*4]
mov r8d, esi
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [r13 + r8*4]
movzx r13d, sil
xor r11d, ebx
mov r13d, dword [rax + r13*4]
mov eax, esi
movzx esi, ah
mov rax, qword [rsp + 8]
xor ebx, r13d
xor r9d, r13d
mov r13, qword [rsp + 0x28]
xor ebx, r8d
xor ebx, dword [rax + rsi*4]
mov eax, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x10]
xor r12d, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rsi + r9*4]
mov esi, eax
movzx eax, ah
shr esi, 0x10
movzx esi, sil
mov esi, dword [r13 + rsi*4]
xor r11d, r9d
xor r8d, esi
xor ebp, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, r15d
mov r15, qword [rsp + 0x18]
xor r9d, dword [r15 + rax*4]
mov r15d, r14d
xor r15d, ebp
xor r9d, esi
xor r8d, r9d
mov r9d, r15d
mov r15d, ebx
xor r15d, r10d
and r9d, 0xff0000
mov eax, r15d
mov r15d, r12d
and eax, 0xff00
xor r15d, r8d
or r9d, eax
movzx r15d, r15b
mov eax, ebp
or r9d, r15d
mov r15d, edi
shl eax, 8
xor r15d, r11d
xor eax, ebx
and r15d, 0xff000000
or r15d, r9d
mov r9d, eax
mov eax, r10d
shl eax, 8
and r9d, 0xff0000
xor eax, r8d
and eax, 0xff00
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, r14d
and r9d, 0xff000000
or eax, r9d
mov r9d, r12d
shr r9d, 0x18
xor r9d, edi
movzx r9d, r9b
or eax, r9d
mov r9d, eax
mov dword [rsp + 0x90], eax
mov eax, r11d
shl eax, 0x10
mov esi, eax
mov eax, r12d
xor esi, ebx
shr eax, 0x10
shr r12d, 8
xor eax, r14d
and esi, 0xff000000
shl r11d, 0x18
movzx eax, al
xor ebx, r12d
xor dword [rsp + 0x34], r9d
or esi, eax
mov eax, ebp
movzx r12d, bl
shl eax, 0x10
shr ebp, 8
mov ebx, dword [rsp + 0xac]
xor eax, r8d
xor r8d, r11d
xor ebp, edi
and eax, 0xff0000
and r8d, 0xff000000
and ebp, 0xff0000
or esi, eax
mov eax, r10d
shr r10d, 8
or r8d, r12d
xor r10d, r14d
xor ebx, r9d
or r8d, ebp
and r10d, 0xff00
shr eax, 0x10
or r8d, r10d
xor eax, edi
mov r10d, ebx
mov ebx, dword [rsp + 0x70]
and eax, 0xff00
mov dword [rsp + 0x38], r8d
or esi, eax
mov eax, r10d
mov r12, r13
mov dword [rsp + 0xbc], esi
xor ebx, esi
mov dword [rsp + 0x24], ebx
mov ebx, dword [rsp + 0x98]
xor dword [rsp + 0x30], esi
mov r9, qword [rsp + 0x18]
movzx esi, ah
mov r11, qword [rsp + 0x10]
mov r14, qword [rsp + 8]
xor ebx, r8d
xor dword [rsp + 0x74], r8d
mov r8d, r10d
shr r8d, 0x10
movzx r8d, r8b
mov esi, dword [r14 + rsi*4]
mov edi, dword [r13 + r8*4]
movzx r8d, r10b
shr r10d, 0x18
mov ebp, dword [r9 + r8*4]
mov eax, dword [r11 + r10*4]
mov r13d, dword [rsp + 0x24]
xor eax, ebp
mov r8d, eax
mov eax, r13d
xor r8d, edi
shr eax, 0x18
xor r8d, esi
mov dword [rsp + 0x28], r8d
mov r8d, eax
mov eax, r13d
mov r10d, dword [r11 + r8*4]
movzx eax, ah
movzx r8d, r13b
mov r14d, dword [r14 + rax*4]
mov r8d, dword [r9 + r8*4]
mov eax, r13d
shr eax, 0x10
movzx eax, al
mov r13d, r10d
xor r13d, r8d
xor r13d, dword [r12 + rax*4]
mov eax, ebx
shr eax, 0x18
mov dword [rsp + 0x24], r14d
mov r11d, dword [r11 + rax*4]
mov eax, ebx
shr eax, 0x10
movzx eax, al
xor r13d, r14d
mov r14, r12
mov eax, dword [r12 + rax*4]
movzx r12d, bl
xor r10d, r11d
mov r12d, dword [r9 + r12*4]
mov r9, qword [rsp + 8]
movzx ebx, bh
xor r11d, r12d
xor r8d, r12d
mov r12d, r15d
xor r11d, eax
xor r11d, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x10]
shr r12d, 0x18
xor ebp, r8d
mov r8d, r12d
mov r12, r14
mov r8d, dword [rbx + r8*4]
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [r14 + rbx*4]
xor r10d, r8d
xor eax, ebx
xor edi, eax
mov eax, r15d
movzx eax, ah
mov eax, dword [r9 + rax*4]
mov r9d, dword [rsp + 0x24]
xor r9d, eax
xor esi, r9d
movzx r9d, r15b
mov r15, qword [rsp + 0x18]
xor r8d, dword [r15 + r9*4]
xor r8d, ebx
mov ebx, dword [rsp + 0x28]
xor eax, r8d
mov r9d, ebx
xor r9d, r10d
mov r14d, r9d
mov r9d, r13d
xor r9d, edi
and r14d, 0xff000000
mov r8d, r9d
mov r9d, ebp
and r8d, 0xff0000
xor r9d, eax
or r14d, r8d
movzx r8d, r9b
mov r9d, r11d
xor r9d, esi
or r14d, r8d
mov r8d, r9d
mov r9d, r10d
and r8d, 0xff00
shl r9d, 8
or r14d, r8d
mov r8d, r9d
mov r9d, ebp
shr r9d, 0x18
xor r8d, r13d
xor r9d, ebx
and r8d, 0xff000000
mov ebx, r10d
movzx r9d, r9b
shl ebx, 0x10
or r8d, r9d
mov r9d, edi
xor ebx, r11d
shl r9d, 8
and ebx, 0xff000000
xor r9d, r11d
and r9d, 0xff0000
or r8d, r9d
mov r9d, esi
shl r9d, 8
xor r9d, eax
and r9d, 0xff00
or r8d, r9d
mov r9d, ebp
shr r9d, 0x10
mov dword [rsp + 0x70], r8d
mov r8d, r9d
mov r9d, edi
xor r8d, r13d
shl r9d, 0x10
movzx r8d, r8b
or ebx, r8d
mov r8d, r9d
mov r9d, esi
xor r8d, eax
shr r9d, 0x10
and r8d, 0xff0000
or ebx, r8d
mov r8d, r9d
mov r9d, dword [rsp + 0x28]
xor r8d, r9d
shl r10d, 0x18
shr ebp, 8
xor eax, r10d
xor r11d, ebp
shr edi, 8
and eax, 0xff000000
xor edi, r9d
movzx ebp, r11b
and r8d, 0xff00
or ebp, eax
and edi, 0xff0000
or ebx, r8d
or ebp, edi
shr esi, 8
mov dword [rsp + 0x98], ebx
mov r9d, ebp
mov ebp, dword [rsp + 0x8c]
xor esi, r13d
mov edi, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x60]
and esi, 0xff00
xor dword [rsp + 0xa4], edi
mov r13, r15
or r9d, esi
xor ebp, ebx
mov esi, ebx
mov ebx, dword [rsp + 0xb4]
xor r10d, edi
xor dword [rsp + 0xa8], r9d
mov dword [rsp + 0xb8], r9d
mov r11d, ebp
mov rbp, r12
xor dword [rsp + 0x6c], esi
movzx r8d, r10b
xor ebx, r9d
mov r9d, r10d
shr r9d, 0x10
movzx eax, r9b
mov edi, dword [r12 + rax*4]
mov eax, r10d
shr r10d, 0x18
mov r12, qword [rsp + 8]
movzx esi, ah
mov rax, qword [rsp + 0x10]
mov dword [rsp + 0x24], edi
mov r9d, dword [r12 + rsi*4]
mov esi, dword [r15 + r8*4]
mov r15d, dword [rax + r10*4]
mov r10d, r11d
shr r10d, 0x18
mov r8d, r10d
mov r10d, dword [rax + r8*4]
xor r15d, esi
mov eax, r11d
xor r15d, edi
movzx r8d, r11b
movzx edi, ah
mov edi, dword [r12 + rdi*4]
mov r8d, dword [r13 + r8*4]
shr r11d, 0x10
movzx r11d, r11b
mov r12d, r10d
xor r15d, r9d
mov rax, qword [rsp + 0x10]
mov r13, rbp
xor r9d, edi
xor r12d, r8d
xor r12d, dword [rbp + r11*4]
mov r11d, ebx
xor r8d, esi
shr r11d, 0x18
mov esi, dword [rax + r11*4]
mov r11d, ebx
mov eax, dword [rsp + 0x24]
xor r12d, edi
shr r11d, 0x10
mov rdi, qword [rsp + 0x18]
movzx r11d, r11b
mov ebp, dword [rbp + r11*4]
movzx r11d, bl
xor r10d, esi
mov edi, dword [rdi + r11*4]
movzx ebx, bh
xor eax, ebp
xor esi, edi
xor r8d, edi
mov rdi, qword [rsp + 0x10]
xor esi, ebp
mov rbp, qword [rsp + 8]
xor esi, dword [rbp + rbx*4]
mov ebx, r14d
shr ebx, 0x18
mov ebx, dword [rdi + rbx*4]
mov r11d, esi
mov dword [rsp + 0x24], ebx
xor r10d, ebx
mov ebx, r14d
shr ebx, 0x10
mov rdi, qword [rsp + 8]
mov qword [rsp + 0x28], r13
movzx esi, bl
mov ebx, r14d
mov ebp, dword [r13 + rsi*4]
movzx esi, bh
mov ebx, dword [rsp + 0x24]
mov edi, dword [rdi + rsi*4]
movzx esi, r14b
mov r14, qword [rsp + 0x18]
xor eax, ebp
xor ebx, dword [r14 + rsi*4]
xor r9d, edi
xor ebx, ebp
xor edi, ebx
mov ebx, r15d
xor ebx, r10d
mov esi, ebx
mov ebx, r12d
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or esi, ebx
mov ebx, r8d
xor ebx, edi
movzx r13d, bl
mov ebx, r11d
xor ebx, r9d
or esi, r13d
mov r13d, ebx
mov ebx, r10d
and r13d, 0xff00
shl ebx, 8
or r13d, esi
xor ebx, r12d
mov esi, r8d
and ebx, 0xff000000
shr esi, 0x18
xor esi, r15d
movzx esi, sil
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, edi
and esi, 0xff00
or ebx, esi
mov esi, r8d
shr r8d, 8
mov ebp, ebx
mov dword [rsp + 0x8c], ebx
mov ebx, r10d
shl ebx, 0x10
shr esi, 0x10
shl r10d, 0x18
xor ebx, r11d
xor esi, r12d
xor r10d, edi
and ebx, 0xff000000
movzx esi, sil
xor r8d, r11d
or ebx, esi
mov esi, eax
and r10d, 0xff000000
shl esi, 0x10
movzx r8d, r8b
shr eax, 8
xor esi, edi
or r10d, r8d
mov r11d, dword [rsp + 0x48]
and esi, 0xff0000
mov r8d, dword [rsp + 0x80]
or ebx, esi
mov esi, r9d
shr esi, 0x10
xor esi, r15d
and esi, 0xff00
or ebx, esi
xor eax, r15d
shr r9d, 8
and eax, 0xff0000
xor r9d, r12d
mov esi, dword [rsp + 0x84]
or r10d, eax
and r9d, 0xff00
xor r11d, ebp
or r10d, r9d
mov edi, r11d
mov r15, qword [rsp + 0x28]
mov r9d, r10d
mov r11d, dword [rsp + 0x3c]
mov dword [rsp + 0xac], r10d
xor esi, r9d
mov r10d, ebx
xor dword [rsp + 0x58], ebp
mov dword [rsp + 0x84], esi
mov esi, edi
xor r8d, r10d
shr esi, 0x10
xor r11d, ebx
mov rbp, qword [rsp + 8]
movzx eax, sil
mov dword [rsp + 0xb4], ebx
mov r12, r14
mov r10d, dword [r15 + rax*4]
mov eax, edi
movzx esi, ah
mov ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0x10]
mov dword [rsp + 0x80], r8d
movzx r8d, dil
shr edi, 0x18
mov dword [rsp + 0x24], r10d
xor ebx, r9d
mov r9d, dword [rbp + rsi*4]
mov esi, dword [r14 + r8*4]
mov r14d, dword [rax + rdi*4]
mov r8d, r11d
shr r8d, 0x18
xor r14d, esi
xor r14d, r10d
mov r10d, dword [rax + r8*4]
movzx r8d, r11b
mov r8d, dword [r12 + r8*4]
mov eax, r11d
shr r11d, 0x10
movzx r11d, r11b
movzx edi, ah
mov rax, qword [rsp + 0x10]
mov r12d, r10d
mov edi, dword [rbp + rdi*4]
xor r14d, r9d
xor r12d, r8d
xor r12d, dword [r15 + r11*4]
mov r11d, ebx
shr r11d, 0x18
xor r8d, esi
mov esi, dword [rax + r11*4]
mov r11d, ebx
xor r9d, edi
shr r11d, 0x10
mov eax, dword [rsp + 0x24]
xor r12d, edi
mov rdi, qword [rsp + 0x18]
movzx r11d, r11b
mov ebp, dword [r15 + r11*4]
movzx r11d, bl
xor r10d, esi
movzx ebx, bh
mov edi, dword [rdi + r11*4]
xor eax, ebp
xor esi, edi
xor esi, ebp
mov rbp, qword [rsp + 8]
mov r11d, dword [rbp + rbx*4]
mov ebx, r13d
xor r11d, esi
mov rsi, qword [rsp + 0x10]
xor r8d, edi
shr ebx, 0x18
mov edi, dword [rsi + rbx*4]
mov esi, r13d
mov ebx, r13d
shr esi, 0x10
movzx esi, sil
xor r10d, edi
mov dword [rsp + 0x24], edi
mov rdi, qword [rsp + 8]
mov ebp, dword [r15 + rsi*4]
movzx esi, bh
mov rbx, qword [rsp + 0x18]
mov r15d, dword [rsp + 0x24]
mov edi, dword [rdi + rsi*4]
movzx esi, r13b
xor r15d, dword [rbx + rsi*4]
xor eax, ebp
xor r9d, edi
mov ebx, r15d
xor ebx, ebp
xor edi, ebx
mov ebx, r14d
xor ebx, r10d
mov esi, ebx
mov ebx, r12d
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
xor esi, edi
movzx esi, sil
or ebx, esi
mov esi, r11d
xor esi, r9d
and esi, 0xff00
or ebx, esi
mov esi, r8d
mov dword [rsp + 0x48], ebx
mov ebx, r10d
shr esi, 0x18
shl ebx, 8
xor esi, r14d
xor ebx, r12d
movzx esi, sil
and ebx, 0xff000000
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, edi
and esi, 0xff00
or ebx, esi
mov esi, r8d
shr r8d, 8
mov dword [rsp + 0x3c], ebx
mov ebx, r10d
shr esi, 0x10
shl ebx, 0x10
xor esi, r12d
shl r10d, 0x18
xor ebx, r11d
movzx esi, sil
xor r10d, edi
and ebx, 0xff000000
xor r8d, r11d
and r10d, 0xff000000
or ebx, esi
mov esi, eax
shr eax, 8
shl esi, 0x10
xor eax, r14d
movzx r8d, r8b
xor esi, edi
or r10d, r8d
and eax, 0xff0000
and esi, 0xff0000
or r10d, eax
or ebx, esi
mov esi, r9d
shr r9d, 8
shr esi, 0x10
xor r9d, r12d
xor esi, r14d
and r9d, 0xff00
and esi, 0xff00
or r10d, r9d
mov r9d, 1
or ebx, esi
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x88], ebx
jbe 0x6f588b63
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0x120], 4
mov dword [rsp + 0x24], eax
add rdx, 4
mov eax, dword [rsp + 0x98]
xor eax, dword [rsp + 0x24]
mov r14d, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x7c]
mov edi, dword [rsp + 0x48]
xor dword [rsp + 0x6c], edi
mov edi, dword [rsp + 0x34]
xor dword [rsp + 0x3c], edi
xor ebx, r14d
mov dword [rsp + 0x98], eax
mov r10d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0xa0]
xor dword [rsp + 0x8c], r8d
mov r8d, ebx
mov ebx, dword [rsp + 0x60]
xor r10d, eax
mov esi, dword [rsp + 0x70]
xor dword [rsp + 0x44], eax
xor esi, dword [rsp + 0x5c]
mov eax, r10d
xor dword [rsp + 0x68], r14d
mov r9d, r10d
mov r14, qword [rsp + 0x28]
xor r15d, ebx
shr r9d, 0x10
mov rdi, qword [rsp + 8]
movzx r9d, r9b
xor dword [rsp + 0x94], ebx
movzx ebx, ah
mov rax, qword [rsp + 0x18]
mov r12d, dword [r14 + r9*4]
movzx r9d, r10b
mov ebx, dword [rdi + rbx*4]
mov dword [rsp + 0x70], esi
shr r10d, 0x18
mov r13d, dword [rax + r9*4]
mov eax, r8d
mov rsi, qword [rsp + 0x10]
mov r9d, dword [rsi + r10*4]
xor r9d, r13d
mov ebp, r9d
mov r9d, r8d
shr r9d, 0x18
xor ebp, r12d
mov r11d, dword [rsi + r9*4]
movzx esi, ah
mov rax, qword [rsp + 0x18]
movzx r9d, r8b
shr r8d, 0x10
mov r10d, dword [rdi + rsi*4]
movzx r8d, r8b
mov rsi, qword [rsp + 0x10]
xor ebp, ebx
mov r9d, dword [rax + r9*4]
mov edi, r11d
xor edi, r9d
xor edi, dword [r14 + r8*4]
mov r8d, r15d
shr r8d, 0x18
mov esi, dword [rsi + r8*4]
mov r8d, r15d
shr r8d, 0x10
movzx r8d, r8b
xor edi, r10d
mov r8d, dword [r14 + r8*4]
movzx r14d, r15b
xor r11d, esi
mov r14d, dword [rax + r14*4]
mov eax, r15d
movzx eax, ah
mov r15, rax
mov rax, qword [rsp + 8]
xor esi, r14d
xor r9d, r14d
xor esi, r8d
xor r13d, r9d
xor esi, dword [rax + r15*4]
mov eax, dword [rsp + 0x24]
mov r15, qword [rsp + 0x10]
mov r9d, eax
mov r14d, eax
movzx eax, ah
shr r9d, 0x18
shr r14d, 0x10
mov r9d, dword [r15 + r9*4]
mov r15, qword [rsp + 0x28]
movzx r14d, r14b
mov r14d, dword [r15 + r14*4]
xor r11d, r9d
xor r8d, r14d
xor r12d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, ebx
mov rbx, qword [rsp + 0x18]
xor r9d, dword [rbx + rax*4]
xor r9d, r14d
mov r14d, r10d
xor r8d, r9d
mov r9d, edi
shl r14d, 8
xor r9d, r12d
mov ebx, r9d
mov r9d, esi
xor r9d, r10d
and ebx, 0xff0000
mov eax, r9d
mov r9d, r13d
xor r9d, r8d
and eax, 0xff00
or ebx, eax
movzx eax, r9b
mov r9d, ebp
xor r9d, r11d
or ebx, eax
mov eax, r9d
mov r9d, r12d
and eax, 0xff000000
shl r9d, 8
or ebx, eax
mov eax, r9d
xor eax, esi
mov dword [rsp + 0x24], ebx
mov r9d, eax
mov eax, r14d
mov r14d, r11d
xor eax, r8d
and r9d, 0xff0000
shl r14d, 0x10
and eax, 0xff00
mov r15d, r14d
mov r14d, r13d
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, edi
and r9d, 0xff000000
or eax, r9d
mov r9d, r13d
shr r9d, 0x18
xor r9d, ebp
movzx r9d, r9b
or eax, r9d
xor r15d, esi
shr r14d, 0x10
mov r9d, eax
mov dword [rsp + 0x7c], eax
mov eax, r14d
xor eax, edi
mov r14d, r12d
shl r11d, 0x18
shr r13d, 8
shl r14d, 0x10
xor r11d, r8d
xor r13d, esi
and r15d, 0xff000000
movzx eax, al
shr r12d, 8
or r15d, eax
and r11d, 0xff000000
xor r12d, ebp
mov eax, r14d
movzx r13d, r13b
mov r14d, r10d
shr r10d, 8
or r11d, r13d
and r12d, 0xff0000
xor r10d, edi
xor eax, r8d
or r11d, r12d
and r10d, 0xff00
and eax, 0xff0000
or r11d, r10d
shr r14d, 0x10
or r15d, eax
mov r10d, r11d
mov dword [rsp + 0x48], r11d
mov r11d, dword [rsp + 0x5c]
mov eax, r14d
mov r14d, r15d
mov r12d, dword [rsp + 0x50]
xor eax, ebp
mov ebp, dword [rsp + 0x54]
xor r11d, r9d
and eax, 0xff00
or r14d, eax
mov ebx, r11d
movzx esi, bh
mov dword [rsp + 0xa0], r14d
xor dword [rsp + 0x38], r9d
mov rbx, qword [rsp + 8]
xor ebp, r10d
mov r15, qword [rsp + 0x28]
xor r12d, r14d
xor dword [rsp + 0x40], r14d
xor dword [rsp + 0x64], r10d
mov r10d, r11d
mov eax, r12d
mov rdi, qword [rsp + 0x18]
mov r12d, dword [rbx + rsi*4]
shr r10d, 0x10
movzx r8d, r10b
mov rsi, qword [rsp + 0x10]
mov r13d, dword [r15 + r8*4]
movzx r8d, r11b
shr r11d, 0x18
mov r14d, dword [rdi + r8*4]
mov r10d, dword [rsi + r11*4]
mov r11d, eax
shr r11d, 0x18
mov r8d, r11d
mov r11, rsi
xor r10d, r14d
mov edi, r10d
mov r10d, dword [rsi + r8*4]
movzx esi, ah
mov r9d, dword [rbx + rsi*4]
mov rbx, qword [rsp + 0x18]
movzx r8d, al
shr eax, 0x10
xor edi, r13d
movzx eax, al
mov esi, r10d
xor edi, r12d
mov r8d, dword [rbx + r8*4]
xor esi, r8d
xor esi, dword [r15 + rax*4]
mov eax, ebp
shr eax, 0x18
mov r11d, dword [r11 + rax*4]
mov eax, ebp
shr eax, 0x10
movzx eax, al
xor esi, r9d
mov eax, dword [r15 + rax*4]
movzx r15d, bpl
xor r10d, r11d
mov r15d, dword [rbx + r15*4]
mov ebx, ebp
movzx ebp, bh
mov rbx, qword [rsp + 8]
xor r8d, r15d
xor r11d, r15d
mov r15d, dword [rsp + 0x24]
xor r11d, eax
xor r11d, dword [rbx + rbp*4]
mov rbp, qword [rsp + 0x10]
xor r14d, r8d
mov r8d, r15d
shr r8d, 0x18
mov r8d, dword [rbp + r8*4]
mov ebp, r15d
mov r15, qword [rsp + 0x28]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor r10d, r8d
xor eax, ebp
xor r13d, eax
mov eax, dword [rsp + 0x24]
movzx eax, ah
mov eax, dword [rbx + rax*4]
movzx ebx, byte [rsp + 0x24]
xor r9d, eax
xor r9d, r12d
mov r12, qword [rsp + 0x18]
xor r8d, dword [r12 + rbx*4]
mov ebx, edi
xor ebx, r10d
and ebx, 0xff000000
xor r8d, ebp
mov ebp, r14d
xor eax, r8d
mov r8d, esi
xor r8d, r13d
and r8d, 0xff0000
shr ebp, 0x18
or ebx, r8d
mov r8d, r14d
xor ebp, edi
xor r8d, eax
movzx ebp, bpl
movzx r8d, r8b
or ebx, r8d
mov r8d, r11d
xor r8d, r9d
and r8d, 0xff00
or ebx, r8d
mov r8d, r10d
shl r8d, 8
mov dword [rsp + 0x24], ebx
xor r8d, esi
and r8d, 0xff000000
or r8d, ebp
mov ebp, r13d
shl ebp, 8
xor ebp, r11d
and ebp, 0xff0000
or r8d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, eax
and ebp, 0xff00
or r8d, ebp
mov ebp, r10d
mov ebx, r8d
mov dword [rsp + 0x50], r8d
mov r8d, r14d
shl ebp, 0x10
shr r8d, 0x10
xor ebp, r11d
xor r8d, esi
and ebp, 0xff000000
movzx r8d, r8b
or ebp, r8d
mov r8d, r13d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or ebp, r8d
mov r8d, r9d
shr r8d, 0x10
xor r8d, edi
shr r14d, 8
shl r10d, 0x18
xor r10d, eax
xor r11d, r14d
shr r13d, 8
xor r13d, edi
and r10d, 0xff000000
movzx r11d, r11b
and r8d, 0xff00
or r10d, r11d
and r13d, 0xff0000
or ebp, r8d
or r10d, r13d
shr r9d, 8
mov r8d, dword [rsp + 0x4c]
xor r9d, esi
mov esi, r10d
mov r10d, dword [rsp + 0x78]
and r9d, 0xff00
mov r13, qword [rsp + 0x10]
or esi, r9d
xor dword [rsp + 0xb8], ebx
mov r14, qword [rsp + 8]
xor r8d, ebx
xor dword [rsp + 0x90], ebp
mov dword [rsp + 0x54], ebp
xor r10d, ebp
mov r9d, r8d
mov ebx, r8d
mov edi, r10d
shr r9d, 0x10
mov r10d, dword [rsp + 0xb0]
movzx eax, r9b
movzx r9d, r8b
shr r8d, 0x18
mov r9d, dword [r12 + r9*4]
mov rbp, r12
mov r12d, dword [r13 + r8*4]
mov r8d, edi
xor r10d, esi
xor dword [rsp + 0xbc], esi
shr r8d, 0x18
mov dword [rsp + 0x9c], esi
movzx esi, bh
mov ebx, edi
mov eax, dword [r15 + rax*4]
mov r11d, dword [r14 + rsi*4]
movzx ebx, bh
mov esi, dword [r13 + r8*4]
movzx r8d, dil
mov r14d, dword [r14 + rbx*4]
xor r12d, r9d
mov r8d, dword [rbp + r8*4]
shr edi, 0x10
xor r12d, eax
mov rbx, rbp
movzx edi, dil
mov ebp, esi
xor r12d, r11d
xor r11d, r14d
xor ebp, r8d
xor ebp, dword [r15 + rdi*4]
xor r8d, r9d
mov r9d, r10d
shr r9d, 0x18
mov r13d, dword [r13 + r9*4]
mov r9d, r10d
shr r9d, 0x10
xor ebp, r14d
movzx r9d, r9b
mov r14d, dword [r15 + r9*4]
movzx r9d, r10b
xor esi, r13d
mov r9d, dword [rbx + r9*4]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x24]
xor eax, r14d
xor r13d, r9d
xor r8d, r9d
xor r13d, r14d
mov r14, qword [rsp + 8]
mov r9d, ebx
shr r9d, 0x18
mov r10d, dword [r14 + rdi*4]
xor r10d, r13d
mov r13, qword [rsp + 0x10]
mov edi, r10d
mov r10d, dword [r13 + r9*4]
mov r9d, ebx
movzx ebx, bh
shr r9d, 0x10
movzx r9d, r9b
mov r14d, dword [r15 + r9*4]
mov r9, rbx
mov rbx, qword [rsp + 8]
xor esi, r10d
mov r13d, dword [rbx + r9*4]
movzx ebx, byte [rsp + 0x24]
xor eax, r14d
mov r9, qword [rsp + 0x18]
xor r11d, r13d
xor r10d, dword [r9 + rbx*4]
xor r10d, r14d
xor r10d, r13d
mov r13d, r8d
mov r9d, r10d
mov r10d, r12d
xor r10d, esi
mov ebx, r10d
mov r10d, ebp
xor r10d, eax
and ebx, 0xff000000
and r10d, 0xff0000
or ebx, r10d
mov r10d, r8d
xor r10d, r9d
movzx r10d, r10b
or ebx, r10d
mov r10d, edi
xor r10d, r11d
and r10d, 0xff00
or ebx, r10d
mov r10d, esi
shl r10d, 8
mov dword [rsp + 0x24], ebx
xor r10d, ebp
and r10d, 0xff000000
shr r13d, 0x18
xor r13d, r12d
movzx r13d, r13b
or r10d, r13d
mov r13d, eax
shl r13d, 8
xor r13d, edi
and r13d, 0xff0000
or r10d, r13d
mov r13d, r11d
shl r13d, 8
xor r13d, r9d
and r13d, 0xff00
or r10d, r13d
mov r13d, r8d
shr r8d, 8
mov r14d, r10d
mov dword [rsp + 0x78], r10d
mov r10d, esi
shl r10d, 0x10
shr r13d, 0x10
shl esi, 0x18
xor r10d, edi
xor r13d, ebp
xor esi, r9d
and r10d, 0xff000000
movzx r13d, r13b
xor r8d, edi
or r10d, r13d
mov r13d, eax
and esi, 0xff000000
shl r13d, 0x10
movzx r8d, r8b
mov edi, dword [rsp + 0x34]
xor r13d, r9d
shr eax, 8
or esi, r8d
and r13d, 0xff0000
or r10d, r13d
mov r13d, r11d
shr r13d, 0x10
xor r13d, r12d
and r13d, 0xff00
or r10d, r13d
xor eax, r12d
shr r11d, 8
and eax, 0xff0000
xor edi, r14d
xor r11d, ebp
or esi, eax
xor dword [rsp + 0xac], r14d
mov r14, qword [rsp + 8]
and r11d, 0xff00
mov r8d, esi
mov ebx, edi
or r8d, r11d
mov eax, dword [rsp + 0x98]
mov r11d, dword [rsp + 0x30]
mov esi, dword [rsp + 0x74]
movzx ebx, bh
mov r9d, dword [r14 + rbx*4]
mov ebp, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x18]
xor r11d, r10d
mov r13, qword [rsp + 0x10]
xor esi, r8d
xor eax, r8d
mov dword [rsp + 0x5c], r8d
movzx r8d, dil
mov dword [rsp + 0x98], eax
mov r12d, dword [rbx + r8*4]
xor ebp, r10d
mov ebx, r11d
mov eax, edi
shr edi, 0x18
mov dword [rsp + 0x70], ebp
mov r8d, r11d
mov ebp, dword [r13 + rdi*4]
movzx edi, bh
mov rbx, qword [rsp + 0x18]
shr r8d, 0x18
mov dword [rsp + 0xb0], r10d
mov r10d, dword [r13 + r8*4]
movzx r8d, r11b
shr eax, 0x10
shr r11d, 0x10
mov r13d, dword [r14 + rdi*4]
movzx eax, al
mov r8d, dword [rbx + r8*4]
movzx r11d, r11b
mov eax, dword [r15 + rax*4]
mov edi, r10d
xor ebp, r12d
xor edi, r8d
xor edi, dword [r15 + r11*4]
xor ebp, eax
xor ebp, r9d
xor r9d, r13d
mov r11d, esi
shr r11d, 0x18
xor r8d, r12d
xor edi, r13d
mov r13, qword [rsp + 0x10]
mov r12d, dword [r13 + r11*4]
mov r11d, esi
shr r11d, 0x10
movzx r11d, r11b
mov r14d, dword [r15 + r11*4]
movzx r11d, sil
xor r10d, r12d
mov r13d, dword [rbx + r11*4]
mov ebx, esi
movzx esi, bh
mov ebx, dword [rsp + 0x24]
xor eax, r14d
xor r12d, r13d
xor r12d, r14d
mov r14, qword [rsp + 8]
mov r11d, dword [r14 + rsi*4]
mov esi, ebx
xor r11d, r12d
xor r8d, r13d
mov r12d, ebx
mov r13, qword [rsp + 0x10]
shr r12d, 0x10
shr esi, 0x18
movzx r12d, r12b
movzx ebx, bh
mov esi, dword [r13 + rsi*4]
mov r13d, dword [r15 + r12*4]
mov r12d, dword [r14 + rbx*4]
movzx ebx, byte [rsp + 0x24]
mov r14, qword [rsp + 0x18]
xor r10d, esi
xor eax, r13d
xor r9d, r12d
xor esi, dword [r14 + rbx*4]
mov ebx, ebp
xor ebx, r10d
xor esi, r13d
xor r12d, esi
mov esi, ebx
mov ebx, edi
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
xor esi, r12d
movzx esi, sil
or ebx, esi
mov esi, r11d
xor esi, r9d
and esi, 0xff00
or ebx, esi
mov esi, r8d
mov dword [rsp + 0x34], ebx
mov ebx, r10d
shr esi, 0x18
shl ebx, 8
xor esi, ebp
xor ebx, edi
movzx esi, sil
and ebx, 0xff000000
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, r12d
and esi, 0xff00
or ebx, esi
mov esi, r10d
shl r10d, 0x18
mov dword [rsp + 0x30], ebx
mov ebx, r8d
shl esi, 0x10
shr ebx, 0x10
xor esi, r11d
shr r8d, 8
xor ebx, edi
and esi, 0xff000000
xor r10d, r12d
movzx ebx, bl
xor r8d, r11d
and r10d, 0xff000000
or esi, ebx
mov ebx, eax
shr eax, 8
shl ebx, 0x10
xor eax, ebp
movzx r8d, r8b
xor ebx, r12d
or r10d, r8d
and eax, 0xff0000
and ebx, 0xff0000
or r10d, eax
or esi, ebx
mov ebx, r9d
shr r9d, 8
shr ebx, 0x10
xor r9d, edi
xor ebx, ebp
and r9d, 0xff00
and ebx, 0xff00
or r10d, r9d
mov r9d, 2
or esi, ebx
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x4c], r10d
mov dword [rsp + 0x74], esi
jbe 0x6f588b63
mov eax, dword [rdx]
bswap eax
mov dword [rsp + 0x24], eax
add rdx, 4
sub qword [rsp + 0x120], 4
jmp 0x6f586d42
mov eax, dword [rsp + 0x120]
mov r9d, dword [rsp + 0x120]
add r9d, r8d
test eax, eax
lea r10d, [rax - 1]
jne 0x6f586b53
jmp 0x6f586b8a
cmp qword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
mov dword [rcx + 4], eax
je 0x6f588d60
mov r8, qword [rsp + 0x120]
xor eax, eax
add r8, rdx
nop dword [rax]
movzx r10d, byte [rdx]
shl eax, 8
add rdx, 1
or eax, r10d
cmp rdx, r8
jne 0x6f588b90
mov dword [rcx], eax
mov eax, dword [rsp + 0x38]
mov dword [rcx + 8], r9d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x64]
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x44]
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x68]
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x94]
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x24], eax
mov eax, dword [rsp + 0x80]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x84]
mov dword [rcx + 0x2c], eax
mov eax, dword [rsp + 0xa4]
mov dword [rcx + 0x30], eax
mov eax, dword [rsp + 0x6c]
mov dword [rcx + 0x34], eax
mov eax, dword [rsp + 0xa8]
mov dword [rcx + 0x38], eax
mov eax, dword [rsp + 0x34]
mov dword [rcx + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x40], eax
mov eax, dword [rsp + 0x74]
mov dword [rcx + 0x44], eax
mov eax, dword [rsp + 0x4c]
mov dword [rcx + 0x48], eax
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x4c], eax
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x50], eax
mov eax, dword [rsp + 0x5c]
mov dword [rcx + 0x54], eax
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x58], eax
mov eax, dword [rsp + 0x54]
mov dword [rcx + 0x5c], eax
mov eax, dword [rsp + 0x9c]
mov dword [rcx + 0x60], eax
mov eax, dword [rsp + 0x7c]
mov dword [rcx + 0x64], eax
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x68], eax
mov eax, dword [rsp + 0x48]
mov dword [rcx + 0x6c], eax
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 0x70], eax
mov eax, dword [rsp + 0x88]
mov dword [rcx + 0x74], eax
mov eax, dword [rsp + 0x60]
mov dword [rcx + 0x78], eax
mov eax, dword [rsp + 0x8c]
mov dword [rcx + 0x7c], eax
mov eax, dword [rsp + 0xb4]
mov dword [rcx + 0x80], eax
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0x84], eax
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x88], eax
mov eax, dword [rsp + 0x98]
mov dword [rcx + 0x8c], eax
mov eax, dword [rsp + 0xb8]
mov dword [rcx + 0x90], eax
mov eax, dword [rsp + 0x90]
mov dword [rcx + 0x94], eax
mov eax, dword [rsp + 0xbc]
mov dword [rcx + 0x98], eax
jmp 0x6f586b9f
lea rax, [0x6f7339c0]
mov qword [rsp + 0x28], rax
lea rax, [0x6f7335c0]
mov qword [rsp + 8], rax
lea rax, [0x6f7331c0]
mov qword [rsp + 0x18], rax
lea rax, [0x6f733dc0]
mov qword [rsp + 0x10], rax
jmp 0x6f58771c
lea rax, [0x6f7339c0]
mov qword [rsp + 0x28], rax
lea rax, [0x6f7335c0]
mov qword [rsp + 8], rax
lea rax, [0x6f7331c0]
mov qword [rsp + 0x18], rax
lea rax, [0x6f733dc0]
mov qword [rsp + 0x10], rax
jmp 0x6f588148
xor eax, eax
jmp 0x6f588ba3