Function at 0x49aba0
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, 0xd8
mov rax, r8
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
mov qword [rsp + 0x130], r8
mov dword [rsp + 0x24], eax
mov eax, dword [rcx + 4]
cmp eax, 3
ja 0x49acf0
mov r8d, 4
sub r8d, eax
cmp r8, qword [rsp + 0x130]
ja 0x49ad30
mov r8d, 3
sub r8d, eax
mov eax, 4
mov r9d, dword [rsp + 0x24]
movzx r10d, byte [rdx]
shl r9d, 8
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x24], esi
test r8d, r8d
je 0x49ac5e
movzx r10d, byte [rdx + 1]
shl esi, 8
mov r9d, esi
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x24], esi
cmp r8d, 1
je 0x49ac5e
movzx r10d, byte [rdx + 2]
shl esi, 8
mov edi, r10d
or edi, esi
mov dword [rsp + 0x24], edi
cmp r8d, 2
je 0x49ac5e
movzx r10d, byte [rdx + 3]
shl edi, 8
or r10d, edi
mov dword [rsp + 0x24], r10d
mov rdi, qword [rsp + 0x130]
lea rdx, [rdx + r8 + 1]
lea r9, [rdi - 1]
sub r9, r8
mov qword [rsp + 0x130], r9
je 0x49cfa0
mov eax, dword [rcx + 8]
cmp eax, 1
je 0x49c410
cmp eax, 2
je 0x49b8c8
test eax, eax
je 0x49ad60
mov edi, dword [rsp + 0x130]
mov dword [rcx + 4], edi
mov rdi, qword [rsp + 0x130]
lea r8, [rdi - 1]
nop dword [rax + 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 0x49acc0
mov dword [rcx], r8d
mov dword [rcx + 8], eax
add rsp, 0xd8
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 0x49c410
cmp eax, 2
je 0x49b8c8
test eax, eax
je 0x49ad60
mov edi, dword [rsp + 0x130]
mov dword [rcx + 4], edi
mov rdi, qword [rsp + 0x130]
lea r8, [rdi - 1]
test rdi, rdi
jne 0x49acb8
xor r8d, r8d
jmp 0x49acd3
add eax, dword [rsp + 0x130]
cmp qword [rsp + 0x130], 0
je 0x49cfa0
mov edi, dword [rsp + 0x130]
lea r8d, [rdi - 1]
jmp 0x49ac00
mov eax, dword [rcx + 0x64]
mov r14d, dword [rcx + 0xc]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x2c]
mov r13d, dword [rcx + 0x10]
mov dword [rsp + 0xa8], eax
mov eax, dword [rcx + 0x6c]
lea r15, [0x006fabe0]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0x8c], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x94], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xac], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x98], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0xa4], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x68], eax
lea rax, [0x006fa7e0]
mov qword [rsp + 0x18], rax
lea rax, [0x006fa3e0]
mov qword [rsp + 8], rax
lea rax, [0x006f9fe0]
mov qword [rsp + 0x10], rax
xor r14d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x5c]
mov dword [rsp + 0x44], r14d
mov dword [rcx + 0x64], r14d
mov esi, dword [rsp + 0x8c]
mov r14d, dword [rsp + 0x2c]
xor edi, dword [rsp + 0x3c]
mov r10d, dword [rcx + 0x84]
mov r8d, dword [rcx + 0x90]
xor r13d, dword [rsp + 0x4c]
xor esi, r14d
mov dword [rsp + 0x58], edi
mov dword [rcx + 0x1c], edi
mov edi, dword [rsp + 0x94]
xor r8d, r13d
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x5c], r10d
mov ebx, dword [rcx + 0x98]
mov r10d, esi
mov esi, dword [rsp + 0x38]
xor edi, r14d
mov r9d, r8d
xor ebx, eax
xor esi, r13d
xor eax, dword [rcx + 0x50]
mov dword [rsp + 0x94], edi
mov dword [rcx + 0x4c], edi
shr r9d, 0x10
mov rdi, qword [rsp + 0x18]
mov r11, qword [rsp + 8]
mov dword [rsp + 0x48], esi
mov dword [rcx + 0x48], esi
mov dword [rsp + 0xb0], eax
mov rsi, qword [rsp + 0x10]
mov dword [rcx + 0x50], eax
movzx r9d, r9b
mov eax, r8d
mov r12d, dword [rdi + r9*4]
movzx eax, ah
movzx r9d, r8b
shr r8d, 0x18
mov r14d, dword [r11 + rax*4]
mov ebp, dword [rsi + r9*4]
mov dword [rsp + 0x74], r13d
mov dword [rcx + 0x10], r13d
mov r9d, dword [r15 + r8*4]
mov dword [rsp + 0x38], r12d
xor r9d, ebp
mov r8d, r9d
mov r9d, r10d
xor r8d, r12d
mov eax, r9d
mov r13d, r8d
movzx eax, ah
mov r8d, r10d
mov r11d, dword [r11 + rax*4]
shr r8d, 0x18
mov eax, r9d
mov r10d, dword [r15 + r8*4]
shr eax, 0x10
movzx r8d, r9b
movzx eax, al
mov r9, rsi
mov esi, dword [rsi + r8*4]
mov r12d, dword [rdi + rax*4]
mov r8d, r10d
xor r8d, esi
mov eax, ebx
xor r12d, r8d
shr eax, 0x18
xor r12d, r11d
mov dword [rsp + 0x60], r11d
mov r11d, dword [r15 + rax*4]
mov eax, ebx
shr eax, 0x10
movzx r8d, bl
mov r8d, dword [r9 + r8*4]
movzx eax, al
mov eax, dword [rdi + rax*4]
mov r9, qword [rsp + 8]
xor r10d, r11d
xor r11d, r8d
xor r8d, esi
mov esi, dword [rsp + 0x24]
xor r11d, eax
movzx ebx, bh
xor r11d, dword [r9 + rbx*4]
mov ebx, esi
shr ebx, 0x18
mov ebx, dword [r15 + rbx*4]
xor r13d, r14d
xor r10d, ebx
mov dword [rsp + 0x70], ebx
mov ebx, esi
shr esi, 0x10
movzx esi, sil
mov edi, dword [rdi + rsi*4]
movzx esi, bh
mov esi, dword [r9 + rsi*4]
mov r9d, dword [rsp + 0x60]
xor eax, edi
xor r8d, ebp
xor eax, dword [rsp + 0x38]
xor r9d, esi
xor r9d, r14d
movzx ebp, byte [rsp + 0x24]
mov r14, qword [rsp + 0x10]
mov ebx, dword [rsp + 0x70]
xor ebx, dword [r14 + rbp*4]
xor ebx, edi
xor esi, ebx
mov ebx, r13d
xor ebx, r10d
mov r14d, r12d
xor r14d, eax
mov dword [rsp + 0x60], ebx
mov ebx, r11d
xor ebx, r9d
mov dword [rsp + 0x78], r14d
mov r14d, r10d
shl r14d, 8
mov dword [rsp + 0x88], ebx
mov ebx, r8d
mov edi, r14d
shr ebx, 0x18
mov r14d, eax
xor edi, r12d
xor ebx, r13d
shl r14d, 8
xor r14d, r11d
and edi, 0xff000000
movzx ebx, bl
or edi, ebx
and r14d, 0xff0000
or edi, r14d
mov r14d, r9d
shl r14d, 8
xor r14d, esi
mov ebp, r8d
xor ebp, esi
and r14d, 0xff00
mov ebx, edi
or ebx, r14d
mov dword [rsp + 0x80], ebp
mov ebp, r8d
mov r14d, ebx
shr ebp, 0x10
mov dword [rsp + 0xc0], ebx
mov dword [rcx + 0x94], ebx
mov ebx, r10d
shl ebx, 0x10
mov edi, ebp
xor ebx, r11d
xor edi, r12d
mov ebp, eax
shl ebp, 0x10
and ebx, 0xff000000
movzx edi, dil
or ebx, edi
mov edi, ebp
xor edi, esi
and edi, 0xff0000
or ebx, edi
mov ebp, r9d
shl r10d, 0x18
shr r8d, 8
shr ebp, 0x10
xor r10d, esi
xor r8d, r11d
shr eax, 8
xor eax, r13d
mov edi, ebp
and r10d, 0xff000000
movzx r8d, r8b
shr r9d, 8
xor edi, r13d
or r10d, r8d
and eax, 0xff0000
xor r9d, r12d
and edi, 0xff00
or r10d, eax
and r9d, 0xff00
or r10d, r9d
or ebx, edi
mov dword [rsp + 0xc4], ebx
mov dword [rcx + 0x98], ebx
mov dword [rsp + 0x70], r10d
mov dword [rcx + 0xc], r10d
mov r13d, dword [rsp + 0x90]
mov esi, ebx
xor r13d, esi
mov eax, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x34]
xor eax, r14d
xor esi, r10d
mov r8d, dword [rcx + 0x8c]
mov dword [rsp + 0xcc], esi
mov dword [rcx + 0x44], esi
mov esi, eax
mov rdi, qword [rsp + 0x18]
xor r8d, r10d
mov r12d, dword [rsp + 0x28]
shr esi, 0x10
mov r9d, r8d
mov rbp, qword [rsp + 0x10]
movzx r8d, sil
xor r12d, r14d
mov dword [rsp + 0xc8], r13d
mov dword [rcx + 0x40], r13d
movzx esi, ah
mov r13d, dword [rdi + r8*4]
movzx r8d, al
shr eax, 0x18
mov r10d, dword [rbp + r8*4]
mov dword [rsp + 0x38], r12d
mov dword [rcx + 0x3c], r12d
mov r12d, dword [r15 + rax*4]
xor ebx, dword [rcx + 0x88]
xor r12d, r10d
mov eax, r12d
mov r12d, ebx
xor eax, r13d
mov r11, qword [rsp + 8]
shr r12d, 0x18
movzx r8d, bl
mov r14d, eax
mov eax, r12d
mov esi, dword [r11 + rsi*4]
mov r12d, dword [r15 + rax*4]
mov rax, rbp
mov ebp, dword [rbp + r8*4]
mov r8d, ebx
shr r8d, 0x10
xor r14d, esi
mov dword [rsp + 0x34], r12d
movzx r8d, r8b
xor r12d, ebp
xor r12d, dword [rdi + r8*4]
mov r8d, r9d
shr r8d, 0x18
mov dword [rsp + 0x28], esi
movzx esi, bh
mov r11d, dword [r11 + rsi*4]
mov esi, dword [r15 + r8*4]
mov r8d, r9d
shr r8d, 0x10
movzx r8d, r8b
mov ebx, dword [rdi + r8*4]
movzx r8d, r9b
mov edi, dword [rax + r8*4]
mov eax, r9d
movzx eax, ah
mov r8d, esi
mov r9, rax
xor r8d, edi
mov rax, qword [rsp + 8]
xor r8d, ebx
xor r8d, dword [rax + r9*4]
mov r9d, dword [rsp + 0x60]
xor ebp, r10d
shr r9d, 0x18
mov r9d, dword [r15 + r9*4]
mov eax, dword [rsp + 0x34]
mov r10, qword [rsp + 0x78]
xor eax, r9d
shr r10, 0x10
xor ebp, edi
xor esi, eax
mov rdi, qword [rsp + 0x18]
mov rax, r10
and eax, 0xff
mov eax, dword [rdi + rax*4]
movzx edi, byte [rsp + 0x80]
mov dword [rsp + 0x34], eax
xor r13d, eax
mov eax, dword [rsp + 0x88]
xor ebx, r13d
mov r13, qword [rsp + 8]
movzx eax, ah
mov r10d, dword [r13 + rax*4]
mov rax, qword [rsp + 0x10]
xor r12d, r11d
xor r9d, dword [rax + rdi*4]
xor r9d, dword [rsp + 0x34]
xor r11d, dword [rsp + 0x28]
xor r11d, r10d
xor r10d, r9d
mov r9d, r14d
xor r9d, esi
mov dword [rsp + 0x28], r9d
mov r9d, r12d
xor r9d, ebx
mov dword [rsp + 0x60], r9d
mov eax, esi
mov r9d, ebp
xor r9d, r10d
shl eax, 8
xor eax, r12d
mov dword [rsp + 0x78], r9d
mov r9d, r8d
xor r9d, r11d
and eax, 0xff000000
mov dword [rsp + 0x80], r9d
mov r9d, eax
mov eax, ebx
shl eax, 8
xor eax, r8d
and eax, 0xff0000
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, r10d
and r9d, 0xff00
or eax, r9d
mov r9d, ebp
shr r9d, 0x18
xor r9d, r14d
movzx r9d, r9b
or eax, r9d
mov edi, eax
mov dword [rsp + 0x90], eax
mov dword [rcx + 0x88], eax
mov eax, esi
shl eax, 0x10
xor eax, r8d
and eax, 0xff000000
mov r9d, eax
mov eax, ebx
shl eax, 0x10
xor eax, r10d
and eax, 0xff0000
or eax, r9d
mov r9d, r11d
shr r9d, 0x10
xor r9d, r14d
and r9d, 0xff00
or eax, r9d
shl esi, 0x18
mov r9d, ebp
shr ebx, 8
xor esi, r10d
xor ebx, r14d
shr r9d, 0x10
shr r11d, 8
xor r9d, r12d
and ebx, 0xff0000
xor r11d, r12d
and esi, 0xff000000
movzx r9d, r9b
or esi, ebx
and r11d, 0xff00
or eax, r9d
or esi, r11d
shr ebp, 8
xor r8d, ebp
movzx r11d, r8b
mov ebp, dword [rsp + 0xa0]
or esi, r11d
xor ebp, esi
mov r14d, esi
mov dword [rsp + 0xb8], esi
mov dword [rcx + 0x90], esi
mov esi, dword [rsp + 0x98]
mov r11d, dword [rsp + 0x3c]
xor esi, eax
mov ebx, ebp
mov dword [rsp + 0x34], esi
mov dword [rcx + 0x34], esi
mov ebp, dword [rsp + 0xac]
mov esi, dword [rsp + 0xa4]
xor r11d, edi
mov r10d, r11d
xor ebp, edi
xor esi, r14d
mov dword [rsp + 0x8c], eax
mov dword [rcx + 0x8c], eax
mov dword [rcx + 0x30], ebp
mov r11d, dword [rsp + 0x54]
mov dword [rcx + 0x38], esi
mov esi, r10d
mov rdi, qword [rsp + 0x18]
shr esi, 0x10
xor r11d, eax
movzx eax, sil
mov r9d, dword [rdi + rax*4]
mov r12, qword [rsp + 0x10]
mov eax, r10d
movzx r8d, r10b
movzx eax, ah
shr r10d, 0x18
mov esi, dword [r12 + r8*4]
mov r14d, dword [r13 + rax*4]
mov rbp, r13
mov r13d, dword [r15 + r10*4]
mov r8d, r11d
xor r13d, esi
shr r8d, 0x18
mov dword [rsp + 0x18], r9d
xor r13d, r9d
mov r9d, dword [r15 + r8*4]
movzx r8d, r11b
mov r8d, dword [r12 + r8*4]
mov eax, r11d
mov r12d, r9d
shr r11d, 0x10
xor r12d, r8d
movzx eax, ah
movzx r11d, r11b
mov r10d, dword [rbp + rax*4]
xor r12d, dword [rdi + r11*4]
mov r11d, ebx
shr r11d, 0x18
xor r13d, r14d
xor r12d, r10d
xor r14d, r10d
mov r10d, r11d
mov r11d, ebx
shr r11d, 0x10
xor r8d, esi
movzx r11d, r11b
mov rsi, qword [rsp + 0x10]
mov rbp, rdi
mov edi, dword [rdi + r11*4]
movzx r11d, bl
mov esi, dword [rsi + r11*4]
mov r10d, dword [r15 + r10*4]
mov eax, dword [rsp + 0x18]
xor r9d, r10d
xor r10d, esi
xor r10d, edi
xor eax, edi
mov rdi, qword [rsp + 8]
movzx ebx, bh
mov r11d, dword [rdi + rbx*4]
xor r8d, esi
xor r11d, r10d
mov r10d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x80]
shr r10d, 0x18
mov esi, dword [r15 + r10*4]
mov qword [rsp + 0x18], rbp
xor r9d, esi
mov dword [rsp + 0x28], esi
mov rsi, qword [rsp + 0x60]
shr rsi, 0x10
mov r10, rsi
movzx esi, bh
mov edi, dword [rdi + rsi*4]
and r10d, 0xff
xor r14d, edi
mov ebp, dword [rbp + r10*4]
movzx esi, byte [rsp + 0x78]
mov r10d, r14d
mov ebx, dword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
xor eax, ebp
xor ebx, dword [r14 + rsi*4]
xor ebx, ebp
xor edi, ebx
mov ebx, r13d
xor ebx, r9d
mov esi, r8d
xor esi, edi
mov dword [rsp + 0x54], ebx
mov ebp, r9d
mov ebx, r11d
xor ebx, r10d
shl ebp, 8
mov dword [rsp + 0x60], esi
mov esi, r8d
mov dword [rsp + 0x78], ebx
shr esi, 0x18
mov ebx, ebp
xor ebx, r12d
xor esi, r13d
and ebx, 0xff000000
movzx esi, sil
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r10d
shl esi, 8
xor esi, edi
and esi, 0xff00
mov ebp, ebx
or ebp, esi
mov ebx, r8d
mov esi, r9d
shl esi, 0x10
shr ebx, 0x10
xor esi, r11d
xor ebx, r12d
and esi, 0xff000000
movzx ebx, bl
or esi, ebx
mov ebx, eax
mov r14d, r12d
shl ebx, 0x10
xor r14d, eax
xor ebx, edi
shl r9d, 0x18
shr r8d, 8
and ebx, 0xff0000
xor r9d, edi
xor r8d, r11d
shr eax, 8
or esi, ebx
xor eax, r13d
mov ebx, r10d
and r9d, 0xff000000
movzx r8d, r8b
shr r10d, 8
or r9d, r8d
and eax, 0xff0000
xor r10d, r12d
or r9d, eax
and r10d, 0xff00
or r9d, r10d
mov r11d, r9d
mov dword [rsp + 0xa0], r9d
mov dword [rcx + 0x84], r9d
mov r9d, dword [rsp + 0x40]
shr ebx, 0x10
xor r9d, r11d
mov edi, r9d
xor ebx, r13d
mov r8d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x50]
and ebx, 0xff00
xor r8d, ebp
or ebx, esi
xor r9d, ebp
xor r10d, dword [rsp + 0x6c]
xor eax, ebx
mov dword [rcx + 0x80], ebx
mov dword [rcx + 0x24], r9d
xor ebx, r10d
mov r9d, r8d
mov r10d, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x18]
shr r9d, 0x10
mov r12, qword [rsp + 0x10]
xor r10d, dword [rsp + 0xa8]
movzx r9d, r9b
xor r10d, r11d
mov dword [rcx + 0x28], ebx
mov r11d, dword [rsi + r9*4]
mov ebx, r8d
movzx r9d, r8b
shr r8d, 0x18
movzx esi, bh
mov dword [rsp + 0x28], ebp
mov ebx, dword [r12 + r9*4]
mov dword [rcx + 0x7c], ebp
mov r9d, dword [r15 + r8*4]
mov rbp, qword [rsp + 8]
xor r9d, ebx
mov dword [rcx + 0x2c], r10d
mov r10d, dword [rbp + rsi*4]
movzx esi, ah
mov r13d, dword [rbp + rsi*4]
mov r12d, r9d
xor r12d, r11d
xor r12d, r10d
mov r8d, eax
xor r10d, r13d
shr r8d, 0x18
mov dword [rsp + 0x24], r10d
mov r10, qword [rsp + 0x10]
mov r9d, dword [r15 + r8*4]
movzx r8d, al
mov r8d, dword [r10 + r8*4]
mov esi, r9d
xor esi, r8d
shr eax, 0x10
mov r10d, esi
mov rsi, qword [rsp + 0x18]
movzx eax, al
xor r10d, dword [rsi + rax*4]
mov eax, edi
shr eax, 0x18
xor r13d, r10d
mov r10d, dword [r15 + rax*4]
mov eax, edi
shr eax, 0x10
movzx eax, al
mov esi, dword [rsi + rax*4]
xor r8d, ebx
xor r11d, esi
mov dword [rsp + 0x3c], r11d
mov rax, qword [rsp + 0x10]
movzx r11d, dil
mov ebx, dword [rax + r11*4]
mov eax, edi
movzx edi, ah
mov r11d, dword [rbp + rdi*4]
xor r9d, r10d
xor r10d, ebx
xor r10d, esi
xor r11d, r10d
mov r10d, dword [rsp + 0x54]
mov rdi, r14
shr r10d, 0x18
shr rdi, 0x10
xor r8d, ebx
mov ebp, dword [r15 + r10*4]
mov rsi, qword [rsp + 0x18]
mov ebx, dword [rsp + 0x78]
mov r10, rdi
and r10d, 0xff
mov r14d, dword [rsi + r10*4]
movzx esi, bh
mov r10, rsi
mov rsi, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov edi, dword [rsi + r10*4]
movzx esi, byte [rsp + 0x60]
xor r9d, ebp
xor ebp, dword [rbx + rsi*4]
mov ebx, ebp
mov r10d, dword [rsp + 0x24]
xor ebx, r14d
xor r10d, edi
mov eax, dword [rsp + 0x3c]
xor edi, ebx
mov ebx, r12d
xor ebx, r9d
xor eax, r14d
mov esi, ebx
mov ebx, r13d
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, r10d
and esi, 0xff00
or ebx, esi
mov dword [rcx + 0x6c], ebx
mov esi, r8d
mov r14d, ebx
mov ebx, r9d
shl ebx, 8
shr esi, 0x18
xor ebx, r13d
xor esi, r12d
and ebx, 0xff000000
movzx esi, sil
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r10d
shl esi, 8
xor esi, edi
and esi, 0xff00
or ebx, esi
mov dword [rcx + 0x70], ebx
mov esi, r8d
mov ebp, ebx
mov ebx, r9d
shl ebx, 0x10
shr esi, 0x10
xor ebx, r11d
xor esi, r13d
and ebx, 0xff000000
movzx esi, sil
or ebx, esi
mov esi, eax
shl esi, 0x10
xor esi, edi
and esi, 0xff0000
or ebx, esi
mov esi, r10d
shr esi, 0x10
xor esi, r12d
and esi, 0xff00
or ebx, esi
shl r9d, 0x18
shr r8d, 8
xor r9d, edi
xor r8d, r11d
shr eax, 8
and r9d, 0xff000000
xor eax, r12d
shr r10d, 8
movzx r8d, r8b
and eax, 0xff0000
or r9d, r8d
xor r10d, r13d
or r9d, eax
and r10d, 0xff00
or r9d, r10d
cmp qword [rsp + 0x130], 4
mov dword [rsp + 0x40], ebx
mov dword [rcx + 0x74], ebx
mov dword [rsp + 0x3c], r9d
mov dword [rcx + 0x78], r9d
mov eax, 1
jbe 0x49ad09
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x130], 4
mov dword [rsp + 0x24], r9d
add rdx, 4
jmp 0x49c50e
mov eax, dword [rcx + 0x94]
mov r12d, dword [rcx + 0x40]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x3c]
lea r15, [0x006fabe0]
mov r14d, eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x80], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x88], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x70], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x74], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x48], eax
lea rax, [0x006fa7e0]
mov qword [rsp + 0x18], rax
lea rax, [0x006fa3e0]
mov qword [rsp + 8], rax
lea rax, [0x006f9fe0]
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x2c]
xor r12d, dword [rsp + 0x44]
xor eax, r14d
mov r14d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x34]
mov esi, dword [rsp + 0x54]
xor r14d, dword [rsp + 0x30]
mov dword [rsp + 0x8c], eax
mov dword [rcx + 0x94], eax
mov eax, r12d
xor eax, dword [rcx + 0x30]
xor esi, r13d
mov dword [rsp + 0x94], r14d
mov dword [rcx + 0x4c], r14d
mov edi, dword [rcx + 0x38]
mov r14d, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x3c]
mov dword [rsp + 0x54], esi
mov dword [rcx + 0x7c], esi
mov esi, eax
xor edi, r14d
mov r11, qword [rsp + 8]
xor r14d, dword [rcx + 0x80]
shr esi, 0x10
xor ebp, r12d
movzx r8d, sil
mov dword [rsp + 0xa0], r14d
movzx esi, ah
mov dword [rcx + 0x80], r14d
mov ebx, dword [rsp + 0x4c]
mov r14, qword [rsp + 0x18]
mov r10d, dword [rcx + 0x24]
mov dword [rsp + 0x3c], ebp
mov dword [rcx + 0x78], ebp
mov ebp, dword [r11 + rsi*4]
mov rsi, qword [rsp + 0x10]
xor ebx, r13d
mov dword [rsp + 0x90], r12d
mov dword [rcx + 0x40], r12d
mov r12d, dword [r14 + r8*4]
movzx r8d, al
shr eax, 0x18
mov r13d, dword [rsi + r8*4]
mov dword [rsp + 0x2c], r10d
mov esi, dword [r15 + rax*4]
mov eax, ebx
shr eax, 0x18
mov r10d, dword [r15 + rax*4]
mov r8, qword [rsp + 0x10]
movzx eax, bh
mov r9d, dword [r11 + rax*4]
movzx eax, bl
mov r8d, dword [r8 + rax*4]
mov eax, ebx
shr eax, 0x10
mov ebx, r10d
xor ebx, r8d
movzx eax, al
xor ebx, dword [r14 + rax*4]
mov eax, edi
shr eax, 0x18
mov r11d, dword [r15 + rax*4]
mov eax, edi
xor ebx, r9d
shr eax, 0x10
mov dword [rsp + 0x28], ebx
movzx eax, al
mov rbx, qword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
movzx r14d, dil
mov r14d, dword [rbx + r14*4]
mov ebx, edi
xor r10d, r11d
movzx edi, bh
xor r11d, r14d
mov rbx, qword [rsp + 8]
xor r11d, eax
xor r11d, dword [rbx + rdi*4]
mov edi, dword [rsp + 0x24]
xor r8d, r14d
xor esi, r13d
mov r14, qword [rsp + 0x18]
xor r13d, r8d
mov r8d, edi
shr edi, 0x10
movzx edi, dil
mov edi, dword [r14 + rdi*4]
xor esi, r12d
xor eax, edi
xor r12d, eax
mov eax, dword [rsp + 0x24]
shr r8d, 0x18
movzx eax, ah
mov eax, dword [rbx + rax*4]
mov r8d, dword [r15 + r8*4]
xor esi, ebp
xor r10d, r8d
xor r9d, eax
xor ebp, r9d
mov rbx, qword [rsp + 0x10]
movzx r9d, byte [rsp + 0x24]
xor r8d, dword [rbx + r9*4]
xor r8d, edi
xor eax, r8d
mov r8d, r11d
xor r8d, ebp
mov ebx, dword [rsp + 0x28]
mov dword [rsp + 0xc0], r8d
mov r9d, r10d
mov r8d, r13d
shl r9d, 8
shr r8d, 0x18
xor r9d, ebx
xor r8d, esi
and r9d, 0xff000000
movzx r8d, r8b
or r9d, r8d
mov r8d, r12d
shl r8d, 8
xor r8d, r11d
and r8d, 0xff0000
mov edi, esi
xor edi, r10d
or r9d, r8d
mov r8d, ebp
mov dword [rsp + 0xac], edi
shl r8d, 8
mov edi, ebx
xor edi, r12d
xor r8d, eax
and r8d, 0xff00
mov dword [rsp + 0xb0], edi
mov edi, r13d
or r9d, r8d
xor edi, eax
mov dword [rsp + 0xb8], edi
mov dword [rsp + 0x98], r9d
mov edi, ebx
mov dword [rcx + 0x34], r9d
mov ebx, r9d
mov r8d, r13d
mov r9d, r10d
shl r9d, 0x10
shr r8d, 0x10
xor r9d, r11d
xor r8d, edi
and r9d, 0xff000000
movzx r8d, r8b
or r9d, r8d
mov r8d, r12d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or r9d, r8d
shl r10d, 0x18
shr r13d, 8
xor eax, r10d
xor r11d, r13d
shr r12d, 8
movzx r13d, r11b
xor r12d, esi
mov r8d, ebp
and eax, 0xff000000
or eax, r13d
and r12d, 0xff0000
shr r8d, 0x10
shr ebp, 8
or eax, r12d
xor r8d, esi
xor ebp, dword [rsp + 0x28]
and r8d, 0xff00
and ebp, 0xff00
mov r11d, eax
or r11d, ebp
or r9d, r8d
mov dword [rsp + 0xa4], r9d
mov dword [rcx + 0x38], r9d
mov dword [rsp + 0x28], r11d
mov ebp, dword [rsp + 0x6c]
mov edi, r9d
mov r9d, ebx
xor ebp, r9d
mov dword [rsp + 0x4c], ebp
mov dword [rcx + 0x6c], ebp
mov ebp, dword [rsp + 0x50]
mov esi, edi
xor ebp, esi
mov r10d, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x40]
xor r10d, ebx
xor esi, r11d
mov dword [rsp + 0x40], esi
mov dword [rcx + 0x74], esi
mov esi, r10d
shr esi, 0x10
xor edi, dword [rcx + 0x28]
movzx eax, sil
mov r8d, dword [r14 + rax*4]
mov ebx, edi
mov r13, qword [rsp + 8]
mov edi, dword [rcx + 0x2c]
mov eax, r10d
movzx eax, ah
xor edi, r11d
mov dword [rcx + 0x3c], r11d
mov r11d, dword [r13 + rax*4]
mov rax, qword [rsp + 0x10]
movzx r9d, r10b
shr r10d, 0x18
mov r9d, dword [rax + r9*4]
mov esi, dword [r15 + r10*4]
mov dword [rsp + 0x50], ebp
xor esi, r9d
xor esi, r8d
mov dword [rcx + 0x70], ebp
mov ebp, ebx
xor esi, r11d
shr ebp, 0x18
mov dword [rsp + 0x6c], r11d
movzx r11d, bl
mov r12d, dword [rax + r11*4]
mov r10d, ebp
mov r10d, dword [r15 + r10*4]
movzx ebp, bh
shr ebx, 0x10
movzx r11d, bl
mov ebx, r12d
xor ebx, r10d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
shr r11d, 0x18
mov ebp, dword [r13 + rbp*4]
mov r13d, dword [r15 + r11*4]
mov r11d, edi
shr r11d, 0x10
mov dword [rsp + 0xa8], r12d
movzx r11d, r11b
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
xor r9d, dword [rsp + 0xa8]
mov r11d, r13d
xor r11d, r14d
mov eax, edi
xor r14d, r9d
mov r9d, dword [rsp + 0xac]
movzx edi, ah
mov rax, qword [rsp + 8]
xor r11d, r12d
shr r9d, 0x18
xor r11d, dword [rax + rdi*4]
mov r9d, dword [r15 + r9*4]
mov rdi, qword [rsp + 0x18]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0xb0]
mov eax, dword [rsp + 0xc0]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
movzx edi, ah
mov rax, qword [rsp + 8]
xor r8d, r10d
xor r12d, r8d
mov r8d, dword [rax + rdi*4]
mov eax, dword [rsp + 0x6c]
xor ebx, ebp
movzx edi, byte [rsp + 0xb8]
xor eax, ebp
mov rbp, qword [rsp + 0x10]
xor eax, r8d
xor r9d, dword [rbp + rdi*4]
xor r9d, r10d
xor r8d, r9d
mov r9d, esi
xor r9d, r13d
mov dword [rsp + 0xb0], r9d
mov r9d, r13d
mov r10d, r14d
shl r9d, 8
xor r10d, r8d
xor r9d, ebx
mov dword [rsp + 0xc0], r10d
mov r10d, r9d
mov r9d, r12d
mov edi, ebx
shl r9d, 8
xor edi, r12d
xor r9d, r11d
mov dword [rsp + 0xb8], edi
and r10d, 0xff000000
mov edi, r11d
and r9d, 0xff0000
xor edi, eax
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 dword [rsp + 0xc4], edi
mov dword [rsp + 0x6c], r9d
mov edi, r9d
mov dword [rcx + 0x28], r9d
mov r9d, r13d
shl r9d, 0x10
xor r9d, r11d
mov r10d, r9d
mov r9d, r12d
shl r9d, 0x10
xor r9d, r8d
and r10d, 0xff000000
and r9d, 0xff0000
or r9d, r10d
mov r10d, eax
shr r10d, 0x10
xor r10d, esi
and r10d, 0xff00
or r9d, r10d
shl r13d, 0x18
mov r10d, r14d
shr r12d, 8
xor r13d, r8d
xor r12d, esi
shr r10d, 0x10
shr eax, 8
xor r10d, ebx
and r12d, 0xff0000
xor eax, ebx
and r13d, 0xff000000
movzx r10d, r10b
or r13d, r12d
and eax, 0xff00
or r9d, r10d
or r13d, eax
shr r14d, 8
xor r14d, r11d
mov esi, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x30]
xor esi, r9d
xor r11d, edi
mov r10d, r11d
movzx eax, r14b
mov r11d, dword [rsp + 0x58]
mov dword [rcx + 0x64], esi
mov dword [rsp + 0x58], esi
mov r12d, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x60]
mov r8d, r13d
or r8d, eax
xor r12d, r8d
xor esi, r8d
mov ebx, r12d
mov dword [rcx + 0x68], esi
mov r12d, dword [rsp + 0x88]
mov esi, r10d
mov r14, qword [rsp + 0x18]
shr esi, 0x10
xor r12d, edi
movzx eax, sil
mov dword [rsp + 0xa8], r9d
mov dword [rcx + 0x2c], r9d
mov dword [rsp + 0xac], r8d
mov dword [rcx + 0x30], r8d
mov dword [rcx + 0x60], r12d
mov eax, dword [r14 + rax*4]
movzx r8d, r10b
mov dword [rsp + 0x18], eax
mov eax, r10d
shr r10d, 0x18
mov ebp, dword [rbp + r8*4]
mov r12d, dword [r15 + r10*4]
mov edi, dword [rsp + 0x18]
xor r11d, r9d
mov r13, qword [rsp + 8]
xor r12d, ebp
movzx esi, ah
xor edi, r12d
mov eax, r11d
mov r12d, r11d
mov r9d, dword [r13 + rsi*4]
shr r12d, 0x18
movzx esi, ah
mov r8d, r12d
mov r12d, dword [r13 + rsi*4]
mov rsi, qword [rsp + 0x10]
mov r10d, dword [r15 + r8*4]
movzx r8d, r11b
mov r8d, dword [rsi + r8*4]
shr r11d, 0x10
mov esi, r10d
xor esi, r8d
movzx r11d, r11b
xor esi, dword [r14 + r11*4]
mov r11d, ebx
shr r11d, 0x18
xor r8d, ebp
mov ebp, dword [r15 + r11*4]
mov r11d, ebx
shr r11d, 0x10
xor edi, r9d
xor esi, r12d
xor r9d, r12d
movzx r11d, r11b
mov r12, qword [rsp + 0x10]
mov r13d, dword [r14 + r11*4]
movzx r11d, bl
mov r12d, dword [r12 + r11*4]
mov eax, dword [rsp + 0x18]
xor r10d, ebp
xor ebp, r12d
xor ebp, r13d
xor eax, r13d
mov r13, qword [rsp + 8]
movzx ebx, bh
mov r11d, dword [r13 + rbx*4]
mov ebx, dword [rsp + 0xb0]
xor r11d, ebp
shr ebx, 0x18
mov ebx, dword [r15 + rbx*4]
mov rbp, qword [rsp + 0xb8]
xor r8d, r12d
xor r10d, ebx
mov dword [rsp + 0x30], ebx
shr rbp, 0x10
mov ebx, dword [rsp + 0xc4]
and ebp, 0xff
mov r13d, dword [r14 + rbp*4]
movzx ebp, bh
mov rbx, qword [rsp + 8]
mov qword [rsp + 0x18], r14
mov r12d, dword [rbx + rbp*4]
mov r14d, dword [rsp + 0x30]
movzx ebp, byte [rsp + 0xc0]
mov rbx, qword [rsp + 0x10]
xor r9d, r12d
xor r14d, dword [rbx + rbp*4]
mov ebx, r14d
mov ebp, edi
xor ebx, r13d
xor ebp, r10d
mov dword [rsp + 0x30], ebp
xor r12d, ebx
mov ebp, r10d
mov ebx, r11d
xor ebx, r9d
shl ebp, 8
mov dword [rsp + 0x88], ebx
mov ebx, ebp
mov ebp, r8d
shr ebp, 0x18
xor ebx, esi
xor ebp, edi
xor eax, r13d
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, esi
shl ebp, 8
xor r13d, eax
xor ebp, r12d
and ebp, 0xff00
mov dword [rsp + 0x60], r13d
mov r13d, ebx
or r13d, ebp
mov ebx, r8d
mov ebp, r10d
shl ebp, 0x10
shr ebx, 0x10
xor ebp, r11d
xor ebx, esi
and ebp, 0xff000000
movzx ebx, bl
or ebp, ebx
mov ebx, eax
mov r14d, r8d
shl ebx, 0x10
xor r14d, r12d
xor ebx, r12d
and ebx, 0xff0000
or ebp, ebx
shl r10d, 0x18
mov ebx, r9d
shr r8d, 8
xor r10d, r12d
xor r8d, r11d
shr ebx, 0x10
shr eax, 8
xor ebx, edi
xor eax, edi
and r10d, 0xff000000
movzx r8d, r8b
shr r9d, 8
and ebx, 0xff00
or r10d, r8d
and eax, 0xff0000
xor r9d, esi
mov edi, dword [rsp + 0x70]
or ebp, ebx
or r10d, eax
and r9d, 0xff00
mov r8d, dword [rsp + 0x44]
or r10d, r9d
xor edi, ebp
mov r9d, dword [rsp + 0x2c]
xor r8d, r13d
mov ebx, edi
mov edi, dword [rsp + 0x48]
xor r9d, dword [rsp + 0x78]
mov eax, r8d
xor edi, r13d
mov dword [rsp + 0x5c], r13d
mov dword [rcx + 0x1c], r13d
mov dword [rcx + 0x20], ebp
mov r13, qword [rsp + 0x18]
xor ebp, r9d
shr eax, 0x10
mov r9d, dword [rsp + 0x24]
movzx eax, al
mov rsi, qword [rsp + 8]
xor r9d, dword [rsp + 0x80]
mov dword [rcx + 0x58], ebp
mov ebp, dword [r13 + rax*4]
mov eax, r8d
xor r9d, r10d
mov r12d, dword [rsp + 0x74]
movzx eax, ah
mov dword [rcx + 0x5c], r9d
mov r9d, dword [rsi + rax*4]
mov rax, qword [rsp + 0x10]
xor r12d, r10d
mov dword [rsp + 0x68], r10d
mov dword [rcx + 0x24], r10d
movzx r10d, r8b
shr r8d, 0x18
mov r11d, dword [rax + r10*4]
mov dword [rcx + 0x54], edi
mov edi, dword [r15 + r8*4]
movzx eax, bh
xor edi, r11d
mov r8d, ebx
xor edi, ebp
mov dword [rsp + 0x24], ebp
shr r8d, 0x18
mov ebp, dword [rsi + rax*4]
mov rax, qword [rsp + 0x10]
mov r10d, dword [r15 + r8*4]
movzx r8d, bl
mov r8d, dword [rax + r8*4]
mov esi, r10d
xor esi, r8d
shr ebx, 0x10
xor r8d, r11d
mov r11d, r12d
shr r11d, 0x18
movzx ebx, bl
xor esi, dword [r13 + rbx*4]
mov ebx, dword [r15 + r11*4]
mov r11d, r12d
shr r11d, 0x10
movzx r11d, r11b
mov r13d, dword [r13 + r11*4]
xor edi, r9d
xor esi, ebp
xor r9d, ebp
mov ebp, dword [rsp + 0x24]
movzx r11d, r12b
xor ebp, r13d
mov dword [rsp + 0x24], ebp
mov ebp, dword [rax + r11*4]
mov eax, r12d
movzx eax, ah
mov r12, rax
mov rax, qword [rsp + 8]
xor r8d, ebp
xor r10d, ebx
xor ebx, ebp
mov ebp, dword [rsp + 0x30]
mov r11d, dword [rax + r12*4]
xor ebx, r13d
shr ebp, 0x18
xor r11d, ebx
mov ebx, ebp
mov ebx, dword [r15 + rbx*4]
mov rbp, qword [rsp + 0x60]
xor r10d, ebx
mov dword [rsp + 0x2c], ebx
shr rbp, 0x10
mov ebx, dword [rsp + 0x88]
mov r13, qword [rsp + 0x18]
and ebp, 0xff
mov r13d, dword [r13 + rbp*4]
movzx ebp, bh
mov rbx, qword [rsp + 8]
mov eax, dword [rsp + 0x24]
mov r12d, dword [rbx + rbp*4]
movzx ebp, r14b
mov rbx, qword [rsp + 0x10]
mov r14d, dword [rsp + 0x2c]
xor r9d, r12d
xor r14d, dword [rbx + rbp*4]
mov ebx, r14d
xor ebx, r13d
xor r12d, ebx
mov ebx, edi
xor ebx, r10d
and ebx, 0xff000000
xor eax, r13d
mov ebp, ebx
mov ebx, esi
xor ebx, eax
and ebx, 0xff0000
or ebx, ebp
mov ebp, r8d
xor ebp, r12d
movzx ebp, bpl
or ebx, ebp
mov ebp, r11d
xor ebp, r9d
and ebp, 0xff00
or ebx, ebp
mov dword [rcx + 0xc], ebx
mov ebp, r8d
mov r14d, ebx
mov ebx, r10d
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
shl ebp, 8
xor ebp, r12d
and ebp, 0xff00
or ebx, ebp
mov dword [rcx + 0x10], ebx
mov ebp, r8d
mov r13d, ebx
mov ebx, r10d
shl ebx, 0x10
shr ebp, 0x10
xor ebx, r11d
xor ebp, esi
and ebx, 0xff000000
movzx ebp, bpl
or ebx, ebp
mov ebp, eax
shl ebp, 0x10
xor ebp, r12d
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
shr ebp, 0x10
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
shl r10d, 0x18
shr r8d, 8
xor r10d, r12d
xor r8d, r11d
shr eax, 8
and r10d, 0xff000000
xor eax, edi
shr r9d, 8
movzx r8d, r8b
and eax, 0xff0000
or r10d, r8d
xor r9d, esi
or r10d, eax
and r9d, 0xff00
or r10d, r9d
xor eax, eax
cmp qword [rsp + 0x130], 4
mov dword [rsp + 0x2c], ebx
mov dword [rcx + 0x14], ebx
mov dword [rsp + 0x30], r10d
mov dword [rcx + 0x18], r10d
jbe 0x49ad09
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x130], 4
mov dword [rsp + 0x24], r9d
add rdx, 4
jmp 0x49ae4b
mov eax, dword [rcx + 0x34]
mov r14d, dword [rcx + 0x6c]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x8c]
lea r15, [0x006fabe0]
mov dword [rsp + 0x8c], eax
mov eax, dword [rcx + 0x70]
mov ebp, eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x70], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x74], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x94], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x90]
mov dword [rsp + 0xb8], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0xc0], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0xc4], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0xc8], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0xcc], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0xa0], eax
lea rax, [0x006fa7e0]
mov qword [rsp + 0x18], rax
lea rax, [0x006fa3e0]
mov qword [rsp + 8], rax
lea rax, [0x006f9fe0]
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
xor eax, ebp
mov ebp, dword [rsp + 0x28]
mov esi, eax
xor ebp, dword [rsp + 0x48]
xor r14d, dword [rsp + 0x34]
xor r9d, esi
mov dword [rsp + 0x54], ebp
mov esi, dword [rsp + 0x58]
mov dword [rcx + 0x7c], ebp
mov ebp, dword [rsp + 0x40]
mov dword [rsp + 0x4c], r14d
mov dword [rcx + 0x34], r14d
mov edi, dword [rcx + 0x68]
mov r14d, dword [rsp + 0x3c]
xor esi, ebp
mov dword [rsp + 0x50], eax
mov dword [rcx + 0x70], eax
xor eax, dword [rcx + 0x60]
xor edi, r14d
mov dword [rsp + 0x58], esi
xor r14d, dword [rcx + 0x20]
mov dword [rcx + 0x1c], esi
mov esi, eax
shr esi, 0x10
mov dword [rsp + 0x5c], r14d
mov dword [rcx + 0x20], r14d
mov ebx, dword [rsp + 0x44]
mov r14, qword [rsp + 0x18]
mov r11, qword [rsp + 8]
mov r10d, dword [rcx + 0x54]
movzx r8d, sil
mov r13, qword [rsp + 0x10]
xor ebx, ebp
mov r12d, dword [r14 + r8*4]
movzx esi, ah
movzx r8d, al
shr eax, 0x18
mov ebp, dword [r11 + rsi*4]
mov r13d, dword [r13 + r8*4]
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x30], r9d
mov dword [rcx + 0x18], r9d
mov esi, dword [r15 + rax*4]
mov eax, ebx
shr eax, 0x18
mov r10d, dword [r15 + rax*4]
mov r8, qword [rsp + 0x10]
movzx eax, bh
mov r9d, dword [r11 + rax*4]
movzx eax, bl
mov r8d, dword [r8 + rax*4]
mov eax, ebx
shr eax, 0x10
mov ebx, r10d
xor ebx, r8d
movzx eax, al
xor ebx, dword [r14 + rax*4]
mov eax, edi
shr eax, 0x18
mov r11d, dword [r15 + rax*4]
mov eax, edi
xor ebx, r9d
shr eax, 0x10
mov dword [rsp + 0x28], ebx
movzx eax, al
mov rbx, qword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
movzx r14d, dil
mov r14d, dword [rbx + r14*4]
mov ebx, edi
xor r10d, r11d
movzx edi, bh
xor r11d, r14d
mov rbx, qword [rsp + 8]
xor r11d, eax
xor r11d, dword [rbx + rdi*4]
mov edi, dword [rsp + 0x24]
xor r8d, r14d
xor esi, r13d
mov r14, qword [rsp + 0x18]
xor r13d, r8d
mov r8d, edi
shr edi, 0x10
movzx edi, dil
mov edi, dword [r14 + rdi*4]
xor esi, r12d
xor eax, edi
xor r12d, eax
mov eax, dword [rsp + 0x24]
shr r8d, 0x18
movzx eax, ah
mov eax, dword [rbx + rax*4]
mov r8d, dword [r15 + r8*4]
xor esi, ebp
xor r10d, r8d
xor r9d, eax
xor ebp, r9d
mov rbx, qword [rsp + 0x10]
movzx r9d, byte [rsp + 0x24]
xor r8d, dword [rbx + r9*4]
xor r8d, edi
xor eax, r8d
mov r9d, esi
mov r8d, r13d
xor r9d, r10d
xor r8d, eax
mov ebx, dword [rsp + 0x28]
mov dword [rsp + 0x78], r9d
mov dword [rsp + 0x88], r8d
mov r9d, r10d
mov r8d, r13d
shl r9d, 8
shr r8d, 0x18
xor r9d, ebx
xor r8d, esi
and r9d, 0xff000000
movzx r8d, r8b
or r9d, r8d
mov r8d, r12d
shl r8d, 8
xor r8d, r11d
and r8d, 0xff0000
or r9d, r8d
mov r8d, ebp
mov edi, ebx
shl r8d, 8
xor edi, r12d
xor r8d, eax
and r8d, 0xff00
mov dword [rsp + 0x80], edi
mov edi, r11d
or r9d, r8d
xor edi, ebp
mov dword [rsp + 0x98], edi
mov dword [rsp + 0x68], r9d
mov edi, ebx
mov dword [rcx + 0x64], r9d
mov ebx, r9d
mov r8d, r13d
mov r9d, r10d
shl r9d, 0x10
shr r8d, 0x10
xor r9d, r11d
xor r8d, edi
and r9d, 0xff000000
movzx r8d, r8b
or r9d, r8d
mov r8d, r12d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or r9d, r8d
shl r10d, 0x18
shr r13d, 8
xor eax, r10d
xor r11d, r13d
shr r12d, 8
movzx r13d, r11b
xor r12d, esi
mov r8d, ebp
and eax, 0xff000000
or eax, r13d
and r12d, 0xff0000
shr r8d, 0x10
shr ebp, 8
or eax, r12d
xor r8d, esi
xor ebp, dword [rsp + 0x28]
and r8d, 0xff00
and ebp, 0xff00
mov r11d, eax
or r11d, ebp
or r9d, r8d
mov dword [rsp + 0x60], r9d
mov dword [rcx + 0x68], r9d
mov dword [rsp + 0x6c], r11d
mov ebp, dword [rsp + 0x70]
mov edi, r9d
mov r9d, ebx
xor ebp, r9d
mov dword [rsp + 0x44], ebp
mov dword [rcx + 0xc], ebp
mov ebp, dword [rsp + 0x74]
mov esi, edi
xor ebp, esi
mov r10d, dword [rsp + 0x34]
mov esi, dword [rsp + 0x2c]
xor r10d, ebx
xor esi, r11d
mov dword [rsp + 0x74], esi
mov dword [rcx + 0x14], esi
mov esi, r10d
shr esi, 0x10
xor edi, dword [rcx + 0x58]
movzx eax, sil
mov r8d, dword [r14 + rax*4]
mov ebx, edi
mov r12, qword [rsp + 8]
mov edi, dword [rcx + 0x5c]
mov eax, r10d
movzx eax, ah
xor edi, r11d
mov dword [rcx + 0x6c], r11d
mov r11d, dword [r12 + rax*4]
mov rax, qword [rsp + 0x10]
movzx r9d, r10b
shr r10d, 0x18
mov r9d, dword [rax + r9*4]
mov esi, dword [r15 + r10*4]
mov dword [rsp + 0x70], ebp
xor esi, r9d
xor esi, r8d
mov dword [rcx + 0x10], ebp
mov ebp, ebx
xor esi, r11d
shr ebp, 0x18
mov dword [rsp + 0x28], r11d
movzx r11d, bl
mov r13d, dword [rax + r11*4]
mov r10d, ebp
mov r10d, dword [r15 + r10*4]
movzx ebp, bh
shr ebx, 0x10
movzx r11d, bl
mov ebx, r13d
xor ebx, r10d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
shr r11d, 0x18
mov dword [rsp + 0x2c], r13d
mov r13d, dword [r15 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov ebp, dword [r12 + rbp*4]
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
xor r9d, dword [rsp + 0x2c]
mov r11d, r13d
xor r11d, r14d
mov eax, edi
xor r14d, r9d
mov r9d, dword [rsp + 0x78]
movzx edi, ah
mov rax, qword [rsp + 8]
xor r11d, r12d
shr r9d, 0x18
xor r11d, dword [rax + rdi*4]
mov r9d, dword [r15 + r9*4]
mov rdi, qword [rsp + 0x18]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x80]
mov eax, dword [rsp + 0x98]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
movzx edi, ah
xor r8d, r10d
xor r12d, r8d
mov eax, dword [rsp + 0x28]
mov r8, rdi
mov rdi, qword [rsp + 8]
xor ebx, ebp
mov r8d, dword [rdi + r8*4]
xor eax, ebp
movzx edi, byte [rsp + 0x88]
mov rbp, qword [rsp + 0x10]
xor eax, r8d
xor r9d, dword [rbp + rdi*4]
mov ebp, ebx
xor ebp, r12d
mov dword [rsp + 0x98], ebp
mov ebp, r13d
xor r9d, r10d
shl ebp, 8
xor r8d, r9d
xor ebp, ebx
mov r9d, esi
xor r9d, r13d
mov r10d, ebp
mov ebp, r12d
mov dword [rsp + 0x28], r9d
shl ebp, 8
mov r9d, r11d
xor r9d, eax
xor ebp, r11d
mov dword [rsp + 0xa8], r9d
mov edi, r14d
and ebp, 0xff0000
mov r9d, eax
and r10d, 0xff000000
xor edi, r8d
or r10d, ebp
shl r9d, 8
xor r9d, r8d
and r9d, 0xff00
mov ebp, r10d
or ebp, r9d
mov r9d, r14d
shr r9d, 0x18
xor r9d, esi
mov dword [rsp + 0xa4], edi
mov edi, r13d
movzx r9d, r9b
mov r10d, ebp
shl edi, 0x10
or r10d, r9d
xor edi, r11d
mov ebp, r10d
mov dword [rsp + 0x78], r10d
mov dword [rcx + 0x58], r10d
mov r10d, edi
mov edi, r12d
shl edi, 0x10
xor edi, r8d
mov r9d, eax
and edi, 0xff0000
and r10d, 0xff000000
shr r9d, 0x10
or r10d, edi
xor r9d, esi
and r9d, 0xff00
mov edi, r10d
or edi, r9d
shl r13d, 0x18
mov r9d, r14d
shr r12d, 8
xor r13d, r8d
xor r12d, esi
shr r9d, 0x10
shr eax, 8
xor r9d, ebx
and r12d, 0xff0000
xor eax, ebx
and r13d, 0xff000000
mov esi, dword [rsp + 0xc0]
movzx r9d, r9b
mov r10d, edi
or r13d, r12d
and eax, 0xff00
or r10d, r9d
or r13d, eax
shr r14d, 8
xor esi, r10d
xor r14d, r11d
mov r11d, dword [rsp + 0x48]
movzx eax, r14b
mov dword [rsp + 0x2c], esi
mov dword [rcx + 0x94], esi
mov r9d, r13d
mov esi, dword [rsp + 0xc4]
or r9d, eax
xor r11d, ebp
mov r8d, r11d
xor esi, r9d
mov eax, dword [rsp + 0xb8]
mov dword [rcx + 0x98], esi
mov esi, r8d
mov r13, qword [rsp + 0x18]
xor eax, ebp
shr esi, 0x10
mov dword [rcx + 0x90], eax
mov ebx, dword [rsp + 0xb0]
movzx eax, sil
mov dword [rsp + 0x80], r10d
mov dword [rcx + 0x5c], r10d
mov dword [rsp + 0x88], r9d
mov dword [rcx + 0x60], r9d
mov r11d, dword [rsp + 0x94]
mov r14d, dword [r13 + rax*4]
mov r12, qword [rsp + 8]
mov eax, r8d
mov rbp, qword [rsp + 0x10]
xor ebx, r9d
movzx esi, ah
movzx r9d, r8b
shr r8d, 0x18
xor r11d, r10d
mov ebp, dword [rbp + r9*4]
mov r10d, dword [r12 + rsi*4]
mov esi, dword [r15 + r8*4]
mov eax, r11d
xor esi, ebp
mov edi, esi
mov esi, r11d
shr esi, 0x18
mov r8d, esi
movzx esi, ah
mov r12d, dword [r12 + rsi*4]
mov rsi, qword [rsp + 0x10]
mov r9d, dword [r15 + r8*4]
movzx r8d, r11b
mov r8d, dword [rsi + r8*4]
shr r11d, 0x10
mov esi, r9d
xor esi, r8d
movzx r11d, r11b
xor esi, dword [r13 + r11*4]
mov r11d, ebx
xor edi, r14d
shr r11d, 0x18
xor edi, r10d
mov dword [rsp + 0x18], r14d
mov r14d, r10d
mov r10d, r11d
mov r11d, ebx
shr r11d, 0x10
xor r8d, ebp
movzx r11d, r11b
mov rbp, qword [rsp + 0x10]
xor esi, r12d
xor r14d, r12d
mov r12d, dword [r13 + r11*4]
movzx r11d, bl
mov ebp, dword [rbp + r11*4]
mov r10d, dword [r15 + r10*4]
mov eax, dword [rsp + 0x18]
xor r9d, r10d
xor r10d, ebp
xor r10d, r12d
xor eax, r12d
mov r12, qword [rsp + 8]
movzx ebx, bh
mov r11d, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x28]
xor r11d, r10d
shr ebx, 0x18
mov r10d, ebx
mov ebx, dword [r15 + r10*4]
xor r8d, ebp
xor r9d, ebx
mov dword [rsp + 0x28], ebx
mov rbx, qword [rsp + 0x98]
movzx ebp, byte [rsp + 0xa4]
shr rbx, 0x10
mov r10, rbx
mov ebx, dword [rsp + 0xa8]
and r10d, 0xff
movzx ebx, bh
mov r12d, dword [r12 + rbx*4]
mov qword [rsp + 0x18], r13
xor r14d, r12d
mov r13d, dword [r13 + r10*4]
mov rbx, qword [rsp + 0x10]
mov r10d, r14d
mov r14d, dword [rsp + 0x28]
xor eax, r13d
xor r14d, dword [rbx + rbp*4]
mov ebx, r14d
mov r14d, edi
xor ebx, r13d
xor r14d, r9d
xor r12d, ebx
mov dword [rsp + 0x94], r14d
mov ebx, r8d
mov r14d, esi
xor r14d, eax
xor ebx, r12d
mov dword [rsp + 0x98], r14d
mov dword [rsp + 0xa4], ebx
mov r14d, r9d
mov ebx, r11d
xor ebx, r10d
shl r14d, 8
mov ebp, r8d
mov dword [rsp + 0xa8], ebx
shr ebp, 0x18
mov ebx, r14d
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, r10d
shl ebp, 8
xor ebp, r12d
and ebp, 0xff00
mov r14d, ebx
mov r13d, r8d
or r14d, ebp
shr r13d, 0x10
mov ebp, r9d
shl ebp, 0x10
mov ebx, r13d
xor ebp, r11d
xor ebx, esi
mov r13d, eax
shl r13d, 0x10
and ebp, 0xff000000
movzx ebx, bl
or ebp, ebx
mov ebx, r13d
xor ebx, r12d
shl r9d, 0x18
shr r8d, 8
xor r9d, r12d
xor r8d, r11d
mov r13d, r10d
shr eax, 8
and ebx, 0xff0000
shr r13d, 0x10
xor eax, edi
and r9d, 0xff000000
movzx r8d, r8b
shr r10d, 8
or ebp, ebx
or r9d, r8d
and eax, 0xff0000
xor r10d, esi
mov ebx, r13d
xor ebx, edi
or r9d, eax
and r10d, 0xff00
mov edi, dword [rsp + 0xcc]
or r9d, r10d
xor edi, r9d
mov esi, r9d
mov dword [rsp + 0x48], r9d
mov dword [rcx + 0x54], r9d
mov r10d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x38]
mov eax, dword [rsp + 0xc8]
and ebx, 0xff00
or ebx, ebp
xor r10d, dword [rsp + 0x90]
xor r9d, dword [rsp + 0x8c]
mov r11d, dword [rsp + 0xa0]
xor r8d, r14d
xor eax, ebx
xor r9d, esi
mov dword [rcx + 0x50], ebx
xor ebx, r10d
xor r11d, r14d
mov dword [rsp + 0x28], r14d
mov dword [rcx + 0x4c], r14d
mov dword [rcx + 0x88], ebx
mov r14, qword [rsp + 8]
mov ebx, r8d
mov dword [rcx + 0x8c], r9d
mov r9d, r8d
mov r12, qword [rsp + 0x18]
movzx esi, bh
shr r9d, 0x10
mov r10d, dword [r14 + rsi*4]
movzx r9d, r9b
mov rsi, qword [rsp + 0x10]
mov dword [rcx + 0x84], r11d
mov r11d, dword [r12 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov ebx, dword [rsi + r9*4]
mov r13d, dword [r15 + r8*4]
movzx esi, ah
xor r13d, ebx
mov r8d, eax
xor r13d, r11d
mov ebp, dword [r14 + rsi*4]
shr r8d, 0x18
mov rsi, qword [rsp + 0x10]
mov r9d, dword [r15 + r8*4]
movzx r8d, al
mov r8d, dword [rsi + r8*4]
shr eax, 0x10
mov esi, r9d
xor esi, r8d
movzx eax, al
xor esi, dword [r12 + rax*4]
mov eax, edi
xor r13d, r10d
shr eax, 0x18
xor r10d, ebp
mov dword [rsp + 0x24], r10d
mov r10d, dword [r15 + rax*4]
mov eax, edi
shr eax, 0x10
movzx eax, al
xor esi, ebp
mov ebp, dword [r12 + rax*4]
mov rax, qword [rsp + 0x10]
xor r11d, ebp
mov dword [rsp + 0x34], r11d
movzx r11d, dil
xor r8d, ebx
mov ebx, dword [rax + r11*4]
mov eax, edi
movzx edi, ah
mov r11d, dword [r14 + rdi*4]
xor r9d, r10d
xor r10d, ebx
xor r10d, ebp
xor r11d, r10d
mov rdi, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x94]
xor r8d, ebx
mov ebx, dword [rsp + 0xa8]
shr r10d, 0x18
shr rdi, 0x10
mov rbp, r14
mov r14d, dword [r15 + r10*4]
mov r10, rdi
movzx edi, bh
mov ebp, dword [rbp + rdi*4]
mov rbx, qword [rsp + 0x10]
movzx edi, byte [rsp + 0xa4]
and r10d, 0xff
xor r9d, r14d
mov r12d, dword [r12 + r10*4]
xor r14d, dword [rbx + rdi*4]
mov ebx, r14d
mov r10d, dword [rsp + 0x24]
xor ebx, r12d
xor r10d, ebp
mov eax, dword [rsp + 0x34]
xor ebp, ebx
mov ebx, r13d
xor ebx, r9d
xor eax, r12d
mov edi, ebx
mov ebx, esi
xor ebx, eax
and edi, 0xff000000
and ebx, 0xff0000
or ebx, edi
mov edi, r8d
xor edi, ebp
movzx edi, dil
or ebx, edi
mov edi, r11d
xor edi, r10d
and edi, 0xff00
or ebx, edi
mov dword [rcx + 0x3c], ebx
mov edi, r8d
mov r14d, ebx
mov ebx, r9d
shl ebx, 8
shr edi, 0x18
xor ebx, esi
xor edi, r13d
and ebx, 0xff000000
movzx edi, dil
or ebx, edi
mov edi, eax
shl edi, 8
xor edi, r11d
and edi, 0xff0000
or ebx, edi
mov edi, r10d
shl edi, 8
xor edi, ebp
and edi, 0xff00
or ebx, edi
mov dword [rcx + 0x40], ebx
mov edi, r8d
mov r12d, ebx
mov ebx, r9d
shl ebx, 0x10
shr edi, 0x10
xor ebx, r11d
xor edi, esi
and ebx, 0xff000000
movzx edi, dil
or ebx, edi
mov edi, eax
shl edi, 0x10
xor edi, ebp
and edi, 0xff0000
or ebx, edi
mov edi, r10d
shr edi, 0x10
xor edi, r13d
and edi, 0xff00
or ebx, edi
shl r9d, 0x18
shr r8d, 8
xor r9d, ebp
xor r8d, r11d
shr eax, 8
and r9d, 0xff000000
xor eax, r13d
shr r10d, 8
movzx r8d, r8b
and eax, 0xff0000
or r9d, r8d
xor r10d, esi
or r9d, eax
and r10d, 0xff00
or r9d, r10d
cmp qword [rsp + 0x130], 4
mov dword [rsp + 0x34], ebx
mov dword [rcx + 0x44], ebx
mov dword [rsp + 0x38], r9d
mov dword [rcx + 0x48], r9d
mov eax, 2
jbe 0x49ad09
mov r9d, dword [rdx]
bswap r9d
sub qword [rsp + 0x130], 4
mov dword [rsp + 0x24], r9d
add rdx, 4
jmp 0x49b9a0
mov edx, dword [rsp + 0x24]
mov dword [rcx + 4], eax
mov dword [rcx], edx
jmp 0x49acd9