Function at 0x494690
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, 0xe8
mov rax, r8
mov qword [rsp + 0x140], r8
mov r8d, dword [rcx + 4]
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
mov dword [rsp + 0x24], eax
cmp r8d, 3
ja 0x4947e0
mov eax, 4
sub eax, r8d
cmp rax, qword [rsp + 0x140]
ja 0x494820
mov eax, 3
mov r11d, 4
sub eax, r8d
mov r9d, dword [rsp + 0x24]
movzx r10d, byte [rdx]
shl r9d, 8
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x24], esi
test eax, eax
je 0x49474c
movzx r10d, byte [rdx + 1]
shl esi, 8
mov r9d, esi
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x24], esi
cmp eax, 1
je 0x49474c
movzx r10d, byte [rdx + 2]
shl esi, 8
mov edi, r10d
or edi, esi
mov dword [rsp + 0x24], edi
cmp eax, 2
je 0x49474c
movzx r10d, byte [rdx + 3]
shl edi, 8
or r10d, edi
mov dword [rsp + 0x24], r10d
mov rdi, qword [rsp + 0x140]
lea rdx, [rdx + rax + 1]
lea r8, [rdi - 1]
sub r8, rax
mov qword [rsp + 0x140], r8
je 0x496b40
mov eax, dword [rcx + 8]
cmp eax, 1
je 0x495f88
cmp eax, 2
je 0x495410
test eax, eax
je 0x494850
mov ebx, dword [rsp + 0x140]
mov dword [rcx + 4], ebx
mov rbx, qword [rsp + 0x140]
lea r8, [rbx - 1]
nop dword [rax]
lea r10, [rdx + r8 + 1]
xor r8d, r8d
movzx r9d, byte [rdx]
shl r8d, 8
inc rdx
or r8d, r9d
cmp r10, rdx
jne 0x4947b0
mov dword [rcx], r8d
mov dword [rcx + 8], eax
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rcx + 8]
cmp eax, 1
je 0x495f88
cmp eax, 2
je 0x495410
test eax, eax
je 0x494850
mov edi, dword [rsp + 0x140]
mov dword [rcx + 4], edi
mov rdi, qword [rsp + 0x140]
lea r8, [rdi - 1]
test rdi, rdi
jne 0x4947a8
xor r8d, r8d
jmp 0x4947c3
mov r11d, dword [rsp + 0x140]
add r11d, r8d
cmp qword [rsp + 0x140], 0
je 0x496b40
mov eax, dword [rsp + 0x140]
dec eax
jmp 0x4946f1
mov eax, dword [rcx + 0x64]
mov edi, dword [rcx + 0xc]
mov r11d, dword [rcx + 0x10]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0xc8], eax
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0x9c], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0xbc], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0xa8], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0xac], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xc0], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0xb8], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x68], eax
lea rax, [0x006a0160]
mov qword [rsp + 0x28], rax
lea rax, [0x0069fd60]
mov qword [rsp + 0x10], rax
lea rax, [0x0069f960]
mov qword [rsp + 8], rax
lea rax, [0x006a0560]
mov qword [rsp + 0x18], rax
xor edi, dword [rsp + 0x50]
mov r15d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x9c]
xor r11d, dword [rsp + 0x54]
mov dword [rsp + 0x4c], edi
mov r8d, dword [rcx + 0x90]
mov ebx, dword [rcx + 0x98]
mov dword [rcx + 0x64], edi
mov edi, dword [rsp + 0x64]
xor edi, dword [rsp + 0x44]
xor eax, r15d
mov dword [rcx + 0x10], r11d
mov dword [rsp + 0x64], edi
xor r8d, r11d
mov r10d, eax
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x1c], edi
mov edi, dword [rsp + 0x40]
mov r9d, r8d
xor ebx, eax
shr r9d, 0x10
xor eax, dword [rcx + 0x50]
mov r14, qword [rsp + 8]
xor edi, r11d
mov esi, dword [rcx + 0x84]
mov dword [rcx + 0x50], eax
movzx r9d, r9b
mov dword [rsp + 0x50], edi
mov dword [rcx + 0x48], edi
mov edi, dword [rsp + 0xa0]
mov dword [rsp + 0xa0], eax
mov eax, r8d
xor edi, r15d
mov r15, qword [rsp + 0x28]
movzx eax, ah
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x98], edi
mov dword [rcx + 0x4c], edi
mov rdi, qword [rsp + 0x10]
mov ebp, dword [r15 + r9*4]
movzx r9d, r8b
mov dword [rsp + 0x90], r11d
shr r8d, 0x18
mov esi, dword [rdi + rax*4]
mov r12d, dword [r14 + r9*4]
mov r9d, r10d
mov r11, qword [rsp + 0x18]
mov eax, r9d
movzx eax, ah
mov r13d, dword [r11 + r8*4]
mov r8d, r10d
mov edi, dword [rdi + rax*4]
mov eax, r9d
shr r8d, 0x18
shr eax, 0x10
mov r10d, dword [r11 + r8*4]
movzx r8d, r9b
movzx eax, al
mov r9, r14
mov r8d, dword [r14 + r8*4]
mov r11d, dword [r15 + rax*4]
mov eax, ebx
mov dword [rsp + 0x28], edi
mov r14d, r10d
shr eax, 0x18
mov qword [rsp + 8], r9
xor r13d, r12d
xor r14d, r8d
xor r13d, ebp
xor r11d, r14d
xor r13d, esi
mov r14d, r11d
mov r11, qword [rsp + 0x18]
xor r14d, edi
movzx edi, bl
mov r11d, dword [r11 + rax*4]
mov eax, ebx
mov edi, dword [r9 + rdi*4]
movzx ebx, bh
shr eax, 0x10
mov r9, qword [rsp + 0x10]
movzx eax, al
xor r8d, edi
xor r10d, r11d
xor r11d, edi
mov eax, dword [r15 + rax*4]
mov edi, dword [rsp + 0x24]
xor r12d, r8d
xor r11d, eax
mov r8d, edi
xor r11d, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x18]
shr r8d, 0x18
mov r8d, dword [rbx + r8*4]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
xor r10d, r8d
mov ebx, dword [r15 + rbx*4]
xor eax, ebx
xor ebp, eax
mov eax, edi
mov rdi, qword [rsp + 8]
movzx eax, ah
mov eax, dword [r9 + rax*4]
mov r9d, dword [rsp + 0x28]
xor r9d, eax
xor esi, r9d
movzx r9d, byte [rsp + 0x24]
xor r8d, dword [rdi + r9*4]
xor r8d, ebx
mov ebx, r14d
xor eax, r8d
mov r8d, r13d
xor ebx, ebp
xor r8d, r10d
mov dword [rsp + 0x80], ebx
mov ebx, r11d
mov dword [rsp + 0x28], r8d
mov r8d, r12d
xor ebx, esi
xor r8d, eax
mov dword [rsp + 0x94], ebx
mov dword [rsp + 0x88], r8d
mov r8d, r10d
shl r8d, 8
mov edi, r8d
mov r8d, r12d
shr r8d, 0x18
xor edi, r14d
xor r8d, r13d
and edi, 0xff000000
movzx r8d, r8b
or edi, r8d
mov r8d, ebp
shl r8d, 8
xor r8d, r11d
and r8d, 0xff0000
or edi, r8d
mov r8d, esi
shl r8d, 8
mov r9d, edi
xor r8d, eax
and r8d, 0xff00
or r9d, r8d
mov r8d, r10d
mov ebx, r9d
mov dword [rsp + 0xcc], r9d
shl r8d, 0x10
mov dword [rcx + 0x94], r9d
mov r9d, r12d
xor r8d, r11d
shr r9d, 0x10
and r8d, 0xff000000
xor r9d, r14d
movzx r9d, r9b
or r8d, r9d
mov r9d, ebp
shl r9d, 0x10
xor r9d, eax
and r9d, 0xff0000
or r8d, r9d
shr r12d, 8
mov r9d, esi
shl r10d, 0x18
xor r11d, r12d
shr ebp, 8
xor r10d, eax
movzx r12d, r11b
xor ebp, r13d
shr r9d, 0x10
and r10d, 0xff000000
shr esi, 8
xor r9d, r13d
and ebp, 0xff0000
or r10d, r12d
xor esi, r14d
and r9d, 0xff00
or r10d, ebp
and esi, 0xff00
or r8d, r9d
mov ebp, ebx
or r10d, esi
mov dword [rsp + 0xd0], r8d
mov dword [rcx + 0x98], r8d
mov esi, r10d
mov dword [rsp + 0x7c], r10d
mov dword [rcx + 0xc], r10d
mov r14d, dword [rcx + 0x8c]
mov r10d, dword [rsp + 0x6c]
mov r11d, dword [rcx + 0x88]
xor r14d, esi
mov r12, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
xor r10d, ebx
mov ebx, r14d
mov r14d, dword [rsp + 0xbc]
xor r11d, r8d
movzx r9d, r10b
xor r14d, ebp
mov rbp, r15
mov r9d, dword [r12 + r9*4]
mov dword [rsp + 0x40], r14d
mov dword [rcx + 0x3c], r14d
mov r14d, dword [rsp + 0xa8]
xor r14d, r8d
mov dword [rsp + 0xd8], r14d
mov dword [rcx + 0x40], r14d
mov r14d, dword [rsp + 0x3c]
xor r14d, esi
mov dword [rsp + 0xdc], r14d
mov dword [rcx + 0x44], r14d
mov r14d, r10d
shr r14d, 0x10
movzx eax, r14b
mov r8d, dword [r15 + rax*4]
mov r15, qword [rsp + 0x18]
mov eax, r10d
shr r10d, 0x18
movzx eax, ah
mov r14d, dword [r15 + r10*4]
mov eax, dword [rdi + rax*4]
mov r10d, r11d
shr r10d, 0x18
xor r14d, r9d
mov dword [rsp + 0x3c], eax
mov r10d, dword [r15 + r10*4]
xor r14d, r8d
xor r14d, eax
mov eax, r11d
movzx esi, ah
mov rax, rbp
mov esi, dword [rdi + rsi*4]
movzx edi, r11b
shr r11d, 0x10
mov r13d, dword [r12 + rdi*4]
movzx r11d, r11b
mov edi, r10d
mov dword [rsp + 0x70], esi
xor edi, r13d
xor edi, dword [rbp + r11*4]
xor r9d, r13d
mov r13, qword [rsp + 0x18]
mov ebp, edi
xor ebp, esi
mov esi, ebp
mov ebp, ebx
shr ebp, 0x18
mov r11d, ebp
mov ebp, dword [r15 + r11*4]
mov r11d, ebx
mov r15, qword [rsp + 0x10]
shr r11d, 0x10
movzx r11d, r11b
mov edi, dword [rax + r11*4]
movzx r11d, bl
movzx ebx, bh
mov r12d, dword [r12 + r11*4]
mov r11d, ebp
xor r11d, r12d
xor r12d, r9d
mov r9d, dword [rsp + 0x28]
xor r11d, edi
xor r11d, dword [r15 + rbx*4]
shr r9d, 0x18
mov r9d, dword [r13 + r9*4]
mov r13, qword [rsp + 8]
mov qword [rsp + 0x28], rax
mov ebx, dword [rsp + 0x94]
xor r10d, r9d
xor ebp, r10d
mov r10, qword [rsp + 0x80]
movzx ebx, bh
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rax + r10*4]
mov eax, dword [rsp + 0x3c]
xor eax, dword [rsp + 0x70]
xor r8d, r10d
xor edi, r8d
mov r8d, dword [r15 + rbx*4]
movzx ebx, byte [rsp + 0x88]
mov r15d, r12d
xor r9d, dword [r13 + rbx*4]
xor eax, r8d
mov ebx, r11d
xor r9d, r10d
mov r10d, esi
xor ebx, eax
xor r8d, r9d
xor r10d, edi
mov r9d, r14d
mov dword [rsp + 0x88], ebx
xor r15d, r8d
mov dword [rsp + 0x70], r10d
xor r9d, ebp
mov dword [rsp + 0x80], r15d
mov r15d, ebp
shl r15d, 8
mov dword [rsp + 0x3c], r9d
xor r15d, esi
mov r10d, r15d
mov r15d, edi
shl r15d, 8
and r10d, 0xff000000
xor r15d, r11d
mov r9d, r15d
and r9d, 0xff0000
or r10d, r9d
mov r9d, eax
shl r9d, 8
mov r15d, r10d
xor r9d, r8d
and r9d, 0xff00
or r15d, r9d
mov r9d, r12d
shr r9d, 0x18
xor r9d, r14d
movzx r9d, r9b
or r15d, r9d
mov r9d, ebp
shl ebp, 0x18
shl r9d, 0x10
xor ebp, r8d
mov dword [rsp + 0xa8], r15d
xor r9d, r11d
and ebp, 0xff000000
mov dword [rcx + 0x88], r15d
mov r10d, r9d
mov r9d, edi
shr edi, 8
shl r9d, 0x10
and r10d, 0xff000000
xor edi, r14d
xor r9d, r8d
and edi, 0xff0000
and r9d, 0xff0000
or ebp, edi
mov edi, dword [rsp + 0xac]
or r9d, r10d
mov r10d, eax
shr eax, 8
shr r10d, 0x10
xor eax, esi
xor r10d, r14d
and eax, 0xff00
mov r14d, dword [rsp + 0xb8]
and r10d, 0xff00
or r9d, r10d
mov r10d, r12d
shr r10d, 0x10
xor r10d, esi
movzx r10d, r10b
or r9d, r10d
or ebp, eax
shr r12d, 8
xor r12d, r11d
mov r10d, r9d
mov dword [rsp + 0x9c], r9d
mov r11d, dword [rsp + 0x44]
movzx eax, r12b
mov dword [rcx + 0x8c], r9d
mov r9d, ebp
xor r14d, r10d
or r9d, eax
xor r11d, r15d
mov dword [rcx + 0x34], r14d
xor edi, r9d
mov eax, r11d
mov r11d, dword [rsp + 0x58]
mov dword [rsp + 0xbc], r9d
mov ebx, edi
mov edi, dword [rsp + 0xc0]
mov dword [rcx + 0x90], r9d
movzx esi, ah
xor r11d, r10d
xor edi, r15d
mov r15, qword [rsp + 0x28]
mov dword [rcx + 0x30], edi
mov edi, dword [rsp + 0xb0]
xor edi, r9d
mov dword [rcx + 0x38], edi
mov edi, eax
shr edi, 0x10
movzx r8d, dil
mov r10d, dword [r15 + r8*4]
mov rbp, qword [rsp + 0x10]
movzx r8d, al
shr eax, 0x18
mov r9d, dword [rbp + rsi*4]
mov rsi, qword [rsp + 8]
mov edi, dword [rsi + r8*4]
mov r8, qword [rsp + 0x18]
mov r13d, dword [r8 + rax*4]
xor r13d, edi
mov r12d, r13d
mov r13d, r11d
shr r13d, 0x18
xor r12d, r10d
mov eax, r13d
xor r12d, r9d
mov r8d, dword [r8 + rax*4]
mov eax, r11d
movzx eax, ah
mov ebp, dword [rbp + rax*4]
movzx eax, r11b
shr r11d, 0x10
mov r13d, r8d
mov eax, dword [rsi + rax*4]
movzx r11d, r11b
mov esi, dword [r15 + r11*4]
mov r11d, ebx
xor r9d, ebp
xor r13d, eax
xor eax, edi
mov rdi, qword [rsp + 0x18]
shr r11d, 0x18
xor esi, r13d
mov r11d, dword [rdi + r11*4]
mov edi, ebx
mov r13d, esi
shr edi, 0x10
xor r13d, ebp
mov rbp, qword [rsp + 8]
movzx esi, dil
xor r8d, r11d
mov edi, dword [r15 + rsi*4]
movzx esi, bl
movzx ebx, bh
mov esi, dword [rbp + rsi*4]
mov rbp, qword [rsp + 0x10]
xor r10d, edi
xor r11d, esi
xor eax, esi
xor r11d, edi
xor r11d, dword [rbp + rbx*4]
mov ebx, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0x18]
shr ebx, 0x18
mov esi, dword [rdi + rbx*4]
mov rdi, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x88]
xor r8d, esi
shr rdi, 0x10
mov dword [rsp + 0x3c], esi
mov rsi, rdi
movzx edi, bh
mov rbx, qword [rsp + 8]
mov edi, dword [rbp + rdi*4]
movzx ebp, byte [rsp + 0x80]
and esi, 0xff
mov esi, dword [r15 + rsi*4]
mov r15d, dword [rsp + 0x3c]
xor r15d, dword [rbx + rbp*4]
xor r9d, edi
mov ebx, r15d
xor r10d, esi
mov r15d, r11d
xor ebx, esi
mov esi, r13d
xor r15d, r9d
xor edi, ebx
mov ebx, r12d
xor esi, r10d
xor ebx, r8d
mov dword [rsp + 0x58], esi
mov esi, r8d
mov dword [rsp + 0x44], ebx
mov ebx, eax
shl esi, 8
xor ebx, edi
mov dword [rsp + 0x70], ebx
mov ebx, esi
mov esi, eax
shr esi, 0x18
xor ebx, r13d
mov dword [rsp + 0x80], r15d
xor esi, r12d
and ebx, 0xff000000
movzx esi, sil
or ebx, esi
mov esi, r10d
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
mov r15d, ebx
mov ebx, eax
xor esi, edi
shr ebx, 0x10
and esi, 0xff00
xor ebx, r13d
or r15d, esi
mov esi, r8d
movzx ebx, bl
shl esi, 0x10
mov dword [rcx + 0x7c], r15d
xor esi, r11d
and esi, 0xff000000
or esi, ebx
mov ebx, r10d
shl ebx, 0x10
xor ebx, edi
shl r8d, 0x18
shr eax, 8
and ebx, 0xff0000
xor edi, r8d
shr r10d, 8
or esi, ebx
xor eax, r11d
mov ebx, r9d
xor r10d, r12d
shr r9d, 8
movzx r8d, al
shr ebx, 0x10
mov eax, dword [rsp + 0x60]
and edi, 0xff000000
xor ebx, r12d
and r10d, 0xff0000
mov ebp, r9d
or edi, r8d
xor ebp, r13d
mov r12d, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x48]
or edi, r10d
and ebx, 0xff00
and ebp, 0xff00
mov r10d, dword [rsp + 0x68]
or ebx, esi
mov r8d, edi
mov esi, dword [rsp + 0x6c]
xor esi, dword [rsp + 0x78]
or r8d, ebp
xor eax, ebx
xor r12d, r15d
mov dword [rcx + 0x80], ebx
mov r9d, dword [rsp + 0x24]
xor ebx, esi
mov r11, qword [rsp + 0x10]
xor r13d, r8d
mov dword [rcx + 0x28], ebx
mov ebx, r12d
xor r10d, r15d
mov rsi, qword [rsp + 0x28]
xor r9d, dword [rsp + 0xc8]
mov dword [rcx + 0x84], r8d
movzx ebp, bh
mov edi, r13d
xor r9d, r8d
mov dword [rsp + 0xac], r8d
mov r8d, r12d
shr r8d, 0x10
mov dword [rcx + 0x24], r10d
mov r10, qword [rsp + 8]
mov dword [rcx + 0x2c], r9d
movzx r8d, r8b
mov r9d, dword [r11 + rbp*4]
mov rbp, qword [rsp + 0x18]
mov esi, dword [rsi + r8*4]
movzx r8d, r12b
shr r12d, 0x18
mov ebx, dword [r10 + r8*4]
mov r8d, eax
mov r13d, dword [rbp + r12*4]
mov r12, qword [rsp + 8]
xor r13d, ebx
xor r13d, esi
shr r8d, 0x18
mov r10d, dword [rbp + r8*4]
movzx r8d, al
movzx ebp, ah
shr eax, 0x10
mov r8d, dword [r12 + r8*4]
mov r12, qword [rsp + 0x28]
xor r13d, r9d
mov ebp, dword [r11 + rbp*4]
movzx r11d, al
mov eax, r10d
xor eax, r8d
xor eax, dword [r12 + r11*4]
xor r8d, ebx
movzx ebx, dil
xor eax, ebp
xor r9d, ebp
mov rbp, qword [rsp + 0x18]
mov dword [rsp + 0x3c], eax
mov eax, edi
shr eax, 0x18
mov r11d, dword [rbp + rax*4]
mov eax, edi
shr eax, 0x10
movzx eax, al
xor r10d, r11d
mov ebp, dword [r12 + rax*4]
mov eax, esi
mov rsi, qword [rsp + 8]
mov esi, dword [rsi + rbx*4]
xor eax, ebp
mov ebx, edi
movzx edi, bh
mov ebx, dword [rsp + 0x80]
xor r11d, esi
xor r8d, esi
mov rsi, qword [rsp + 0x58]
xor r11d, ebp
mov rbp, qword [rsp + 0x10]
shr rsi, 0x10
xor r11d, dword [rbp + rdi*4]
mov rbp, qword [rsp + 0x18]
and esi, 0xff
mov dword [rsp + 0x24], r11d
mov r11d, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x10]
shr r11d, 0x18
mov r11d, dword [rbp + r11*4]
mov ebp, dword [r12 + rsi*4]
movzx esi, bh
mov edi, dword [rdi + rsi*4]
mov r12, qword [rsp + 8]
movzx esi, byte [rsp + 0x70]
xor r10d, r11d
xor eax, ebp
xor r9d, edi
xor r11d, dword [r12 + rsi*4]
mov r12d, r13d
xor r11d, ebp
xor r12d, r10d
mov ebp, dword [rsp + 0x24]
mov esi, r11d
and r12d, 0xff000000
xor esi, edi
mov edi, dword [rsp + 0x3c]
mov ebx, ebp
mov r11d, edi
xor r11d, eax
and r11d, 0xff0000
or r12d, r11d
mov r11d, r8d
xor r11d, esi
movzx r11d, r11b
or r12d, r11d
xor ebx, r9d
mov r11d, ebx
mov ebx, edi
and r11d, 0xff00
or r12d, r11d
mov r11d, r10d
shl r11d, 8
mov dword [rcx + 0x6c], r12d
xor r11d, edi
mov edi, r8d
shr edi, 0x18
and r11d, 0xff000000
xor edi, r13d
movzx edi, dil
or r11d, edi
mov edi, eax
shl edi, 8
xor edi, ebp
and edi, 0xff0000
or r11d, edi
mov edi, r9d
shl edi, 8
xor edi, esi
and edi, 0xff00
or r11d, edi
mov edi, r10d
shl edi, 0x10
mov dword [rcx + 0x70], r11d
xor edi, ebp
mov ebp, r8d
shr ebp, 0x10
and edi, 0xff000000
xor ebp, ebx
movzx ebp, bpl
or edi, ebp
mov ebp, eax
shl ebp, 0x10
xor ebp, esi
and ebp, 0xff0000
or edi, ebp
mov ebp, r9d
shr ebp, 0x10
xor ebp, r13d
and ebp, 0xff00
or edi, ebp
shl r10d, 0x18
shr r8d, 8
xor r10d, esi
xor r8d, dword [rsp + 0x24]
shr eax, 8
xor eax, r13d
shr r9d, 8
movzx r8d, r8b
mov dword [rsp + 0x48], edi
and r10d, 0xff000000
and eax, 0xff0000
xor r9d, ebx
mov dword [rcx + 0x74], edi
or r10d, r8d
and r9d, 0xff00
or r10d, eax
mov eax, 1
or r10d, r9d
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x44], r10d
mov dword [rcx + 0x78], r10d
jbe 0x4947f9
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x24], r9d
jmp 0x496087
mov eax, dword [rcx + 0x94]
mov edi, dword [rcx + 0x3c]
mov r11d, dword [rcx + 0x40]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x88], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x80], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x94], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x70], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x7c], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x98], eax
lea rax, [0x006a0160]
mov qword [rsp + 0x28], rax
lea rax, [0x0069fd60]
mov qword [rsp + 0x10], rax
lea rax, [0x0069f960]
mov qword [rsp + 8], rax
lea rax, [0x006a0560]
mov qword [rsp + 0x18], rax
mov esi, dword [rsp + 0x50]
xor esi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x3c]
mov ebx, dword [rcx + 0x30]
mov dword [rsp + 0xa0], esi
xor r11d, dword [rsp + 0x4c]
xor edi, dword [rsp + 0x38]
mov dword [rcx + 0x4c], esi
mov esi, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x44]
xor ebx, r11d
mov dword [rcx + 0x40], r11d
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x9c], edi
xor esi, ebp
mov dword [rcx + 0x94], edi
mov edi, dword [rcx + 0x38]
xor r15d, r11d
mov dword [rsp + 0x58], esi
mov r10d, dword [rcx + 0x24]
mov dword [rcx + 0x7c], esi
mov esi, ebx
xor edi, r14d
xor r14d, dword [rcx + 0x80]
shr esi, 0x10
mov dword [rcx + 0x78], r15d
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x44], r15d
mov r15, qword [rsp + 0x28]
movzx r8d, sil
movzx esi, bh
mov dword [rsp + 0xa8], r11d
mov r11, qword [rsp + 8]
xor eax, ebp
mov dword [rsp + 0xac], r14d
mov r12d, dword [r15 + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov dword [rcx + 0x80], r14d
mov r14, qword [rsp + 0x10]
mov r13d, dword [r11 + r8*4]
mov dword [rsp + 0x38], r10d
mov ebp, dword [r14 + rsi*4]
mov r10, qword [rsp + 0x18]
mov esi, dword [r10 + rbx*4]
mov ebx, eax
shr ebx, 0x18
mov r8d, ebx
movzx ebx, ah
xor esi, r13d
mov r10d, dword [r10 + r8*4]
movzx r8d, al
shr eax, 0x10
mov r9d, dword [r14 + rbx*4]
mov r8d, dword [r11 + r8*4]
movzx eax, al
mov r14, qword [rsp + 0x18]
xor esi, r12d
mov ebx, r10d
xor esi, ebp
xor ebx, r8d
xor ebx, dword [r15 + rax*4]
mov eax, edi
xor ebx, r9d
shr eax, 0x18
mov r11d, dword [r14 + rax*4]
mov dword [rsp + 0x28], ebx
mov eax, edi
movzx r14d, dil
mov rbx, qword [rsp + 8]
shr eax, 0x10
movzx eax, al
xor r10d, r11d
mov r14d, dword [rbx + r14*4]
mov ebx, edi
mov eax, dword [r15 + rax*4]
movzx edi, bh
mov rbx, qword [rsp + 0x10]
xor r11d, r14d
xor r8d, r14d
mov r14, qword [rsp + 0x18]
xor r11d, eax
xor r11d, dword [rbx + rdi*4]
mov edi, dword [rsp + 0x24]
xor r13d, r8d
mov r8d, edi
shr r8d, 0x18
mov r8d, dword [r14 + r8*4]
mov r14d, edi
shr edi, 0x10
movzx edi, dil
mov edi, dword [r15 + rdi*4]
xor r10d, r8d
xor eax, edi
xor r12d, eax
mov eax, r14d
mov r14, qword [rsp + 8]
movzx eax, ah
mov eax, dword [rbx + rax*4]
xor r9d, eax
xor ebp, r9d
movzx r9d, byte [rsp + 0x24]
xor r8d, dword [r14 + r9*4]
mov r9d, r13d
mov r14d, dword [rsp + 0x28]
xor r8d, edi
mov edi, esi
xor eax, r8d
mov r8d, r10d
mov ebx, r14d
xor edi, r10d
xor r9d, eax
shl r8d, 8
xor ebx, r12d
mov dword [rsp + 0xc8], edi
mov dword [rsp + 0xcc], r9d
mov r9d, r13d
xor r8d, r14d
mov edi, r11d
shr r9d, 0x18
and r8d, 0xff000000
mov dword [rsp + 0xc0], ebx
xor edi, ebp
xor r9d, esi
mov dword [rsp + 0xd0], edi
movzx r9d, r9b
or r8d, r9d
mov r9d, r12d
shl r9d, 8
xor r9d, r11d
and r9d, 0xff0000
or r8d, r9d
mov r9d, ebp
shl r9d, 8
xor r9d, eax
and r9d, 0xff00
or r8d, r9d
mov r9d, r13d
mov ebx, r8d
mov dword [rsp + 0xb8], r8d
shr r9d, 0x10
mov dword [rcx + 0x34], r8d
mov r8d, r10d
xor r9d, r14d
shl r8d, 0x10
movzx r9d, r9b
xor r8d, r11d
and r8d, 0xff000000
or r8d, r9d
mov r9d, r12d
shl r9d, 0x10
xor r9d, eax
and r9d, 0xff0000
or r8d, r9d
shl r10d, 0x18
mov r9d, ebp
shr r13d, 8
xor eax, r10d
shr r12d, 8
xor r11d, r13d
xor r12d, esi
and eax, 0xff000000
shr r9d, 0x10
movzx r13d, r11b
and r12d, 0xff0000
shr ebp, 8
xor r9d, esi
or eax, r13d
xor ebp, r14d
and r9d, 0xff00
mov r14, r15
or eax, r12d
and ebp, 0xff00
or r8d, r9d
mov r9d, ebx
mov r11d, eax
mov dword [rsp + 0xb0], r8d
mov edi, r8d
or r11d, ebp
mov dword [rcx + 0x38], r8d
mov dword [rsp + 0xbc], r11d
mov dword [rcx + 0x3c], r11d
mov esi, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x78]
mov qword [rsp + 0x28], r14
xor esi, r11d
xor edi, dword [rcx + 0x28]
mov r13, qword [rsp + 0x10]
xor r10d, ebx
xor ebp, r9d
mov dword [rsp + 0x48], esi
mov ebx, edi
mov edi, dword [rcx + 0x2c]
mov r12, qword [rsp + 0x18]
mov dword [rcx + 0x74], esi
mov esi, r10d
shr esi, 0x10
mov dword [rsp + 0x54], ebp
movzx r9d, r10b
mov dword [rcx + 0x6c], ebp
mov ebp, dword [rsp + 0x60]
movzx eax, sil
xor edi, r11d
xor ebp, r8d
mov r8d, dword [r15 + rax*4]
mov eax, r10d
shr r10d, 0x18
movzx eax, ah
mov esi, dword [r12 + r10*4]
mov dword [rsp + 0x60], ebp
mov r11d, dword [r13 + rax*4]
mov rax, qword [rsp + 8]
mov dword [rcx + 0x70], ebp
mov ebp, ebx
shr ebp, 0x18
mov r9d, dword [rax + r9*4]
mov r10d, ebp
mov dword [rsp + 0x50], r11d
movzx ebp, bh
mov r10d, dword [r12 + r10*4]
mov ebp, dword [r13 + rbp*4]
xor esi, r9d
xor esi, r8d
xor esi, r11d
movzx r11d, bl
shr ebx, 0x10
mov r15d, dword [rax + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, r15d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
xor r9d, r15d
shr r11d, 0x18
xor ebx, ebp
mov r13d, dword [r12 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
mov eax, edi
mov r11d, r13d
movzx edi, ah
mov rax, qword [rsp + 0x10]
xor r11d, r14d
xor r14d, r9d
xor r11d, r12d
xor r11d, dword [rax + rdi*4]
mov edi, dword [rsp + 0xc8]
shr edi, 0x18
mov r9d, edi
mov rdi, qword [rsp + 0x18]
mov r9d, dword [rdi + r9*4]
mov r15, qword [rsp + 0x28]
mov eax, dword [rsp + 0xd0]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0xc0]
movzx edi, ah
mov eax, dword [rsp + 0x50]
shr r10, 0x10
xor eax, ebp
mov rbp, qword [rsp + 8]
and r10d, 0xff
mov r10d, dword [r15 + r10*4]
mov r15d, ebx
xor r8d, r10d
xor r12d, r8d
mov r8, rdi
mov rdi, qword [rsp + 0x10]
xor r15d, r12d
mov r8d, dword [rdi + r8*4]
movzx edi, byte [rsp + 0xcc]
mov dword [rsp + 0xd0], r15d
mov r15d, r14d
xor r9d, dword [rbp + rdi*4]
xor eax, r8d
mov edi, r13d
xor r9d, r10d
shl edi, 8
mov r10d, r11d
xor r8d, r9d
mov r9d, esi
xor r10d, eax
xor r9d, r13d
mov dword [rsp + 0xd8], r10d
xor r15d, r8d
mov dword [rsp + 0xcc], r9d
mov r9d, edi
mov edi, r12d
xor r9d, ebx
shl edi, 8
mov r10d, r9d
mov r9d, edi
xor r9d, r11d
and r10d, 0xff000000
and r9d, 0xff0000
or r9d, r10d
mov r10d, eax
shl r10d, 8
xor r10d, r8d
and r10d, 0xff00
or r9d, r10d
mov r10d, r14d
shr r10d, 0x18
xor r10d, esi
movzx r10d, r10b
or r9d, r10d
mov edi, r9d
mov dword [rsp + 0x78], r9d
mov dword [rcx + 0x28], r9d
mov r9d, r13d
shl r13d, 0x18
shl r9d, 0x10
xor r13d, r8d
xor r9d, r11d
and r13d, 0xff000000
mov r10d, r9d
mov r9d, r12d
shr r12d, 8
shl r9d, 0x10
and r10d, 0xff000000
xor r12d, esi
xor r9d, r8d
and r12d, 0xff0000
and r9d, 0xff0000
or r13d, r12d
or r9d, r10d
mov r10d, eax
shr eax, 8
shr r10d, 0x10
xor eax, ebx
xor r10d, esi
and eax, 0xff00
mov esi, dword [rsp + 0x6c]
and r10d, 0xff00
or r9d, r10d
mov r10d, r14d
shr r10d, 0x10
xor r10d, ebx
movzx r10d, r10b
or r9d, r10d
or r13d, eax
shr r14d, 8
xor r14d, r11d
mov r8d, r13d
mov r11d, dword [rsp + 0x30]
xor esi, r9d
movzx eax, r14b
mov r14, qword [rsp + 0x28]
mov dword [rsp + 0x50], esi
or r8d, eax
mov eax, dword [rsp + 0x68]
xor r11d, edi
mov dword [rcx + 0x64], esi
mov r10d, r11d
mov esi, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x64]
mov dword [rsp + 0xc8], r9d
xor eax, r8d
mov dword [rcx + 0x2c], r9d
mov ebx, eax
mov eax, dword [rsp + 0x94]
xor esi, r8d
xor r11d, r9d
mov dword [rsp + 0xc0], r8d
xor eax, edi
mov dword [rcx + 0x30], r8d
movzx r8d, r10b
mov dword [rcx + 0x60], eax
mov eax, r10d
shr eax, 0x10
mov dword [rcx + 0x68], esi
movzx eax, al
mov eax, dword [r14 + rax*4]
mov dword [rsp + 0x28], eax
mov eax, r10d
mov r13, qword [rsp + 0x10]
shr r10d, 0x18
movzx esi, ah
mov eax, r11d
mov ebp, dword [rbp + r8*4]
mov r12, qword [rsp + 0x18]
shr eax, 0x18
mov r9d, dword [r13 + rsi*4]
mov r8d, eax
mov eax, r11d
mov edi, dword [r12 + r10*4]
movzx esi, ah
mov r10d, dword [r12 + r8*4]
movzx r8d, r11b
shr r11d, 0x10
mov r12d, dword [r13 + rsi*4]
mov rsi, qword [rsp + 8]
movzx r11d, r11b
xor edi, ebp
xor edi, dword [rsp + 0x28]
mov eax, dword [rsp + 0x28]
mov qword [rsp + 0x28], r14
mov r8d, dword [rsi + r8*4]
mov esi, r10d
xor edi, r9d
xor r9d, r12d
xor esi, r8d
xor esi, dword [r14 + r11*4]
mov r11d, ebx
xor r8d, ebp
xor esi, r12d
mov r12, qword [rsp + 0x18]
shr r11d, 0x18
mov ebp, dword [r12 + r11*4]
mov r11d, ebx
mov r12, qword [rsp + 8]
shr r11d, 0x10
movzx r11d, r11b
xor r10d, ebp
mov r13d, dword [r14 + r11*4]
movzx r11d, bl
movzx ebx, bh
mov r12d, dword [r12 + r11*4]
xor eax, r13d
xor ebp, r12d
xor r8d, r12d
xor ebp, r13d
mov r13, qword [rsp + 0x10]
mov r11d, dword [r13 + rbx*4]
mov ebx, dword [rsp + 0xcc]
xor r11d, ebp
mov rbp, qword [rsp + 0x18]
shr ebx, 0x18
mov ebx, dword [rbp + rbx*4]
mov rbp, qword [rsp + 0xd0]
xor r10d, ebx
mov dword [rsp + 0x30], ebx
shr rbp, 0x10
mov ebx, dword [rsp + 0xd8]
and ebp, 0xff
mov r13d, dword [r14 + rbp*4]
movzx ebp, bh
mov rbx, qword [rsp + 0x10]
mov r12d, dword [rbx + rbp*4]
mov rbx, qword [rsp + 8]
movzx ebp, r15b
xor eax, r13d
mov r15d, dword [rsp + 0x30]
xor r15d, dword [rbx + rbp*4]
mov ebp, edi
xor r9d, r12d
xor ebp, r10d
mov ebx, r15d
mov r15d, r11d
mov r14d, ebp
mov ebp, esi
xor ebx, r13d
mov r13d, r8d
xor ebp, eax
xor r12d, ebx
mov ebx, r10d
xor r15d, r9d
mov dword [rsp + 0x30], ebp
mov ebp, r8d
shl ebx, 8
xor r13d, r12d
shr ebp, 0x18
xor ebx, esi
mov dword [rsp + 0x6c], r13d
xor ebp, edi
and ebx, 0xff000000
mov dword [rsp + 0x70], r15d
mov r15d, r10d
movzx ebp, bpl
shl r15d, 0x10
or ebx, ebp
mov ebp, eax
xor r15d, r11d
shl ebp, 8
and r15d, 0xff000000
xor ebp, r11d
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
mov r13d, ebx
mov ebx, r8d
shl ebp, 8
shr ebx, 0x10
xor ebp, r12d
xor ebx, esi
and ebp, 0xff00
movzx ebx, bl
or r13d, ebp
mov ebp, dword [rsp + 0x90]
or r15d, ebx
mov ebx, eax
mov dword [rsp + 0x64], r13d
shl ebx, 0x10
mov dword [rcx + 0x1c], r13d
xor ebx, r12d
shl r10d, 0x18
shr r8d, 8
and ebx, 0xff0000
xor r10d, r12d
shr eax, 8
or r15d, ebx
xor r8d, r11d
mov ebx, r9d
and r10d, 0xff000000
shr ebx, 0x10
movzx r8d, r8b
xor eax, edi
shr r9d, 8
xor ebx, edi
or r10d, r8d
mov r8d, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x7c]
and ebx, 0xff00
xor r9d, esi
and eax, 0xff0000
mov r12, qword [rsp + 8]
xor r8d, r13d
or r15d, ebx
or r10d, eax
and r9d, 0xff00
xor edi, r15d
mov esi, r8d
or r10d, r9d
mov r9d, dword [rsp + 0x38]
mov ebx, edi
shr esi, 0x10
mov rdi, qword [rsp + 0x28]
xor ebp, r10d
movzx eax, sil
xor r9d, dword [rsp + 0x80]
mov r11d, r10d
mov dword [rcx + 0x24], r10d
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x68], r10d
mov r10d, dword [rsp + 0x98]
mov dword [rcx + 0x20], r15d
xor r15d, r9d
mov r9d, dword [rsp + 0x24]
mov dword [rsp + 0x24], eax
mov eax, r8d
xor r10d, r13d
movzx esi, ah
mov dword [rcx + 0x58], r15d
mov rax, qword [rsp + 0x18]
mov r15, qword [rsp + 0x10]
mov r13d, dword [rsp + 0x24]
mov dword [rcx + 0x54], r10d
movzx r10d, r8b
xor r9d, dword [rsp + 0x88]
shr r8d, 0x18
xor r9d, r11d
mov r11d, dword [r12 + r10*4]
mov dword [rcx + 0x5c], r9d
mov r9d, dword [r15 + rsi*4]
mov esi, dword [rax + r8*4]
mov r8d, ebx
xor esi, r11d
xor r13d, esi
shr r8d, 0x18
movzx esi, bh
mov r10d, dword [rax + r8*4]
movzx r8d, bl
shr ebx, 0x10
mov esi, dword [r15 + rsi*4]
mov r8d, dword [r12 + r8*4]
movzx ebx, bl
xor r13d, r9d
mov r15, rdi
mov r12d, r10d
xor r9d, esi
shr r14d, 0x18
xor r12d, r8d
xor r8d, r11d
xor r12d, dword [rdi + rbx*4]
mov r11d, ebp
mov ebx, ebp
shr r11d, 0x18
xor r12d, esi
shr ebx, 0x10
mov r11d, dword [rax + r11*4]
mov rsi, qword [rsp + 8]
movzx ebx, bl
mov eax, dword [rsp + 0x24]
mov edi, dword [rdi + rbx*4]
movzx ebx, bpl
xor r10d, r11d
mov esi, dword [rsi + rbx*4]
mov ebx, ebp
xor eax, edi
movzx ebp, bh
xor r11d, esi
xor r8d, esi
xor r11d, edi
mov rdi, qword [rsp + 0x10]
xor r11d, dword [rdi + rbp*4]
mov ebx, r11d
mov r11d, r14d
mov r14, qword [rsp + 0x18]
mov r11d, dword [r14 + r11*4]
mov r14, qword [rsp + 0x30]
shr r14, 0x10
xor r10d, r11d
mov rsi, r14
and esi, 0xff
mov r14d, dword [r15 + rsi*4]
xor eax, r14d
mov r15d, eax
mov eax, dword [rsp + 0x70]
movzx esi, ah
mov eax, r15d
mov ebp, dword [rdi + rsi*4]
movzx edi, byte [rsp + 0x6c]
mov rsi, qword [rsp + 8]
xor r9d, ebp
xor r11d, dword [rsi + rdi*4]
mov edi, r13d
xor r11d, r14d
xor edi, r10d
mov r14d, r8d
mov esi, r11d
mov r11d, r12d
and edi, 0xff000000
xor r11d, r15d
xor esi, ebp
mov ebp, r8d
and r11d, 0xff0000
or edi, r11d
mov r11d, r8d
xor r11d, esi
movzx r11d, r11b
or edi, r11d
mov r11d, ebx
shr ebp, 0x18
shl eax, 8
xor r11d, r9d
xor ebp, r13d
shr r14d, 0x10
and r11d, 0xff00
movzx ebp, bpl
xor r14d, r12d
or edi, r11d
mov r11d, r10d
movzx r14d, r14b
shl r11d, 8
mov dword [rcx + 0xc], edi
xor r11d, r12d
and r11d, 0xff000000
or r11d, ebp
mov ebp, eax
mov eax, r15d
xor ebp, ebx
shl eax, 0x10
and ebp, 0xff0000
or r11d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or r11d, ebp
mov ebp, r10d
shl ebp, 0x10
mov dword [rcx + 0x10], r11d
xor ebp, ebx
and ebp, 0xff000000
or ebp, r14d
mov r14d, eax
mov eax, r15d
xor r14d, esi
and r14d, 0xff0000
or ebp, r14d
mov r14d, r9d
shr r14d, 0x10
xor r14d, r13d
and r14d, 0xff00
or ebp, r14d
shl r10d, 0x18
shr r8d, 8
xor r10d, esi
shr eax, 8
mov dword [rsp + 0x38], ebp
xor r8d, ebx
and r10d, 0xff000000
xor eax, r13d
mov dword [rcx + 0x14], ebp
shr r9d, 8
movzx r8d, r8b
and eax, 0xff0000
or r10d, r8d
xor r9d, r12d
or r10d, eax
and r9d, 0xff00
xor eax, eax
or r10d, r9d
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x30], r10d
mov dword [rcx + 0x18], r10d
jbe 0x4947f9
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x24], r9d
jmp 0x494942
mov eax, dword [rcx + 0x8c]
mov r14d, dword [rcx + 0x34]
mov r12d, dword [rcx + 0x6c]
mov r11d, dword [rcx + 0x70]
mov dword [rsp + 0x9c], eax
mov eax, dword [rcx + 0x3c]
mov r15d, dword [rcx + 0x7c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0xa8], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x7c], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x98], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 0x90]
mov dword [rsp + 0xbc], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0xcc], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0xd0], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0xd8], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0xdc], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0xac], eax
lea rax, [0x006a0160]
mov qword [rsp + 0x28], rax
lea rax, [0x0069fd60]
mov qword [rsp + 0x10], rax
lea rax, [0x0069f960]
mov qword [rsp + 8], rax
lea rax, [0x006a0560]
mov qword [rsp + 0x18], rax
xor r15d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x48]
xor r14d, r12d
mov esi, dword [rsp + 0x64]
mov ebx, dword [rcx + 0x60]
mov dword [rsp + 0x58], r15d
xor r11d, dword [rsp + 0x40]
mov edi, dword [rcx + 0x68]
mov dword [rcx + 0x7c], r15d
mov r15d, dword [rsp + 0x30]
xor ebx, r11d
xor esi, ebp
mov dword [rsp + 0x54], r14d
mov r10d, dword [rcx + 0x54]
mov eax, dword [rsp + 0x4c]
mov dword [rcx + 0x34], r14d
mov r14d, dword [rsp + 0x44]
xor r15d, r11d
mov dword [rsp + 0x64], esi
mov dword [rcx + 0x1c], esi
mov esi, ebx
xor eax, ebp
xor edi, r14d
shr esi, 0x10
xor r14d, dword [rcx + 0x20]
mov dword [rsp + 0x30], r15d
mov dword [rcx + 0x18], r15d
mov r15, qword [rsp + 0x28]
movzx r8d, sil
movzx esi, bh
mov dword [rsp + 0x3c], r10d
mov r10, qword [rsp + 0x18]
mov dword [rsp + 0x68], r14d
mov r12d, dword [r15 + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov dword [rcx + 0x20], r14d
mov r14, qword [rsp + 0x10]
mov dword [rsp + 0x60], r11d
mov ebp, dword [r14 + rsi*4]
mov esi, dword [r10 + rbx*4]
mov dword [rcx + 0x70], r11d
mov ebx, eax
mov r11, qword [rsp + 8]
shr ebx, 0x18
mov r13d, dword [r11 + r8*4]
mov r8d, ebx
movzx ebx, ah
mov r10d, dword [r10 + r8*4]
movzx r8d, al
shr eax, 0x10
mov r9d, dword [r14 + rbx*4]
mov r8d, dword [r11 + r8*4]
movzx eax, al
mov r14, qword [rsp + 0x18]
xor esi, r13d
mov ebx, r10d
xor esi, r12d
xor ebx, r8d
xor ebx, dword [r15 + rax*4]
mov eax, edi
xor esi, ebp
xor ebx, r9d
shr eax, 0x18
mov r11d, dword [r14 + rax*4]
mov dword [rsp + 0x28], ebx
mov eax, edi
movzx r14d, dil
mov rbx, qword [rsp + 8]
shr eax, 0x10
movzx eax, al
xor r10d, r11d
mov r14d, dword [rbx + r14*4]
mov ebx, edi
mov eax, dword [r15 + rax*4]
movzx edi, bh
mov rbx, qword [rsp + 0x10]
xor r11d, r14d
xor r8d, r14d
mov r14, qword [rsp + 0x18]
xor r11d, eax
xor r11d, dword [rbx + rdi*4]
mov edi, dword [rsp + 0x24]
xor r13d, r8d
mov r8d, edi
shr r8d, 0x18
mov r8d, dword [r14 + r8*4]
mov r14d, edi
shr edi, 0x10
movzx edi, dil
mov edi, dword [r15 + rdi*4]
xor r10d, r8d
xor eax, edi
xor r12d, eax
mov eax, r14d
mov r14, qword [rsp + 8]
movzx eax, ah
mov eax, dword [rbx + rax*4]
xor r9d, eax
xor ebp, r9d
movzx r9d, byte [rsp + 0x24]
xor r8d, dword [r14 + r9*4]
mov r9d, r13d
mov r14d, dword [rsp + 0x28]
xor r8d, edi
mov edi, esi
xor eax, r8d
xor edi, r10d
mov r8d, r13d
mov ebx, r14d
xor r9d, eax
mov dword [rsp + 0x80], edi
mov edi, r11d
shr r8d, 0x18
xor edi, ebp
mov dword [rsp + 0x94], r9d
mov r9d, r10d
xor r8d, esi
mov dword [rsp + 0xb8], edi
shl r9d, 8
mov edi, r12d
movzx r8d, r8b
xor r9d, r14d
shl edi, 8
xor ebx, r12d
xor edi, r11d
and r9d, 0xff000000
mov dword [rsp + 0x88], ebx
or r9d, r8d
and edi, 0xff0000
mov r8d, r13d
or r9d, edi
mov edi, ebp
shr r8d, 0x10
shl edi, 8
xor r8d, r14d
xor edi, eax
movzx r8d, r8b
and edi, 0xff00
or r9d, edi
mov ebx, r9d
mov dword [rsp + 0x6c], r9d
mov dword [rcx + 0x64], r9d
mov r9d, r10d
shl r9d, 0x10
xor r9d, r11d
and r9d, 0xff000000
or r9d, r8d
mov r8d, r12d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or r9d, r8d
shl r10d, 0x18
mov r8d, ebp
shr r13d, 8
xor eax, r10d
shr r12d, 8
mov r10d, dword [rsp + 0x3c]
xor r11d, r13d
xor r12d, esi
shr r8d, 0x10
and eax, 0xff000000
movzx r13d, r11b
xor r8d, esi
shr ebp, 8
xor r10d, ebx
or eax, r13d
and r12d, 0xff0000
and r8d, 0xff00
xor ebp, r14d
or eax, r12d
or r9d, r8d
and ebp, 0xff00
mov r14, r15
mov r11d, eax
mov edi, r9d
mov dword [rsp + 0x70], r9d
or r11d, ebp
mov esi, edi
mov dword [rcx + 0x68], r9d
mov r9d, ebx
mov dword [rsp + 0x78], r11d
mov dword [rcx + 0x6c], r11d
xor edi, dword [rcx + 0x58]
mov ebp, dword [rsp + 0x7c]
mov ebx, edi
mov edi, dword [rcx + 0x5c]
mov qword [rsp + 0x28], r14
mov r12, qword [rsp + 0x18]
xor ebp, r9d
xor edi, r11d
movzx r9d, r10b
mov dword [rsp + 0x4c], ebp
mov r13d, edi
mov dword [rcx + 0xc], ebp
mov ebp, dword [rsp + 0x90]
xor ebp, esi
mov esi, dword [rsp + 0x38]
mov dword [rsp + 0x7c], ebp
xor esi, r11d
mov dword [rcx + 0x10], ebp
mov ebp, ebx
mov dword [rsp + 0x90], esi
shr ebp, 0x18
mov dword [rcx + 0x14], esi
mov esi, r10d
shr esi, 0x10
movzx eax, sil
mov r8d, dword [r15 + rax*4]
mov r15, qword [rsp + 0x10]
mov eax, r10d
shr r10d, 0x18
movzx eax, ah
mov esi, dword [r12 + r10*4]
mov r10d, ebp
movzx ebp, bh
mov r11d, dword [r15 + rax*4]
mov rax, qword [rsp + 8]
mov r10d, dword [r12 + r10*4]
mov ebp, dword [r15 + rbp*4]
mov r9d, dword [rax + r9*4]
mov dword [rsp + 0x38], r11d
xor esi, r9d
xor esi, r8d
xor esi, r11d
movzx r11d, bl
shr ebx, 0x10
mov r15d, dword [rax + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, r15d
shr r13d, 0x18
xor ebx, dword [r14 + r11*4]
xor r9d, r15d
mov r11d, r13d
xor ebx, ebp
mov r13d, dword [r12 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
mov eax, edi
mov r11d, r13d
movzx edi, ah
mov rax, qword [rsp + 0x10]
xor r11d, r14d
xor r14d, r9d
xor r11d, r12d
xor r11d, dword [rax + rdi*4]
mov edi, dword [rsp + 0x80]
shr edi, 0x18
mov r9d, edi
mov rdi, qword [rsp + 0x18]
mov r9d, dword [rdi + r9*4]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x88]
mov r15, qword [rsp + 0x28]
mov eax, dword [rsp + 0xb8]
shr r10, 0x10
and r10d, 0xff
movzx edi, ah
mov eax, dword [rsp + 0x38]
mov r10d, dword [r15 + r10*4]
mov r15d, r13d
xor eax, ebp
mov rbp, qword [rsp + 8]
shl r15d, 8
xor r8d, r10d
xor r15d, ebx
xor r12d, r8d
mov r8, rdi
mov rdi, qword [rsp + 0x10]
and r15d, 0xff000000
mov r8d, dword [rdi + r8*4]
movzx edi, byte [rsp + 0x94]
xor r9d, dword [rbp + rdi*4]
xor eax, r8d
mov ebp, esi
mov edi, r11d
xor r9d, r10d
mov r10d, r14d
xor ebp, r13d
xor edi, eax
xor r8d, r9d
mov dword [rsp + 0xb8], ebp
mov ebp, ebx
xor r10d, r8d
xor ebp, r12d
mov dword [rsp + 0xc0], edi
mov dword [rsp + 0xc8], r10d
mov r10d, r15d
mov r15d, r12d
shl r15d, 8
mov dword [rsp + 0xb0], ebp
xor r15d, r11d
mov r9d, r15d
mov r15d, r10d
and r9d, 0xff0000
or r15d, r9d
mov r9d, eax
shl r9d, 8
xor r9d, r8d
and r9d, 0xff00
or r15d, r9d
mov r9d, r14d
shr r9d, 0x18
mov ebp, r15d
mov r15, qword [rsp + 0x28]
xor r9d, esi
movzx r9d, r9b
or ebp, r9d
mov r9d, r13d
shl r13d, 0x18
shl r9d, 0x10
xor r13d, r8d
mov dword [rsp + 0x80], ebp
xor r9d, r11d
and r13d, 0xff000000
mov dword [rcx + 0x58], ebp
and r9d, 0xff000000
mov r10d, r9d
mov r9d, r12d
shr r12d, 8
shl r9d, 0x10
xor r12d, esi
xor r9d, r8d
and r12d, 0xff0000
and r9d, 0xff0000
or r13d, r12d
or r9d, r10d
mov r10d, eax
shr eax, 8
shr r10d, 0x10
xor eax, ebx
xor r10d, esi
and eax, 0xff00
mov esi, ebp
and r10d, 0xff00
or r9d, r10d
mov r10d, r14d
shr r10d, 0x10
xor r10d, ebx
mov ebx, dword [rsp + 0xa0]
movzx r10d, r10b
or r9d, r10d
or r13d, eax
shr r14d, 8
xor r14d, r11d
mov r11d, dword [rsp + 0x50]
mov r8d, r13d
mov dword [rcx + 0x5c], r9d
movzx r12d, r14b
mov r13d, dword [rsp + 0xd0]
mov dword [rsp + 0x88], r9d
xor r11d, ebp
mov ebp, dword [rsp + 0xbc]
or r8d, r12d
mov r10d, r11d
xor r13d, r8d
mov dword [rcx + 0x60], r8d
xor ebx, r8d
xor ebp, esi
mov esi, dword [rsp + 0xcc]
mov r11d, dword [rsp + 0x98]
mov dword [rsp + 0x94], r8d
mov dword [rcx + 0x90], ebp
movzx r8d, r10b
xor esi, r9d
mov dword [rcx + 0x98], r13d
xor r11d, r9d
mov dword [rsp + 0x38], esi
mov dword [rcx + 0x94], esi
mov esi, r10d
shr esi, 0x10
movzx eax, sil
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x28], eax
mov r14, qword [rsp + 0x10]
mov eax, r10d
shr r10d, 0x18
movzx esi, ah
mov r13, qword [rsp + 8]
mov r12, qword [rsp + 0x18]
mov eax, r11d
mov r9d, dword [r14 + rsi*4]
mov esi, r11d
shr esi, 0x18
mov ebp, dword [r13 + r8*4]
mov edi, dword [r12 + r10*4]
mov r8d, esi
movzx esi, ah
mov eax, dword [rsp + 0x28]
mov r10d, dword [r12 + r8*4]
movzx r8d, r11b
shr r11d, 0x10
mov r12d, dword [r14 + rsi*4]
mov r8d, dword [r13 + r8*4]
movzx r11d, r11b
xor edi, ebp
xor edi, dword [rsp + 0x28]
mov esi, r10d
xor edi, r9d
xor r9d, r12d
mov qword [rsp + 0x28], r15
xor esi, r8d
xor r8d, ebp
xor esi, dword [r15 + r11*4]
mov rbp, qword [rsp + 0x18]
mov r11d, ebx
xor esi, r12d
mov r12, qword [rsp + 8]
shr r11d, 0x18
mov ebp, dword [rbp + r11*4]
mov r11d, ebx
shr r11d, 0x10
movzx r11d, r11b
xor r10d, ebp
mov r13d, dword [r15 + r11*4]
movzx r11d, bl
movzx ebx, bh
mov r12d, dword [r12 + r11*4]
mov r11d, dword [r14 + rbx*4]
mov ebx, dword [rsp + 0xb8]
xor eax, r13d
xor ebp, r12d
xor r8d, r12d
xor ebp, r13d
shr ebx, 0x18
xor r11d, ebp
mov rbp, qword [rsp + 0x18]
mov ebx, dword [rbp + rbx*4]
mov rbp, qword [rsp + 0xb0]
xor r10d, ebx
mov dword [rsp + 0x50], ebx
shr rbp, 0x10
mov ebx, dword [rsp + 0xc0]
and ebp, 0xff
mov r13d, dword [r15 + rbp*4]
movzx ebp, bh
mov rbx, qword [rsp + 8]
mov r12d, dword [r14 + rbp*4]
movzx ebp, byte [rsp + 0xc8]
mov r15d, dword [rsp + 0x50]
xor eax, r13d
xor r15d, dword [rbx + rbp*4]
xor r9d, r12d
mov ebp, r11d
mov ebx, r15d
xor ebp, r9d
xor ebx, r13d
mov r13d, edi
xor r13d, r10d
xor r12d, ebx
mov ebx, r8d
mov r14d, r13d
mov r13d, esi
xor ebx, r12d
xor r13d, eax
mov dword [rsp + 0xa0], r13d
mov dword [rsp + 0xb8], ebx
mov ebx, r10d
mov dword [rsp + 0xb0], ebp
mov ebp, r8d
shl ebx, 8
shr ebp, 0x18
xor ebx, esi
xor ebp, edi
and ebx, 0xff000000
movzx ebp, bpl
or ebx, ebp
mov ebp, eax
shl ebp, 8
xor ebp, r11d
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
mov r13d, ebx
mov ebx, r10d
shl ebp, 8
shl ebx, 0x10
xor ebp, r12d
mov r15d, ebx
mov ebx, r8d
and ebp, 0xff00
shr ebx, 0x10
xor r15d, r11d
or r13d, ebp
xor ebx, esi
and r15d, 0xff000000
mov dword [rsp + 0x50], r13d
movzx ebx, bl
mov dword [rcx + 0x4c], r13d
or r15d, ebx
mov ebx, eax
shl ebx, 0x10
xor ebx, r12d
shl r10d, 0x18
shr r8d, 8
and ebx, 0xff0000
xor r10d, r12d
shr eax, 8
or r15d, ebx
xor r8d, r11d
mov ebx, r9d
xor eax, edi
shr ebx, 0x10
movzx r8d, r8b
shr r9d, 8
and eax, 0xff0000
and r10d, 0xff000000
xor ebx, edi
xor r9d, esi
mov r11d, dword [rsp + 0xd8]
or r10d, r8d
mov r8d, dword [rsp + 0x40]
and ebx, 0xff00
and r9d, 0xff00
or r10d, eax
or r15d, ebx
mov r12, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
or r10d, r9d
xor r8d, r13d
mov r9d, dword [rsp + 0x3c]
xor r11d, r15d
xor r9d, dword [rsp + 0xa8]
mov dword [rcx + 0x50], r15d
mov esi, r8d
mov ebx, r11d
xor r15d, r9d
shr esi, 0x10
mov r11d, dword [rsp + 0xdc]
mov r9d, dword [rsp + 0x24]
movzx eax, sil
mov dword [rcx + 0x88], r15d
mov r15, qword [rsp + 0x28]
xor r11d, r10d
xor r9d, dword [rsp + 0x9c]
mov dword [rsp + 0x98], r10d
mov eax, dword [r15 + rax*4]
mov ebp, r11d
xor r9d, r10d
mov dword [rcx + 0x54], r10d
mov r11d, dword [rsp + 0xac]
movzx r10d, r8b
mov dword [rcx + 0x8c], r9d
mov dword [rsp + 0x24], eax
mov eax, r8d
shr r8d, 0x18
movzx esi, ah
mov rax, qword [rsp + 0x18]
xor r11d, r13d
mov r13d, dword [rsp + 0x24]
mov r9d, dword [rdi + rsi*4]
mov dword [rcx + 0x84], r11d
mov esi, dword [rax + r8*4]
mov r11d, dword [r12 + r10*4]
mov r8d, ebx
xor esi, r11d
xor r13d, esi
shr r8d, 0x18
movzx esi, bh
mov r10d, dword [rax + r8*4]
movzx r8d, bl
shr ebx, 0x10
mov esi, dword [rdi + rsi*4]
mov r8d, dword [r12 + r8*4]
movzx ebx, bl
xor r13d, r9d
shr r14d, 0x18
mov r12d, r10d
xor r9d, esi
xor r12d, r8d
xor r12d, dword [r15 + rbx*4]
xor r8d, r11d
mov r11d, ebp
xor r12d, esi
mov esi, ebp
shr r11d, 0x18
shr esi, 0x10
mov r11d, dword [rax + r11*4]
movzx ebx, sil
mov edi, dword [r15 + rbx*4]
mov rsi, qword [rsp + 8]
movzx ebx, bpl
xor r10d, r11d
mov eax, dword [rsp + 0x24]
mov esi, dword [rsi + rbx*4]
mov ebx, ebp
xor eax, edi
movzx ebp, bh
xor r11d, esi
xor r8d, esi
xor r11d, edi
mov rdi, qword [rsp + 0x10]
xor r11d, dword [rdi + rbp*4]
mov ebx, r11d
mov r11d, r14d
mov r14, qword [rsp + 0x18]
mov r11d, dword [r14 + r11*4]
mov r14, qword [rsp + 0xa0]
shr r14, 0x10
xor r10d, r11d
mov rsi, r14
and esi, 0xff
mov r14d, dword [r15 + rsi*4]
xor eax, r14d
mov r15d, eax
mov eax, dword [rsp + 0xb0]
movzx esi, ah
mov eax, r15d
mov ebp, dword [rdi + rsi*4]
movzx edi, byte [rsp + 0xb8]
mov rsi, qword [rsp + 8]
xor r9d, ebp
xor r11d, dword [rsi + rdi*4]
mov edi, r13d
xor r11d, r14d
xor edi, r10d
mov r14d, r8d
mov esi, r11d
mov r11d, r12d
and edi, 0xff000000
xor r11d, r15d
xor esi, ebp
mov ebp, r8d
and r11d, 0xff0000
or edi, r11d
mov r11d, r8d
xor r11d, esi
movzx r11d, r11b
or edi, r11d
mov r11d, ebx
shr ebp, 0x18
shl eax, 8
xor r11d, r9d
xor ebp, r13d
shr r14d, 0x10
and r11d, 0xff00
movzx ebp, bpl
xor r14d, r12d
or edi, r11d
mov r11d, r10d
movzx r14d, r14b
shl r11d, 8
mov dword [rcx + 0x3c], edi
xor r11d, r12d
and r11d, 0xff000000
or r11d, ebp
mov ebp, eax
mov eax, r15d
xor ebp, ebx
shl eax, 0x10
and ebp, 0xff0000
or r11d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or r11d, ebp
mov ebp, r10d
shl ebp, 0x10
mov dword [rcx + 0x40], r11d
xor ebp, ebx
and ebp, 0xff000000
or ebp, r14d
mov r14d, eax
mov eax, r15d
xor r14d, esi
and r14d, 0xff0000
or ebp, r14d
mov r14d, r9d
shr r14d, 0x10
xor r14d, r13d
and r14d, 0xff00
or ebp, r14d
shl r10d, 0x18
shr r8d, 8
xor r10d, esi
shr eax, 8
mov dword [rsp + 0x3c], ebp
xor r8d, ebx
and r10d, 0xff000000
xor eax, r13d
mov dword [rcx + 0x44], ebp
shr r9d, 8
movzx r8d, r8b
and eax, 0xff0000
or r10d, r8d
xor r9d, r12d
or r10d, eax
and r9d, 0xff00
mov eax, 2
or r10d, r9d
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x40], r10d
mov dword [rcx + 0x48], r10d
jbe 0x4947f9
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x24], r9d
jmp 0x4954f3
mov eax, dword [rsp + 0x24]
mov dword [rcx + 4], r11d
mov dword [rcx], eax
jmp 0x4947c9