Function at 0x48f700
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, 0x78
mov rax, r8
mov qword [rsp + 0xd0], r8
mov r8d, dword [rcx + 4]
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
mov dword [rsp + 0x1c], eax
cmp r8d, 3
ja 0x490fa0
mov r9d, 4
sub r9d, r8d
cmp r9, qword [rsp + 0xd0]
ja 0x490fc0
mov r9d, 3
sub r9d, r8d
mov r8d, 4
mov eax, dword [rsp + 0x1c]
movzx r10d, byte [rdx]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x1c], eax
test r9d, r9d
je 0x48f7b0
movzx r10d, byte [rdx + 1]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x1c], eax
cmp r9d, 1
je 0x48f7b0
movzx r10d, byte [rdx + 2]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x1c], eax
cmp r9d, 2
je 0x48f7b0
movzx r10d, byte [rdx + 3]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x1c], eax
mov rax, qword [rsp + 0xd0]
lea r10d, [r9 + 1]
add rdx, r10
lea r10, [rax - 1]
sub r10, r9
mov qword [rsp + 0xd0], r10
je 0x491910
mov r8d, dword [rcx + 8]
cmp r8d, 2
je 0x491930
ja 0x490ff0
test r8d, r8d
je 0x491080
mov eax, dword [rcx + 0x78]
mov r11d, dword [rcx + 0x7c]
mov r15d, dword [rcx + 0x88]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x28], eax
lea rax, [0x006cd100]
mov qword [rsp + 0x20], rax
lea rax, [0x006ccd00]
mov qword [rsp + 0x10], rax
lea rax, [0x006cc900]
mov qword [rsp + 8], rax
lea rax, [0x006cd500]
mov qword [rsp], rax
xor r11d, dword [rcx + 0x54]
mov r8d, dword [rcx + 0x6c]
mov eax, dword [rsp + 0x38]
xor eax, dword [rsp + 0x1c]
xor r15d, dword [rcx + 0x60]
mov esi, dword [rsp + 0x30]
mov edi, dword [rsp + 0x34]
xor dword [rcx + 0x24], r11d
mov ebx, dword [rcx + 0x70]
xor r8d, r11d
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x50], r11d
mov r14, qword [rsp + 0x10]
mov dword [rcx + 0x7c], r11d
mov r11d, dword [rsp + 0x3c]
mov dword [rsp + 0x38], eax
mov dword [rcx + 0x98], eax
mov eax, r8d
xor ebx, esi
movzx eax, ah
mov dword [rsp + 0x4c], r15d
mov dword [rcx + 0x88], r15d
xor r9d, edi
movzx r10d, bl
mov ebp, dword [r14 + rax*4]
mov r15d, dword [rcx + 0x74]
mov dword [rcx + 0x2c], r9d
mov r9d, r8d
xor r11d, esi
mov rsi, qword [rsp + 0x20]
shr r9d, 0x10
mov rax, qword [rsp]
xor dword [rcx + 0x28], r11d
movzx r9d, r9b
mov r11, qword [rsp + 8]
xor r15d, edi
mov r12d, dword [rsi + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov edi, dword [rax + r8*4]
mov r13d, dword [r11 + r9*4]
mov r9, r11
mov r8d, r12d
xor r8d, ebp
xor edi, r13d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rax + r8*4]
movzx eax, bh
shr ebx, 0x10
movzx ebx, bl
mov r14d, dword [r14 + rax*4]
mov r10d, dword [r11 + r10*4]
mov rax, rsi
mov esi, dword [rsi + rbx*4]
mov ebx, r8d
xor ebx, r10d
mov dword [rsp + 0x3c], r14d
xor esi, r14d
movzx r14d, r15b
xor esi, ebx
mov ebx, r15d
mov r14d, dword [r9 + r14*4]
shr ebx, 0x18
mov r11d, ebx
mov rbx, qword [rsp]
xor r10d, r14d
xor r13d, r10d
mov ebx, dword [rbx + r11*4]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [rax + r11*4]
mov eax, r15d
movzx eax, ah
xor r8d, ebx
xor ebx, r14d
mov r14, qword [rsp]
mov r15, rax
mov rax, qword [rsp + 0x10]
mov r9d, dword [rax + r15*4]
mov eax, dword [rsp + 0x1c]
mov r15, qword [rsp + 0x20]
xor r9d, r11d
mov r10d, eax
xor ebx, r9d
mov r9d, eax
shr r10d, 0x18
movzx eax, ah
shr r9d, 0x10
mov r10d, dword [r14 + r10*4]
movzx r14d, r9b
mov r9d, dword [rsp + 0x3c]
mov r14d, dword [r15 + r14*4]
xor r8d, r10d
xor r11d, r14d
xor r12d, r11d
mov r11, rax
mov rax, qword [rsp + 0x10]
mov r11d, dword [rax + r11*4]
movzx eax, byte [rsp + 0x1c]
xor r9d, r11d
xor r11d, r14d
mov r14d, esi
xor ebp, r9d
mov r9, qword [rsp + 8]
xor r14d, r12d
mov dword [rsp + 0x68], r14d
xor r10d, dword [r9 + rax*4]
mov eax, r13d
xor r10d, r11d
mov r11d, ebx
xor eax, r10d
xor r11d, ebp
mov dword [rsp + 0x58], eax
mov eax, r12d
mov dword [rsp + 0x40], r11d
mov r11d, edi
shl eax, 8
xor r11d, r8d
xor eax, ebx
mov dword [rsp + 0x64], r11d
and eax, 0xff0000
mov r11d, eax
mov eax, ebp
shl eax, 8
xor eax, r10d
mov r9d, eax
mov eax, r11d
mov r11d, r13d
and r9d, 0xff00
shr r11d, 0x18
or eax, r9d
mov r9d, r8d
xor r11d, edi
shl r9d, 8
movzx r11d, r11b
xor r9d, esi
and r9d, 0xff000000
or r9d, r11d
or eax, r9d
mov r9d, r12d
shl r9d, 0x10
mov dword [rcx + 0x70], eax
mov r11d, r9d
mov r9d, ebp
xor r11d, r10d
shr r9d, 0x10
mov r14d, r11d
mov r11d, r9d
xor r11d, edi
and r14d, 0xff0000
mov r9d, r11d
and r9d, 0xff00
or r14d, r9d
mov r9d, r8d
shl r9d, 0x10
mov r11d, r14d
mov r14d, r13d
xor r9d, ebx
shr r12d, 8
shr ebp, 8
shr r13d, 8
xor r12d, edi
xor ebp, esi
shl r8d, 0x18
xor ebx, r13d
and ebp, 0xff00
xor r8d, r10d
and r12d, 0xff0000
movzx r13d, bl
or r12d, ebp
shr r14d, 0x10
and r8d, 0xff000000
and r9d, 0xff000000
or r8d, r13d
xor r14d, esi
mov esi, r12d
or esi, r8d
movzx r14d, r14b
mov r8d, esi
mov dword [rsp + 0x54], esi
mov dword [rcx + 0x78], esi
mov esi, dword [rcx + 0x60]
or r9d, r14d
or r11d, r9d
mov r10d, r11d
mov dword [rsp + 0x3c], r11d
mov dword [rcx + 0x74], r11d
xor esi, eax
mov ebx, esi
mov esi, dword [rcx + 0x64]
xor esi, r11d
mov r11d, dword [rcx + 0x68]
xor eax, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x44]
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 8]
mov rdi, qword [rsp]
xor dword [rcx + 0x20], r8d
xor r11d, r8d
xor ebp, r10d
mov r10d, ebx
mov dword [rcx + 0x18], eax
shr r10d, 0x10
mov dword [rcx + 0x1c], ebp
movzx eax, r10b
mov r9d, dword [r15 + rax*4]
movzx eax, bh
mov r10d, dword [r13 + rax*4]
movzx eax, bl
shr ebx, 0x18
mov r8d, dword [r12 + rax*4]
mov ebp, dword [rdi + rbx*4]
mov eax, r9d
xor eax, r10d
xor ebp, r8d
mov ebx, ebp
movzx ebp, sil
xor ebx, eax
mov eax, esi
mov r14d, dword [r12 + rbp*4]
mov dword [rsp + 0x1c], ebx
shr eax, 0x18
mov ebx, esi
shr esi, 0x10
mov eax, dword [rdi + rax*4]
movzx esi, sil
movzx edi, bh
mov rbx, r12
mov edi, dword [r13 + rdi*4]
mov ebp, dword [r15 + rsi*4]
movzx r13d, r11b
mov r12, qword [rsp]
mov r13d, dword [rbx + r13*4]
mov ebx, r11d
xor r8d, r14d
movzx ebx, bh
mov esi, eax
xor ebp, edi
xor esi, r14d
mov r14, qword [rsp + 0x20]
xor r10d, edi
xor esi, ebp
mov ebp, r11d
shr ebp, 0x18
mov r12d, dword [r12 + rbp*4]
mov ebp, r11d
mov r11, rbx
mov rbx, qword [rsp + 0x10]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
mov r15d, dword [rbx + r11*4]
mov ebx, dword [rsp + 0x40]
xor r15d, ebp
movzx ebx, bh
mov r11d, r15d
mov r15d, r12d
xor r15d, r13d
xor r13d, r8d
mov r8d, dword [rsp + 0x64]
xor r15d, r11d
mov r11, qword [rsp]
shr r8d, 0x18
mov r8d, dword [r11 + r8*4]
xor eax, r8d
xor r12d, eax
mov rax, qword [rsp + 0x68]
shr rax, 0x10
and eax, 0xff
mov eax, dword [r14 + rax*4]
xor r9d, eax
xor ebp, r9d
mov r9, rbx
mov rbx, qword [rsp + 0x10]
mov r9d, dword [rbx + r9*4]
movzx r11d, byte [rsp + 0x58]
mov rdi, qword [rsp + 8]
mov ebx, dword [rsp + 0x1c]
xor r10d, r9d
xor r9d, eax
mov eax, r15d
xor r8d, dword [rdi + r11*4]
xor eax, r10d
mov edi, esi
mov r11d, ebp
mov dword [rsp + 0x2c], eax
mov eax, ebx
xor edi, ebp
xor eax, r12d
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x1c], eax
mov eax, r13d
shr eax, 0x18
xor r9d, r8d
mov r8d, r13d
xor eax, ebx
xor r8d, r9d
movzx eax, al
mov dword [rsp + 0x40], r8d
mov r8d, r10d
shl r8d, 8
xor r8d, r9d
and r8d, 0xff00
or r8d, eax
mov eax, r12d
shl r11d, 8
shl eax, 8
xor r11d, r15d
xor eax, esi
and r11d, 0xff0000
and eax, 0xff000000
or eax, r11d
mov r11d, r12d
shl r12d, 0x18
or r8d, eax
mov eax, r10d
shl r11d, 0x10
shr r10d, 8
mov edi, r8d
mov dword [rsp + 0x44], r8d
mov dword [rcx + 0x64], r8d
mov r8d, r13d
shr eax, 0x10
shr r8d, 0x10
xor r11d, r15d
shr r13d, 8
xor eax, ebx
xor r8d, esi
xor r10d, esi
xor r13d, r15d
and eax, 0xff00
movzx r8d, r8b
and r11d, 0xff000000
xor r12d, r9d
or eax, r8d
mov r8d, ebp
and r10d, 0xff00
movzx r13d, r13b
shl r8d, 0x10
or r10d, r13d
and r12d, 0xff000000
mov r15d, edi
xor r8d, r9d
mov esi, r12d
mov r9, qword [rsp]
mov r12, qword [rsp + 8]
and r8d, 0xff0000
or r11d, r8d
or eax, r11d
shr ebp, 8
xor edi, dword [rcx + 0x54]
xor ebp, ebx
mov dword [rcx + 0x68], eax
and ebp, 0xff0000
or esi, ebp
mov r13d, esi
mov esi, dword [rcx + 0x58]
or r13d, r10d
mov r10d, dword [rcx + 0x5c]
mov dword [rcx + 0x6c], r13d
xor esi, eax
xor eax, dword [rsp + 0x60]
xor r10d, r13d
xor r13d, dword [rsp + 0x28]
mov ebx, r10d
mov r10d, dword [rsp + 0x48]
mov dword [rcx + 0x10], eax
xor r10d, r15d
mov r15d, edi
mov dword [rcx + 0x14], r13d
mov r13, qword [rsp + 0x10]
shr r15d, 0x10
mov dword [rcx + 0xc], r10d
movzx eax, r15b
mov r15, r14
mov r10d, dword [r14 + rax*4]
mov eax, edi
movzx eax, ah
mov r8d, dword [r13 + rax*4]
movzx eax, dil
shr edi, 0x18
mov r11d, dword [r12 + rax*4]
mov r14d, dword [r9 + rdi*4]
mov rdi, r9
mov ebp, r10d
xor ebp, r8d
xor r14d, r11d
xor r14d, ebp
mov ebp, esi
shr ebp, 0x18
mov eax, ebp
mov eax, dword [r9 + rax*4]
movzx r9d, sil
mov dword [rsp], eax
mov eax, esi
shr esi, 0x10
movzx eax, ah
movzx esi, sil
mov ebp, dword [r13 + rax*4]
mov r9d, dword [r12 + r9*4]
mov eax, dword [rsp]
mov qword [rsp], rdi
xor r8d, ebp
xor ebp, dword [r15 + rsi*4]
mov esi, eax
xor esi, r9d
xor r9d, r11d
xor ebp, esi
mov esi, ebx
shr esi, 0x18
mov r11d, esi
mov esi, ebx
shr esi, 0x10
mov r11d, dword [rdi + r11*4]
movzx edi, bl
movzx ebx, bh
movzx esi, sil
mov edi, dword [r12 + rdi*4]
mov esi, dword [r15 + rsi*4]
xor eax, r11d
xor r11d, edi
xor r9d, edi
mov rdi, qword [rsp]
xor r10d, esi
xor esi, dword [r13 + rbx*4]
mov ebx, dword [rsp + 0x2c]
movzx ebx, bh
xor esi, r11d
mov r11d, dword [rsp + 0x1c]
mov r12d, dword [r13 + rbx*4]
movzx ebx, byte [rsp + 0x40]
shr r11d, 0x18
mov edi, dword [rdi + r11*4]
mov r11, qword [rsp + 0x58]
xor eax, edi
shr r11, 0x10
xor r8d, r12d
and r11d, 0xff
mov r11d, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
xor edi, dword [r15 + rbx*4]
xor r10d, r11d
xor r11d, r12d
mov ebx, r9d
mov r12d, ebp
xor r12d, r10d
and r12d, 0xff0000
xor edi, r11d
mov r11d, esi
xor r11d, r8d
xor ebx, edi
and r11d, 0xff00
movzx ebx, bl
or r11d, ebx
mov ebx, r14d
xor ebx, eax
and ebx, 0xff000000
or ebx, r12d
or r11d, ebx
mov ebx, r10d
shl ebx, 8
mov dword [rcx + 0x54], r11d
xor ebx, esi
and ebx, 0xff0000
mov r13d, ebx
mov ebx, r8d
shl ebx, 8
xor ebx, edi
and ebx, 0xff00
mov r12d, ebx
mov ebx, r13d
mov r13d, r9d
or ebx, r12d
mov r12d, eax
shr r13d, 0x18
shl r12d, 8
xor r13d, r14d
xor r12d, ebp
movzx r13d, r13b
and r12d, 0xff000000
or r12d, r13d
mov r13d, r10d
or ebx, r12d
shl r13d, 0x10
shr r10d, 8
xor r13d, edi
xor r10d, r14d
mov dword [rcx + 0x58], ebx
mov r15d, r13d
mov r13d, r8d
shr r8d, 8
and r10d, 0xff0000
shr r13d, 0x10
and r15d, 0xff0000
xor r8d, ebp
xor r13d, r14d
and r8d, 0xff00
mov r12d, r13d
or r10d, r8d
mov r8d, 2
and r12d, 0xff00
or r15d, r12d
mov r12d, eax
shl eax, 0x18
mov r13d, r15d
mov r15d, r9d
shl r12d, 0x10
shr r9d, 8
shr r15d, 0x10
xor r12d, esi
xor eax, edi
xor r9d, esi
xor r15d, ebp
and r12d, 0xff000000
and eax, 0xff000000
movzx r9d, r9b
movzx r15d, r15b
or eax, r9d
or r12d, r15d
or r10d, eax
or r13d, r12d
cmp qword [rsp + 0xd0], 4
mov dword [rsp + 0x2c], r10d
mov dword [rcx + 0x60], r10d
mov dword [rsp + 0x28], r13d
mov dword [rcx + 0x5c], r13d
jbe 0x490f37
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xd0], 4
mov dword [rsp + 0x1c], eax
add rdx, 4
mov esi, dword [rsp + 0x44]
xor esi, dword [rcx + 0x3c]
xor ebx, dword [rcx + 0x30]
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rcx + 0x48]
xor eax, dword [rsp + 0x1c]
mov edi, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x10]
mov r15, qword [rsp + 0x20]
mov dword [rsp + 0x44], esi
mov dword [rcx + 0x64], esi
mov esi, dword [rsp + 0x28]
mov ebp, dword [rcx + 0x50]
xor r8d, ebx
mov dword [rsp + 0x40], ebx
mov dword [rcx + 0x58], ebx
mov dword [rsp + 0x3c], eax
mov dword [rcx + 0x74], eax
mov eax, ebx
xor r9d, edi
mov dword [rcx + 0x98], r9d
mov r9d, r8d
xor dword [rcx + 0x90], eax
mov eax, r8d
xor r11d, esi
shr r9d, 0x10
movzx eax, ah
xor dword [rcx + 0x94], r11d
mov r11, qword [rsp + 8]
movzx r9d, r9b
mov r10d, dword [r12 + rax*4]
xor ebp, edi
mov rax, qword [rsp]
mov r13d, dword [r15 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov ebx, dword [rcx + 0x4c]
mov r14d, dword [r11 + r9*4]
mov dword [rsp + 0x38], r10d
mov edi, dword [rax + r8*4]
mov r8d, r13d
xor ebx, esi
xor r8d, r10d
movzx r10d, bl
xor edi, r14d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rax + r8*4]
movzx eax, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r12 + rax*4]
mov r10d, dword [r11 + r10*4]
mov rax, r11
mov r11d, dword [r15 + rbx*4]
mov rbx, qword [rsp]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, ebp
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, ebp
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r15 + r11*4]
movzx r15d, bpl
mov r15d, dword [rax + r15*4]
mov eax, ebp
xor r8d, ebx
movzx ebp, ah
mov eax, dword [rsp + 0x1c]
mov r12d, dword [r12 + rbp*4]
mov rbp, qword [rsp]
xor r10d, r15d
xor ebx, r15d
mov r15, qword [rsp + 0x20]
xor r14d, r10d
mov r10d, eax
shr r10d, 0x18
xor r12d, r11d
mov r10d, dword [rbp + r10*4]
mov ebp, eax
movzx eax, ah
xor ebx, r12d
shr ebp, 0x10
mov r12d, dword [rsp + 0x38]
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor r8d, r10d
xor r11d, ebp
xor r13d, r11d
mov r11, rax
mov rax, qword [rsp + 0x10]
mov r11d, dword [rax + r11*4]
movzx eax, byte [rsp + 0x1c]
xor r9d, r11d
xor r11d, ebp
mov ebp, esi
xor r12d, r9d
mov r9, qword [rsp + 8]
xor ebp, r13d
mov dword [rsp + 0x68], ebp
xor r10d, dword [r9 + rax*4]
mov eax, r13d
mov r9d, r14d
shl eax, 8
xor eax, ebx
xor r10d, r11d
mov r11d, ebx
xor r11d, r12d
xor r9d, r10d
mov dword [rsp + 0x60], r11d
mov r11d, edi
mov dword [rsp + 0x58], r9d
xor r11d, r8d
mov dword [rsp + 0x64], r11d
mov r11d, eax
mov eax, r12d
shl eax, 8
and r11d, 0xff0000
xor eax, r10d
mov r9d, eax
and r9d, 0xff00
or r11d, r9d
mov r9d, r8d
mov eax, r11d
mov r11d, r14d
shl r9d, 8
shr r11d, 0x18
xor r9d, esi
xor r11d, edi
and r9d, 0xff000000
movzx r11d, r11b
or r9d, r11d
mov r11d, r13d
shl r11d, 0x10
or eax, r9d
xor r11d, r10d
mov dword [rcx + 0x4c], eax
and r11d, 0xff0000
mov ebp, r11d
mov r11d, r12d
shr r11d, 0x10
xor r11d, edi
mov r9d, r11d
mov r11d, ebp
mov ebp, r14d
and r9d, 0xff00
or r11d, r9d
mov r9d, r8d
shl r9d, 0x10
xor r9d, ebx
shr ebp, 0x10
shr r12d, 8
shr r13d, 8
xor ebp, esi
xor r12d, esi
mov esi, dword [rcx + 0x3c]
xor r13d, edi
shr r14d, 8
shl r8d, 0x18
and r12d, 0xff00
and r13d, 0xff0000
xor r8d, r10d
xor ebx, r14d
or r13d, r12d
and r9d, 0xff000000
movzx r14d, bl
movzx ebp, bpl
and r8d, 0xff000000
mov r10d, r13d
xor esi, eax
xor eax, dword [rsp + 0x34]
or r9d, ebp
or r8d, r14d
or r10d, r8d
or r11d, r9d
mov ebx, dword [rcx + 0x44]
mov r9d, r11d
mov dword [rsp + 0x38], r11d
mov dword [rcx + 0x50], r11d
mov r11d, esi
mov dword [rsp + 0x48], r10d
mov dword [rcx + 0x54], r10d
mov r14d, r11d
shr r14d, 0x10
mov esi, dword [rcx + 0x40]
mov dword [rcx + 0x84], eax
mov edi, dword [rsp + 0x4c]
movzx eax, r14b
mov r12, qword [rsp + 0x10]
xor ebx, r10d
mov r13, qword [rsp + 8]
xor dword [rcx + 0x8c], r10d
xor edi, r9d
xor esi, r9d
mov r9d, dword [r15 + rax*4]
mov eax, r11d
mov dword [rcx + 0x88], edi
mov rdi, qword [rsp]
movzx eax, ah
movzx ebp, sil
mov r10d, dword [r12 + rax*4]
movzx eax, r11b
shr r11d, 0x18
mov r8d, dword [r13 + rax*4]
mov eax, r9d
mov r14d, dword [rdi + r11*4]
xor eax, r10d
xor r14d, r8d
mov r11d, r14d
mov r14d, dword [r13 + rbp*4]
movzx r13d, bl
xor r11d, eax
mov eax, esi
shr eax, 0x18
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x1c], eax
mov eax, esi
shr esi, 0x10
xor r8d, r14d
movzx edi, ah
movzx esi, sil
mov rax, r12
mov edi, dword [r12 + rdi*4]
mov ebp, dword [r15 + rsi*4]
mov esi, dword [rsp + 0x1c]
mov r12, qword [rsp]
xor ebp, edi
xor r10d, edi
xor esi, r14d
mov r14, qword [rsp]
xor esi, ebp
mov ebp, ebx
shr ebp, 0x18
mov r12d, dword [r12 + rbp*4]
mov ebp, ebx
movzx ebx, bh
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
mov r15, qword [rsp + 8]
mov r13d, dword [r15 + r13*4]
mov r15d, dword [rax + rbx*4]
mov eax, dword [rsp + 0x1c]
xor r15d, ebp
mov ebx, r15d
mov r15d, r12d
xor r15d, r13d
xor r13d, r8d
mov r8d, dword [rsp + 0x64]
xor ebx, r15d
mov r15, qword [rsp + 0x20]
shr r8d, 0x18
mov r8d, dword [r14 + r8*4]
mov r14, qword [rsp + 0x68]
xor eax, r8d
shr r14, 0x10
xor r12d, eax
mov rax, r14
and eax, 0xff
mov r15d, dword [r15 + rax*4]
mov eax, dword [rsp + 0x60]
xor r9d, r15d
movzx eax, ah
xor ebp, r9d
mov r9, rax
mov rax, qword [rsp + 0x10]
mov r9d, dword [rax + r9*4]
movzx edi, byte [rsp + 0x58]
mov eax, r13d
mov r14, qword [rsp + 8]
shr eax, 0x18
xor eax, r11d
movzx eax, al
xor r10d, r9d
xor r9d, r15d
mov r15, qword [rsp]
xor r8d, dword [r14 + rdi*4]
mov edi, r13d
xor r9d, r8d
mov r8d, ebx
xor r8d, r10d
xor edi, r9d
mov dword [rsp + 0x1c], r8d
mov r8d, r11d
mov dword [rsp + 0x34], edi
mov edi, esi
xor r8d, r12d
xor edi, ebp
mov dword [rsp + 0x60], r8d
mov r8d, r10d
mov dword [rsp + 0x58], edi
mov edi, ebp
shl r8d, 8
xor r8d, r9d
and r8d, 0xff00
or r8d, eax
mov eax, r12d
shl edi, 8
shl eax, 8
xor edi, ebx
xor eax, esi
and edi, 0xff0000
and eax, 0xff000000
or eax, edi
mov edi, r12d
shl r12d, 0x18
or r8d, eax
mov eax, r10d
shl edi, 0x10
shr r10d, 8
mov r14d, r8d
mov dword [rsp + 0x4c], r8d
mov dword [rcx + 0x40], r8d
mov r8d, r13d
shr eax, 0x10
shr r8d, 0x10
xor edi, ebx
shr r13d, 8
xor eax, r11d
xor r8d, esi
and edi, 0xff000000
xor r10d, esi
and eax, 0xff00
movzx r8d, r8b
xor r13d, ebx
xor r12d, r9d
or eax, r8d
mov r8d, ebp
and r10d, 0xff00
movzx r13d, r13b
shl r8d, 0x10
or r10d, r13d
and r12d, 0xff000000
mov ebx, dword [rcx + 0x38]
xor r8d, r9d
mov esi, r12d
mov r9d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x10]
and r8d, 0xff0000
or r8d, edi
mov rdi, qword [rsp + 0x20]
or eax, r8d
shr ebp, 8
xor ebp, r11d
mov dword [rcx + 0x44], eax
and ebp, 0xff0000
or esi, ebp
mov r13d, esi
mov esi, dword [rcx + 0x30]
or r13d, r10d
mov r10d, r14d
xor ebx, r13d
mov dword [rcx + 0x48], r13d
xor r13d, dword [rsp + 0x30]
xor r9d, r10d
mov dword [rcx + 0x78], r9d
xor esi, r14d
mov r14d, esi
mov esi, dword [rcx + 0x34]
mov r10d, r14d
shr r10d, 0x10
mov dword [rcx + 0x80], r13d
mov r13, qword [rsp + 8]
xor esi, eax
xor eax, dword [rsp + 0x50]
movzx r9d, sil
mov dword [rcx + 0x7c], eax
movzx eax, r10b
mov r10d, dword [rdi + rax*4]
mov eax, r14d
movzx eax, ah
mov r8d, dword [r12 + rax*4]
movzx eax, r14b
shr r14d, 0x18
mov r11d, dword [r13 + rax*4]
mov eax, dword [r15 + r14*4]
xor eax, r11d
mov r14d, eax
mov eax, r10d
xor eax, r8d
xor r14d, eax
mov eax, esi
shr eax, 0x18
mov eax, dword [r15 + rax*4]
mov dword [rsp], eax
mov eax, esi
shr esi, 0x10
movzx eax, ah
movzx esi, sil
mov ebp, dword [r12 + rax*4]
mov r9d, dword [r13 + r9*4]
mov r13d, dword [rsp]
mov qword [rsp], r15
xor r8d, ebp
xor ebp, dword [rdi + rsi*4]
mov esi, ebx
mov eax, r13d
shr esi, 0x10
xor eax, r9d
movzx esi, sil
xor r9d, r11d
mov esi, dword [rdi + rsi*4]
xor ebp, eax
mov eax, ebx
shr eax, 0x18
mov r11d, eax
mov eax, r13d
mov r13, rdi
movzx edi, bl
mov r11d, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
movzx ebx, bh
xor r10d, esi
xor esi, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x1c]
mov edi, dword [r15 + rdi*4]
xor eax, r11d
movzx ebx, bh
mov r12d, dword [r12 + rbx*4]
movzx ebx, byte [rsp + 0x34]
xor r11d, edi
xor r9d, edi
mov rdi, qword [rsp]
xor esi, r11d
mov r11d, dword [rsp + 0x60]
shr r11d, 0x18
mov edi, dword [rdi + r11*4]
mov r11, qword [rsp + 0x58]
xor eax, edi
shr r11, 0x10
xor edi, dword [r15 + rbx*4]
xor r8d, r12d
and r11d, 0xff
mov ebx, r9d
mov r11d, dword [r13 + r11*4]
xor r10d, r11d
xor r11d, r12d
mov r12d, ebp
xor edi, r11d
mov r11d, esi
xor r12d, r10d
xor r11d, r8d
xor ebx, edi
and r12d, 0xff0000
and r11d, 0xff00
movzx ebx, bl
or r11d, ebx
mov ebx, r14d
xor ebx, eax
and ebx, 0xff000000
or ebx, r12d
or r11d, ebx
mov ebx, r10d
shl ebx, 8
mov dword [rcx + 0x30], r11d
xor ebx, esi
and ebx, 0xff0000
mov r13d, ebx
mov ebx, r8d
shl ebx, 8
xor ebx, edi
and ebx, 0xff00
mov r12d, ebx
mov ebx, r13d
mov r13d, r9d
or ebx, r12d
mov r12d, eax
shr r13d, 0x18
shl r12d, 8
xor r13d, r14d
xor r12d, ebp
movzx r13d, r13b
and r12d, 0xff000000
or r12d, r13d
mov r13d, r10d
or ebx, r12d
shl r13d, 0x10
shr r10d, 8
xor r13d, edi
xor r10d, r14d
mov dword [rcx + 0x34], ebx
mov r15d, r13d
mov r13d, r8d
shr r8d, 8
and r10d, 0xff0000
shr r13d, 0x10
and r15d, 0xff0000
xor r8d, ebp
xor r13d, r14d
and r8d, 0xff00
mov r12d, r13d
or r10d, r8d
mov r8d, 3
and r12d, 0xff00
or r15d, r12d
mov r12d, eax
shl eax, 0x18
mov r13d, r15d
mov r15d, r9d
shl r12d, 0x10
shr r9d, 8
shr r15d, 0x10
xor r12d, esi
xor eax, edi
xor r9d, esi
xor r15d, ebp
and r12d, 0xff000000
and eax, 0xff000000
movzx r9d, r9b
movzx r15d, r15b
or eax, r9d
or r12d, r15d
or r10d, eax
or r13d, r12d
cmp qword [rsp + 0xd0], 4
mov dword [rsp + 0x30], r10d
mov dword [rcx + 0x3c], r10d
mov dword [rsp + 0x34], r13d
mov dword [rcx + 0x38], r13d
jbe 0x490f37
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xd0], 4
mov dword [rsp + 0x1c], eax
add rdx, 4
mov esi, dword [rsp + 0x4c]
xor esi, dword [rcx + 0x18]
xor ebx, dword [rcx + 0xc]
mov eax, dword [rsp + 0x38]
mov r8d, dword [rcx + 0x24]
xor eax, dword [rsp + 0x1c]
mov edi, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x10]
mov r15, qword [rsp + 0x20]
mov dword [rsp + 0x4c], esi
mov dword [rcx + 0x40], esi
mov esi, dword [rsp + 0x34]
mov ebp, dword [rcx + 0x2c]
xor r8d, ebx
mov dword [rsp + 0x50], ebx
mov dword [rcx + 0x34], ebx
mov dword [rsp + 0x38], eax
mov dword [rcx + 0x50], eax
mov eax, ebx
xor r9d, edi
mov dword [rcx + 0x74], r9d
mov r9d, r8d
xor dword [rcx + 0x6c], eax
mov eax, r8d
xor r11d, esi
shr r9d, 0x10
movzx eax, ah
xor dword [rcx + 0x70], r11d
mov r11, qword [rsp + 8]
movzx r9d, r9b
mov r12d, dword [r13 + rax*4]
xor ebp, edi
mov rax, qword [rsp]
mov r10d, dword [r15 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov ebx, dword [rcx + 0x28]
mov r14d, dword [r11 + r9*4]
mov edi, dword [rax + r8*4]
mov r8d, r10d
xor ebx, esi
mov dword [rsp + 0x3c], r10d
xor r8d, r12d
movzx r10d, bl
xor edi, r14d
xor edi, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rax + r8*4]
movzx eax, bh
shr ebx, 0x10
movzx ebx, bl
mov r9d, dword [r13 + rax*4]
mov r10d, dword [r11 + r10*4]
mov rax, r11
mov r11d, dword [r15 + rbx*4]
mov rbx, qword [rsp]
xor r11d, r9d
mov esi, r11d
mov r11d, r8d
xor r11d, r10d
xor esi, r11d
mov r11d, ebp
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, ebp
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r15 + r11*4]
movzx r15d, bpl
mov r15d, dword [rax + r15*4]
mov eax, ebp
xor r8d, ebx
movzx ebp, ah
mov eax, dword [rsp + 0x1c]
mov r13d, dword [r13 + rbp*4]
mov rbp, qword [rsp]
xor r10d, r15d
xor ebx, r15d
mov r15, qword [rsp + 0x20]
xor r14d, r10d
mov r10d, eax
xor r13d, r11d
shr r10d, 0x18
xor ebx, r13d
mov r13d, eax
mov r10d, dword [rbp + r10*4]
movzx eax, ah
shr r13d, 0x10
movzx ebp, r13b
mov r13d, dword [rsp + 0x3c]
mov ebp, dword [r15 + rbp*4]
xor r8d, r10d
xor r11d, ebp
xor r13d, r11d
mov r11, rax
mov rax, qword [rsp + 0x10]
mov r11d, dword [rax + r11*4]
movzx eax, byte [rsp + 0x1c]
xor r9d, r11d
xor r11d, ebp
xor r12d, r9d
mov r9, qword [rsp + 8]
xor r10d, dword [r9 + rax*4]
mov eax, r13d
mov r9d, ebx
shl eax, 8
xor r9d, r12d
xor eax, ebx
mov dword [rsp + 0x60], r9d
mov r9d, edi
xor r9d, r8d
mov dword [rsp + 0x64], r9d
xor r10d, r11d
mov r11d, r14d
xor r11d, r10d
mov dword [rsp + 0x58], r11d
mov r11d, esi
xor r11d, r13d
mov dword [rsp + 0x68], r11d
mov r11d, eax
mov eax, r12d
shl eax, 8
and r11d, 0xff0000
xor eax, r10d
mov r9d, eax
and r9d, 0xff00
or r11d, r9d
mov r9d, r8d
mov eax, r11d
mov r11d, r14d
shl r9d, 8
shr r11d, 0x18
xor r9d, esi
xor r11d, edi
and r9d, 0xff000000
movzx r11d, r11b
or r9d, r11d
mov r11d, r13d
shl r11d, 0x10
or eax, r9d
xor r11d, r10d
mov dword [rcx + 0x28], eax
and r11d, 0xff0000
mov ebp, r11d
mov r11d, r12d
shr r11d, 0x10
xor r11d, edi
mov r9d, r11d
mov r11d, ebp
mov ebp, r14d
and r9d, 0xff00
or r11d, r9d
mov r9d, r8d
shl r9d, 0x10
xor r9d, ebx
shr r13d, 8
shr r12d, 8
shr r14d, 8
xor r13d, edi
mov edi, dword [rcx + 0x18]
xor r12d, esi
shl r8d, 0x18
and r12d, 0xff00
xor r8d, r10d
xor ebx, r14d
mov r10d, dword [rcx + 0x20]
shr ebp, 0x10
and r13d, 0xff0000
movzx r14d, bl
and r8d, 0xff000000
or r13d, r12d
xor ebp, esi
or r8d, r14d
and r9d, 0xff000000
xor edi, eax
xor eax, dword [rsp + 0x2c]
movzx ebp, bpl
mov r14d, r13d
or r14d, r8d
or r9d, ebp
mov esi, dword [rcx + 0x1c]
or r11d, r9d
xor r10d, r14d
mov dword [rsp + 0x54], r14d
mov dword [rcx + 0x30], r14d
mov ebx, r10d
mov dword [rsp + 0x3c], r11d
mov dword [rcx + 0x2c], r11d
mov dword [rcx + 0x60], eax
xor dword [rcx + 0x68], r14d
mov r10d, dword [rsp + 0x44]
mov r14d, edi
mov r13, qword [rsp + 0x10]
shr r14d, 0x10
xor esi, r11d
mov r12, qword [rsp + 8]
movzx eax, r14b
mov rbp, qword [rsp]
mov r9d, dword [r15 + rax*4]
mov eax, edi
xor r10d, r11d
movzx eax, ah
mov dword [rcx + 0x64], r10d
mov r10d, dword [r13 + rax*4]
movzx eax, dil
shr edi, 0x18
mov r8d, dword [r12 + rax*4]
mov eax, dword [rbp + rdi*4]
xor eax, r8d
mov r11d, eax
mov eax, r9d
xor eax, r10d
xor r11d, eax
mov eax, esi
shr eax, 0x18
mov eax, dword [rbp + rax*4]
movzx ebp, sil
mov r14d, dword [r12 + rbp*4]
mov dword [rsp + 0x1c], eax
mov eax, esi
shr esi, 0x10
movzx edi, ah
movzx esi, sil
mov rax, r13
xor r8d, r14d
mov edi, dword [r13 + rdi*4]
mov r13d, dword [r15 + rsi*4]
mov esi, dword [rsp + 0x1c]
xor r13d, edi
xor r10d, edi
xor esi, r14d
mov r14, qword [rsp + 0x20]
xor esi, r13d
mov r13d, ebx
shr r13d, 0x18
mov ebp, r13d
mov r13, qword [rsp]
mov r12d, dword [r13 + rbp*4]
mov ebp, ebx
movzx r13d, bl
movzx ebx, bh
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
mov r15, qword [rsp + 8]
mov r13d, dword [r15 + r13*4]
mov r15d, dword [rax + rbx*4]
mov eax, r12d
xor r15d, ebp
xor eax, r13d
xor r13d, r8d
mov r8d, dword [rsp + 0x64]
mov ebx, r15d
mov r15d, eax
mov eax, dword [rsp + 0x1c]
xor r15d, ebx
mov rbx, qword [rsp]
shr r8d, 0x18
mov r8d, dword [rbx + r8*4]
mov ebx, dword [rsp + 0x60]
xor eax, r8d
movzx ebx, bh
xor r12d, eax
mov rax, qword [rsp + 0x68]
shr rax, 0x10
and eax, 0xff
mov eax, dword [r14 + rax*4]
xor r9d, eax
xor ebp, r9d
mov r9, rbx
mov rbx, qword [rsp + 0x10]
mov r9d, dword [rbx + r9*4]
movzx ebx, byte [rsp + 0x58]
mov rdi, qword [rsp + 8]
xor r10d, r9d
xor r9d, eax
mov eax, r13d
xor r8d, dword [rdi + rbx*4]
mov edi, esi
mov ebx, ebp
xor edi, ebp
mov dword [rsp + 0x58], edi
xor r9d, r8d
mov r8d, r15d
xor r8d, r10d
xor eax, r9d
mov dword [rsp + 0x1c], r8d
mov r8d, r11d
mov dword [rsp + 0x2c], eax
mov eax, r13d
xor r8d, r12d
shr eax, 0x18
mov dword [rsp + 0x60], r8d
mov r8d, r10d
xor eax, r11d
shl r8d, 8
movzx eax, al
xor r8d, r9d
and r8d, 0xff00
or r8d, eax
mov eax, r12d
shl ebx, 8
shl eax, 8
xor ebx, r15d
xor eax, esi
and ebx, 0xff0000
and eax, 0xff000000
or eax, ebx
mov ebx, r12d
shl r12d, 0x18
or r8d, eax
mov eax, r10d
shl ebx, 0x10
shr r10d, 8
mov edi, r8d
mov dword [rsp + 0x44], r8d
mov dword [rcx + 0x1c], r8d
mov r8d, r13d
shr eax, 0x10
shr r8d, 0x10
xor ebx, r15d
shr r13d, 8
xor eax, r11d
xor r8d, esi
xor r10d, esi
xor r13d, r15d
and eax, 0xff00
movzx r8d, r8b
and ebx, 0xff000000
xor r12d, r9d
or eax, r8d
mov r8d, ebp
and r10d, 0xff00
movzx r13d, r13b
shl r8d, 0x10
or r10d, r13d
and r12d, 0xff000000
mov r15d, edi
xor r8d, r9d
mov esi, r12d
mov r12, qword [rsp + 8]
and r8d, 0xff0000
or ebx, r8d
or eax, ebx
shr ebp, 8
xor ebp, r11d
mov dword [rcx + 0x20], eax
and ebp, 0xff0000
or esi, ebp
mov rbp, qword [rsp]
mov r13d, esi
mov esi, dword [rcx + 0xc]
or r13d, r10d
mov r10d, dword [rcx + 0x10]
mov dword [rcx + 0x24], r13d
xor esi, edi
xor r10d, eax
xor eax, dword [rsp + 0x40]
movzx r8d, sil
mov edi, r10d
mov r10d, dword [rcx + 0x14]
mov r11d, dword [r12 + r8*4]
xor r10d, r13d
xor r13d, dword [rsp + 0x28]
mov dword [rcx + 0x58], eax
mov ebx, r10d
mov r10d, dword [rsp + 0x48]
xor r10d, r15d
mov r15d, esi
mov dword [rcx + 0x5c], r13d
mov r13, qword [rsp + 0x10]
shr r15d, 0x10
mov dword [rcx + 0x54], r10d
movzx eax, r15b
mov r15, r14
mov r10d, dword [r14 + rax*4]
mov eax, esi
shr esi, 0x18
movzx eax, ah
mov r14d, dword [rbp + rsi*4]
mov esi, edi
mov r9d, dword [r13 + rax*4]
shr esi, 0x18
mov r8d, esi
mov eax, r10d
mov dword [rsp + 8], r10d
mov r10d, dword [rbp + r8*4]
movzx r8d, dil
xor r14d, r11d
mov r8d, dword [r12 + r8*4]
xor eax, r9d
xor r14d, eax
mov eax, edi
shr edi, 0x10
movzx eax, ah
movzx edi, dil
mov esi, dword [r13 + rax*4]
xor r9d, esi
xor esi, dword [r15 + rdi*4]
mov edi, r10d
mov eax, dword [rsp + 8]
xor edi, r8d
xor r8d, r11d
mov r11d, ebx
shr r11d, 0x18
mov qword [rsp + 8], r12
mov r11d, dword [rbp + r11*4]
movzx ebp, bl
mov ebp, dword [r12 + rbp*4]
xor esi, edi
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor r10d, r11d
mov edi, dword [r15 + rdi*4]
xor r11d, ebp
xor r8d, ebp
mov rbp, qword [rsp]
xor eax, edi
xor edi, dword [r13 + rbx*4]
mov ebx, dword [rsp + 0x1c]
movzx ebx, bh
xor edi, r11d
mov r11d, dword [rsp + 0x60]
mov r12d, dword [r13 + rbx*4]
movzx ebx, byte [rsp + 0x2c]
shr r11d, 0x18
mov ebp, dword [rbp + r11*4]
mov r11, qword [rsp + 0x58]
xor r10d, ebp
shr r11, 0x10
xor r9d, r12d
and r11d, 0xff
mov r11d, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
xor ebp, dword [r15 + rbx*4]
xor eax, r11d
xor r11d, r12d
mov ebx, edi
xor ebx, r9d
mov r12d, esi
and ebx, 0xff00
xor r12d, eax
and r12d, 0xff0000
xor ebp, r11d
mov r11d, r8d
xor r11d, ebp
movzx r11d, r11b
or ebx, r11d
mov r11d, r14d
xor r11d, r10d
and r11d, 0xff000000
or r11d, r12d
or ebx, r11d
mov r11d, eax
shl r11d, 8
mov dword [rcx + 0xc], ebx
xor r11d, edi
and r11d, 0xff0000
mov r13d, r11d
mov r11d, r9d
shl r11d, 8
xor r11d, ebp
and r11d, 0xff00
mov r12d, r11d
mov r11d, r13d
mov r13d, r8d
or r11d, r12d
mov r12d, r10d
shr r13d, 0x18
shl r12d, 8
xor r13d, r14d
xor r12d, esi
movzx r13d, r13b
and r12d, 0xff000000
or r12d, r13d
mov r13d, eax
or r11d, r12d
shl r13d, 0x10
shr eax, 8
xor r13d, ebp
xor eax, r14d
mov dword [rcx + 0x10], r11d
mov r15d, r13d
mov r13d, r9d
shr r9d, 8
and eax, 0xff0000
shr r13d, 0x10
and r15d, 0xff0000
xor r9d, esi
xor r13d, r14d
and r9d, 0xff00
mov r12d, r13d
or eax, r9d
and r12d, 0xff00
or r15d, r12d
mov r12d, r10d
shl r10d, 0x18
mov r13d, r15d
mov r15d, r8d
shl r12d, 0x10
shr r8d, 8
shr r15d, 0x10
xor r12d, edi
xor r10d, ebp
xor r8d, edi
xor r15d, esi
and r12d, 0xff000000
and r10d, 0xff000000
movzx r8d, r8b
movzx r15d, r15b
or r10d, r8d
xor r8d, r8d
or r12d, r15d
or r10d, eax
or r13d, r12d
cmp qword [rsp + 0xd0], 4
mov dword [rsp + 0x2c], r10d
mov dword [rcx + 0x18], r10d
mov dword [rsp + 0x28], r13d
mov dword [rcx + 0x14], r13d
ja 0x4918f0
mov eax, dword [rsp + 0xd0]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xd0]
dec rax
cmp qword [rsp + 0xd0], 0
je 0x4919c0
lea r10, [rdx + rax + 1]
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
movzx r9d, byte [rdx]
shl eax, 8
inc rdx
or eax, r9d
cmp r10, rdx
jne 0x490f70
mov dword [rcx], eax
mov dword [rcx + 8], r8d
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rcx + 8]
cmp r8d, 2
je 0x491930
jbe 0x48f7e8
cmp r8d, 3
je 0x490ffa
jmp 0x490f37
add r8d, dword [rsp + 0xd0]
cmp qword [rsp + 0xd0], 0
je 0x491910
mov eax, dword [rsp + 0xd0]
lea r9d, [rax - 1]
jmp 0x48f760
cmp r8d, 3
jne 0x4919d0
mov eax, dword [rcx + 0x50]
mov r11d, dword [rcx + 0x30]
mov ebx, dword [rcx + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x28], eax
lea rax, [0x006cd100]
mov qword [rsp + 0x20], rax
lea rax, [0x006ccd00]
mov qword [rsp + 0x10], rax
lea rax, [0x006cc900]
mov qword [rsp + 8], rax
lea rax, [0x006cd500]
mov qword [rsp], rax
jmp 0x4907ad
mov eax, dword [rcx + 0x2c]
mov ebx, dword [rcx + 0xc]
mov r11d, dword [rcx + 0x10]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x34], eax
lea rax, [0x006cd100]
mov qword [rsp + 0x20], rax
lea rax, [0x006ccd00]
mov qword [rsp + 0x10], rax
lea rax, [0x006cc900]
mov qword [rsp + 8], rax
lea rax, [0x006cd500]
mov qword [rsp], rax
mov edi, dword [rsp + 0x44]
xor edi, dword [rcx + 0x84]
xor r11d, dword [rcx + 0x78]
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rcx + 0x90]
xor eax, dword [rsp + 0x1c]
mov r14d, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x28]
mov rbp, qword [rsp + 0x10]
mov dword [rsp + 0x44], edi
mov dword [rcx + 0x1c], edi
mov edi, dword [rcx + 0x98]
xor r8d, r11d
mov dword [rsp + 0x60], r11d
mov dword [rcx + 0x10], r11d
mov dword [rsp + 0x40], eax
mov dword [rcx + 0x2c], eax
mov eax, r11d
xor r9d, r14d
xor ebx, esi
mov dword [rcx + 0x50], r9d
mov r9d, r8d
xor dword [rcx + 0x48], eax
mov eax, r8d
xor edi, r14d
shr r9d, 0x10
mov r14, qword [rsp + 0x20]
movzx eax, ah
xor dword [rcx + 0x4c], ebx
movzx r9d, r9b
mov r10d, dword [rbp + rax*4]
mov rbx, qword [rsp + 8]
mov rax, qword [rsp]
mov r11d, dword [rcx + 0x94]
mov r12d, dword [r14 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov dword [rsp + 0x38], r10d
mov r13d, dword [rbx + r9*4]
mov r15d, dword [rax + r8*4]
xor r11d, esi
xor r15d, r13d
mov r8d, r15d
mov r15d, r12d
xor r15d, r10d
movzx r10d, r11b
xor r15d, r8d
mov r8d, r11d
shr r8d, 0x18
mov r8d, dword [rax + r8*4]
mov eax, r11d
shr r11d, 0x10
movzx eax, ah
movzx r11d, r11b
mov r9d, dword [rbp + rax*4]
mov r10d, dword [rbx + r10*4]
mov rax, rbx
mov ebx, dword [r14 + r11*4]
mov r11d, r8d
xor r11d, r10d
xor ebx, r9d
mov esi, ebx
mov rbx, qword [rsp]
xor esi, r11d
mov r11d, edi
shr r11d, 0x18
mov ebx, dword [rbx + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov r11d, dword [r14 + r11*4]
movzx r14d, dil
mov r14d, dword [rax + r14*4]
mov eax, edi
xor r8d, ebx
movzx edi, ah
mov eax, dword [rsp + 0x1c]
mov ebp, dword [rbp + rdi*4]
mov rdi, qword [rsp]
xor r10d, r14d
xor ebx, r14d
mov r14, qword [rsp + 0x20]
xor r13d, r10d
mov r10d, eax
shr r10d, 0x18
xor ebp, r11d
mov r10d, dword [rdi + r10*4]
mov edi, eax
movzx eax, ah
xor ebx, ebp
shr edi, 0x10
mov ebp, dword [rsp + 0x38]
movzx edi, dil
mov edi, dword [r14 + rdi*4]
xor r8d, r10d
xor r11d, edi
xor r12d, r11d
mov r11, rax
mov rax, qword [rsp + 0x10]
mov r11d, dword [rax + r11*4]
movzx eax, byte [rsp + 0x1c]
xor r9d, r11d
xor r11d, edi
xor ebp, r9d
mov r9, qword [rsp + 8]
xor r10d, dword [r9 + rax*4]
mov eax, r12d
mov r9d, ebx
shl eax, 8
xor r9d, ebp
xor eax, ebx
mov dword [rsp + 0x3c], r9d
mov r9d, r15d
xor r9d, r8d
mov dword [rsp + 0x64], r9d
xor r10d, r11d
mov r11d, r13d
xor r11d, r10d
mov dword [rsp + 0x58], r11d
mov r11d, esi
xor r11d, r12d
mov dword [rsp + 0x68], r11d
mov r11d, eax
mov eax, ebp
shl eax, 8
and r11d, 0xff0000
xor eax, r10d
mov r9d, eax
and r9d, 0xff00
or r11d, r9d
mov r9d, r8d
mov eax, r11d
mov r11d, r13d
shl r9d, 8
shr r11d, 0x18
xor r9d, esi
xor r11d, r15d
and r9d, 0xff000000
movzx r11d, r11b
or r9d, r11d
mov r11d, r12d
shl r11d, 0x10
or eax, r9d
xor r11d, r10d
mov dword [rcx + 0x94], eax
mov edi, r11d
mov r11d, ebp
shr r11d, 0x10
and edi, 0xff0000
xor r11d, r15d
mov r9d, r11d
and r9d, 0xff00
or edi, r9d
mov r9d, r8d
mov r11d, edi
shl r9d, 0x10
mov edi, r13d
xor r9d, ebx
shr edi, 0x10
shr ebp, 8
shr r13d, 8
xor edi, esi
xor ebp, esi
mov esi, dword [rcx + 0x84]
shl r8d, 0x18
xor r8d, r10d
xor ebx, r13d
mov r10d, dword [rsp + 0x30]
shr r12d, 8
xor r12d, r15d
movzx r13d, bl
and r9d, 0xff000000
movzx edi, dil
and r12d, 0xff0000
and ebp, 0xff00
and r8d, 0xff000000
or r9d, edi
xor esi, eax
or r8d, r13d
or ebp, r12d
or r11d, r9d
mov ebx, esi
mov esi, dword [rcx + 0x88]
or ebp, r8d
xor r10d, eax
mov r9d, r11d
mov dword [rsp + 0x38], r11d
mov dword [rcx + 0x98], r11d
mov r15d, ebx
mov dword [rsp + 0x48], ebp
mov dword [rcx + 0xc], ebp
shr r15d, 0x10
movzx eax, r15b
xor esi, r11d
mov r11d, dword [rcx + 0x8c]
mov dword [rcx + 0x3c], r10d
mov r10d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x10]
mov r13, qword [rsp + 8]
mov r12, qword [rsp]
xor dword [rcx + 0x44], ebp
xor r10d, r9d
mov r9d, dword [r14 + rax*4]
movzx eax, bh
xor r11d, ebp
mov dword [rcx + 0x40], r10d
mov r10d, dword [rdi + rax*4]
movzx eax, bl
shr ebx, 0x18
mov r8d, dword [r13 + rax*4]
mov rbp, r14
mov eax, dword [r12 + rbx*4]
mov ebx, esi
movzx ebx, bh
mov r15d, r9d
mov edi, dword [rdi + rbx*4]
xor r15d, r10d
mov rbx, r13
xor eax, r8d
xor eax, r15d
mov r15, rbp
mov r14d, eax
mov eax, esi
mov dword [rsp + 0x1c], edi
movzx edi, sil
shr eax, 0x18
shr esi, 0x10
mov r13d, dword [r13 + rdi*4]
mov eax, dword [r12 + rax*4]
movzx esi, sil
mov ebp, dword [rsp + 0x1c]
xor ebp, dword [r15 + rsi*4]
mov r12, qword [rsp]
xor r8d, r13d
mov esi, eax
xor esi, r13d
mov r13, qword [rsp]
xor esi, ebp
mov ebp, r11d
shr ebp, 0x18
mov edi, ebp
mov ebp, dword [r12 + rdi*4]
movzx r12d, r11b
mov edi, r11d
mov r12d, dword [rbx + r12*4]
mov ebx, r11d
shr edi, 0x10
movzx ebx, bh
movzx edi, dil
mov r11, rbx
mov rbx, qword [rsp + 0x10]
mov edi, dword [r15 + rdi*4]
mov r15d, dword [rbx + r11*4]
mov ebx, dword [rsp + 0x3c]
xor r15d, edi
movzx ebx, bh
mov r11d, r15d
mov r15d, ebp
xor r15d, r12d
xor r12d, r8d
mov r8d, dword [rsp + 0x64]
xor r11d, r15d
shr r8d, 0x18
mov r8d, dword [r13 + r8*4]
mov r13, qword [rsp + 0x20]
xor eax, r8d
xor ebp, eax
mov rax, qword [rsp + 0x68]
shr rax, 0x10
and eax, 0xff
mov eax, dword [r13 + rax*4]
xor r9d, eax
xor edi, r9d
mov r9, rbx
mov rbx, qword [rsp + 0x10]
mov r9d, dword [rbx + r9*4]
xor r10d, dword [rsp + 0x1c]
movzx ebx, byte [rsp + 0x58]
mov r15, qword [rsp + 8]
xor r8d, dword [r15 + rbx*4]
xor r10d, r9d
xor r9d, eax
mov eax, r11d
xor eax, r10d
mov ebx, r12d
mov r15d, r12d
mov dword [rsp + 0x30], eax
mov eax, r14d
shr ebx, 0x18
xor eax, ebp
mov dword [rsp + 0x4c], eax
mov eax, ebx
mov ebx, ebp
xor r9d, r8d
mov r8d, esi
xor eax, r14d
xor r8d, edi
movzx eax, al
xor r15d, r9d
mov dword [rsp + 0x58], r8d
mov r8d, r10d
mov dword [rsp + 0x3c], r15d
shl r8d, 8
xor r8d, r9d
and r8d, 0xff00
or r8d, eax
shl ebx, 8
mov eax, ebx
mov ebx, edi
mov r15d, r8d
mov r8d, r12d
shl ebx, 8
xor eax, esi
shr r8d, 0x10
shr r12d, 8
xor ebx, r11d
and eax, 0xff000000
xor r8d, esi
xor r12d, r11d
and ebx, 0xff0000
movzx r8d, r8b
movzx r12d, r12b
or eax, ebx
mov ebx, r10d
shr r10d, 8
shr ebx, 0x10
or r15d, eax
xor r10d, esi
mov esi, dword [rcx + 0x7c]
mov eax, ebx
mov ebx, ebp
shl ebp, 0x18
and r10d, 0xff00
xor eax, r14d
shl ebx, 0x10
xor ebp, r9d
or r10d, r12d
and eax, 0xff00
xor ebx, r11d
and ebp, 0xff000000
mov r11d, dword [rcx + 0x80]
or eax, r8d
mov r8d, edi
and ebx, 0xff000000
mov dword [rcx + 0x88], r15d
shl r8d, 0x10
xor r8d, r9d
mov r9d, dword [rsp + 0x54]
and r8d, 0xff0000
or ebx, r8d
mov r8, qword [rsp]
or ebx, eax
shr edi, 8
xor edi, r14d
xor r9d, r15d
xor esi, ebx
mov r14, qword [rsp + 0x10]
and edi, 0xff0000
mov dword [rcx + 0x30], r9d
mov dword [rcx + 0x8c], ebx
xor ebx, dword [rsp + 0x50]
or ebp, edi
mov r12d, ebp
mov edi, dword [rcx + 0x78]
mov rbp, r13
or r12d, r10d
xor r11d, r12d
mov dword [rcx + 0x90], r12d
xor r12d, dword [rsp + 0x34]
mov dword [rcx + 0x34], ebx
xor edi, r15d
mov r9d, edi
shr r9d, 0x10
mov dword [rcx + 0x38], r12d
movzx eax, r9b
mov r12, qword [rsp + 8]
mov r9d, dword [r13 + rax*4]
mov eax, edi
movzx eax, ah
mov r10d, dword [r14 + rax*4]
movzx eax, dil
shr edi, 0x18
mov ebx, dword [r12 + rax*4]
mov r13d, dword [r8 + rdi*4]
mov edi, esi
shr edi, 0x18
xor r13d, ebx
mov eax, r13d
mov r13d, r9d
xor r13d, r10d
xor r13d, eax
mov eax, edi
mov eax, dword [r8 + rax*4]
movzx r8d, sil
mov r8d, dword [r12 + r8*4]
mov dword [rsp + 8], eax
mov eax, esi
shr esi, 0x10
movzx edi, ah
movzx esi, sil
mov rax, r12
mov r14d, dword [r14 + rdi*4]
mov edi, r10d
xor edi, r14d
xor r14d, dword [rbp + rsi*4]
mov r12d, dword [rsp + 8]
mov qword [rsp + 8], rax
mov rsi, qword [rsp]
mov r10d, r12d
xor r10d, r8d
xor r8d, ebx
mov ebx, r11d
shr ebx, 0x18
xor r14d, r10d
mov r10d, ebx
mov ebx, r11d
mov r10d, dword [rsi + r10*4]
shr ebx, 0x10
movzx esi, r11b
mov esi, dword [rax + rsi*4]
movzx ebx, bl
mov eax, r11d
mov ebx, dword [rbp + rbx*4]
xor r12d, r10d
mov dword [rsp + 0x1c], r12d
mov r12, rbp
movzx ebp, ah
xor r10d, esi
mov r11, rbp
mov rbp, qword [rsp + 0x10]
xor r9d, ebx
xor r8d, esi
mov rsi, qword [rsp]
mov eax, dword [rsp + 0x1c]
xor ebx, dword [rbp + r11*4]
xor ebx, r10d
mov r10d, dword [rsp + 0x4c]
shr r10d, 0x18
mov esi, dword [rsi + r10*4]
mov r10, qword [rsp + 0x58]
xor eax, esi
shr r10, 0x10
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x30]
and r10d, 0xff
mov r11d, dword [r12 + r10*4]
movzx eax, ah
mov ebp, dword [rbp + rax*4]
mov rax, qword [rsp + 8]
xor r9d, r11d
xor edi, ebp
xor r11d, ebp
mov ebp, r14d
mov r10d, edi
movzx edi, byte [rsp + 0x3c]
xor ebp, r9d
and ebp, 0xff0000
xor esi, dword [rax + rdi*4]
mov eax, dword [rsp + 0x1c]
mov edi, ebx
xor edi, r10d
and edi, 0xff00
xor esi, r11d
mov r11d, r8d
xor r11d, esi
movzx r11d, r11b
or edi, r11d
mov r11d, r13d
xor r11d, eax
shl eax, 8
and r11d, 0xff000000
or r11d, ebp
or edi, r11d
mov r11d, r9d
shl r11d, 8
mov dword [rsp + 0x3c], edi
mov dword [rcx + 0x78], edi
xor r11d, ebx
and r11d, 0xff0000
mov ebp, r11d
mov r11d, r10d
shl r11d, 8
xor r11d, esi
mov edi, r11d
mov r11d, ebp
mov ebp, r8d
and edi, 0xff00
shr ebp, 0x18
or r11d, edi
mov edi, eax
xor ebp, r13d
mov eax, dword [rsp + 0x1c]
xor edi, r14d
movzx ebp, bpl
and edi, 0xff000000
or edi, ebp
mov ebp, r9d
or r11d, edi
shl ebp, 0x10
shl eax, 0x10
shr r9d, 8
xor ebp, esi
xor r9d, r13d
mov dword [rcx + 0x7c], r11d
and ebp, 0xff0000
and r9d, 0xff0000
mov r12d, ebp
mov ebp, r10d
shr r10d, 8
shr ebp, 0x10
xor r10d, r14d
xor ebp, r13d
and r10d, 0xff00
mov edi, ebp
mov ebp, r12d
mov r12d, r8d
shr r8d, 8
and edi, 0xff00
shr r12d, 0x10
xor r8d, ebx
or r9d, r10d
or ebp, edi
mov edi, eax
mov eax, dword [rsp + 0x1c]
xor r12d, r14d
xor edi, ebx
movzx r8d, r8b
movzx r12d, r12b
and edi, 0xff000000
or edi, r12d
shl eax, 0x18
or ebp, edi
xor eax, esi
mov dword [rsp + 0x30], ebp
mov dword [rcx + 0x80], ebp
and eax, 0xff000000
or eax, r8d
mov r8d, 1
or r9d, eax
cmp qword [rsp + 0xd0], 4
mov dword [rsp + 0x34], r9d
mov dword [rcx + 0x84], r9d
jbe 0x490f37
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xd0], 4
mov dword [rsp + 0x1c], eax
add rdx, 4
jmp 0x48f87a
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xd0], 4
mov dword [rsp + 0x1c], eax
add rdx, 4
jmp 0x4910fc
vmovd xmm1, dword [rsp + 0x1c]
vpinsrd xmm0, xmm1, r8d, 1
vmovq qword [rcx], xmm0
jmp 0x490f88
mov eax, dword [rcx + 0x74]
mov r11d, dword [rcx + 0x54]
mov ebx, dword [rcx + 0x58]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0x30], eax
lea rax, [0x006cd100]
mov qword [rsp + 0x20], rax
lea rax, [0x006ccd00]
mov qword [rsp + 0x10], rax
lea rax, [0x006cc900]
mov qword [rsp + 8], rax
lea rax, [0x006cd500]
mov qword [rsp], rax
jmp 0x490012
xor eax, eax
jmp 0x490f82
mov eax, dword [rsp + 0xd0]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xd0]
dec rax
jmp 0x490f5b