Function at 0x4a2120
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, 0x88
mov rax, r8
shl rax, 3
add qword [rcx + 0xa0], rax
mov qword [rsp + 0xe0], r8
mov eax, dword [rcx]
mov r8d, dword [rcx + 4]
mov dword [rsp + 0x24], eax
cmp r8d, 3
ja 0x4a38d8
mov r9d, 4
sub r9d, r8d
cmp r9, qword [rsp + 0xe0]
ja 0x4a38f8
mov r9d, 3
sub r9d, r8d
mov r8d, 4
mov eax, dword [rsp + 0x24]
movzx r10d, byte [rdx]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x24], eax
test r9d, r9d
je 0x4a21d3
movzx r10d, byte [rdx + 1]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x24], eax
cmp r9d, 1
je 0x4a21d3
movzx r10d, byte [rdx + 2]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x24], eax
cmp r9d, 2
je 0x4a21d3
movzx r10d, byte [rdx + 3]
shl eax, 8
or eax, r10d
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0xe0]
lea r10d, [r9 + 1]
add rdx, r10
lea r10, [rax - 1]
sub r10, r9
mov qword [rsp + 0xe0], r10
je 0x4a41e0
mov r8d, dword [rcx + 8]
cmp r8d, 2
je 0x4a41f8
ja 0x4a3920
test r8d, r8d
je 0x4a39b0
mov eax, dword [rcx + 0x98]
mov r11d, dword [rcx + 0x78]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x80]
mov edi, dword [rcx + 0x7c]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x84]
mov r15d, dword [rcx + 0x88]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x30], eax
lea rax, [0x0074d180]
mov qword [rsp + 0x28], rax
lea rax, [0x0074cd80]
mov qword [rsp + 8], rax
lea rax, [0x0074c980]
mov qword [rsp + 0x18], rax
lea rax, [0x0074d580]
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x48]
mov r8d, dword [rcx + 0x6c]
xor edi, dword [rcx + 0x54]
xor eax, dword [rsp + 0x24]
xor r8d, edi
mov dword [rsp + 0x50], eax
mov dword [rcx + 0x98], eax
mov dword [rsp + 0x5c], edi
mov eax, edi
mov dword [rcx + 0x7c], edi
mov r9d, dword [rsp + 0x40]
mov edi, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x38]
xor r9d, edi
mov ebx, dword [rcx + 0x70]
xor r15d, dword [rcx + 0x60]
mov dword [rcx + 0x2c], r9d
mov r9d, r8d
xor ebx, esi
xor r11d, esi
xor dword [rcx + 0x24], eax
mov rsi, qword [rsp + 8]
mov dword [rsp + 0x60], r15d
mov dword [rcx + 0x88], r15d
shr r9d, 0x10
mov r15, qword [rsp + 0x28]
mov eax, r8d
mov r10, qword [rsp + 0x10]
mov ebp, dword [rcx + 0x74]
movzx r9d, r9b
movzx eax, ah
mov r12d, dword [rsi + rax*4]
mov r13d, dword [r15 + r9*4]
mov rax, qword [rsp + 0x18]
movzx r9d, r8b
shr r8d, 0x18
xor ebp, edi
mov edi, dword [r10 + r8*4]
mov r8d, ebx
mov r14d, dword [rax + r9*4]
shr r8d, 0x18
movzx eax, bh
xor dword [rcx + 0x28], r11d
mov r11d, dword [r10 + r8*4]
mov r10d, dword [rsi + rax*4]
mov rax, qword [rsp + 0x18]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [rax + r8*4]
movzx r8d, bl
mov esi, dword [r15 + r8*4]
mov ebx, r11d
xor ebx, r9d
xor esi, ebx
mov r8d, ebp
mov rbx, qword [rsp + 0x10]
shr r8d, 0x18
mov ebx, dword [rbx + r8*4]
mov r8d, ebp
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [r15 + r8*4]
movzx r15d, bpl
mov r15d, dword [rax + r15*4]
mov eax, ebp
xor r11d, ebx
movzx ebp, ah
xor ebx, r15d
mov rax, qword [rsp + 8]
xor ebx, r8d
xor ebx, dword [rax + rbp*4]
mov eax, dword [rsp + 0x24]
xor r9d, r15d
mov rbp, qword [rsp + 0x10]
xor edi, r14d
xor r14d, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rbp + r9*4]
mov ebp, eax
mov r15, qword [rsp + 0x28]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor edi, r13d
xor r8d, ebp
movzx eax, ah
xor edi, r12d
xor esi, r10d
xor r11d, r9d
xor r13d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, r12d
mov r12, qword [rsp + 0x18]
xor r9d, dword [r12 + rax*4]
xor r9d, ebp
xor r8d, r9d
mov eax, esi
mov r9d, edi
xor r9d, r11d
xor eax, r13d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x70], eax
mov r9d, r11d
mov eax, ebx
xor eax, r10d
shl r9d, 8
mov dword [rsp + 0x7c], eax
mov eax, r9d
mov r9d, r14d
shr r9d, 0x18
xor eax, esi
xor r9d, edi
and eax, 0xff000000
movzx r9d, r9b
or eax, r9d
mov r9d, r13d
shl r9d, 8
xor r9d, ebx
and r9d, 0xff0000
or eax, r9d
mov r9d, r10d
shl r9d, 8
xor r9d, r8d
mov ebp, r14d
xor ebp, r8d
and r9d, 0xff00
or eax, r9d
mov dword [rsp + 0x78], ebp
mov r9d, r11d
mov ebp, r14d
shl r9d, 0x10
shr ebp, 0x10
xor r9d, ebx
xor ebp, esi
and r9d, 0xff000000
movzx ebp, bpl
or r9d, ebp
mov ebp, r13d
shl ebp, 0x10
xor ebp, r8d
and ebp, 0xff0000
shl r11d, 0x18
shr r14d, 8
xor r11d, r8d
xor r14d, ebx
shr r13d, 8
or r9d, ebp
xor r13d, edi
mov ebp, r10d
and r11d, 0xff000000
movzx r14d, r14b
shr r10d, 8
or r11d, r14d
and r13d, 0xff0000
xor r10d, esi
or r11d, r13d
and r10d, 0xff00
or r11d, r10d
shr ebp, 0x10
mov esi, r11d
xor ebp, edi
mov dword [rsp + 0x68], r11d
mov dword [rcx + 0x78], r11d
mov r11d, dword [rcx + 0x60]
and ebp, 0xff00
mov edi, dword [rcx + 0x68]
or r9d, ebp
xor r11d, eax
mov dword [rcx + 0x70], eax
xor eax, dword [rsp + 0x34]
xor edi, esi
mov dword [rsp + 0x48], r9d
mov dword [rcx + 0x74], r9d
mov dword [rcx + 0x18], eax
mov ebx, dword [rcx + 0x64]
mov r10d, dword [rsp + 0x4c]
xor dword [rcx + 0x20], esi
mov esi, r11d
shr esi, 0x10
mov r13, qword [rsp + 0x10]
movzx eax, sil
mov r8d, dword [r15 + rax*4]
xor ebx, r9d
xor r10d, r9d
mov eax, r11d
movzx r9d, r11b
shr r11d, 0x18
mov r9d, dword [r12 + r9*4]
mov esi, dword [r13 + r11*4]
mov r14, r15
mov r15, qword [rsp + 8]
mov dword [rcx + 0x1c], r10d
movzx eax, ah
mov r10d, ebx
mov eax, dword [r15 + rax*4]
xor esi, r9d
shr r10d, 0x18
mov r10d, dword [r13 + r10*4]
xor esi, r8d
movzx r11d, bl
movzx ebp, bh
xor esi, eax
mov ebp, dword [r15 + rbp*4]
shr ebx, 0x10
mov r15d, dword [r12 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, r15d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
shr r11d, 0x18
mov r13d, dword [r13 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov dword [rsp + 0x24], eax
mov rax, r12
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
mov eax, edi
mov r11d, r13d
xor r9d, r15d
movzx edi, ah
xor r11d, r14d
mov rax, qword [rsp + 8]
xor r14d, r9d
xor r11d, r12d
mov r9d, dword [rsp + 0x40]
xor r11d, dword [rax + rdi*4]
mov rdi, qword [rsp + 0x10]
shr r9d, 0x18
mov r9d, dword [rdi + r9*4]
mov rdi, qword [rsp + 0x28]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x70]
mov eax, dword [rsp + 0x7c]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
mov r15, qword [rsp + 8]
xor r8d, r10d
movzx eax, ah
xor r12d, r8d
movzx edi, byte [rsp + 0x78]
mov r8d, dword [r15 + rax*4]
mov r15, qword [rsp + 0x18]
mov eax, dword [rsp + 0x24]
xor r9d, dword [r15 + rdi*4]
xor ebx, ebp
xor r9d, r10d
xor eax, ebp
xor eax, r8d
xor r8d, r9d
mov r9d, ebx
xor r9d, r12d
mov dword [rsp + 0x40], r9d
mov r9d, r11d
xor r9d, eax
mov dword [rsp + 0x78], r9d
mov r9d, r13d
shl r9d, 8
xor r9d, ebx
mov r10d, esi
xor r10d, r13d
mov edi, r9d
mov r9d, r12d
mov dword [rsp + 0x34], r10d
shl r9d, 8
mov r10d, r14d
xor r10d, r8d
xor r9d, r11d
mov dword [rsp + 0x70], r10d
mov r10d, r9d
and edi, 0xff000000
and r10d, 0xff0000
or edi, r10d
mov r10d, eax
shl r10d, 8
xor r10d, r8d
and r10d, 0xff00
mov r9d, edi
or r9d, r10d
mov r10d, r14d
shr r10d, 0x18
xor r10d, esi
movzx r10d, r10b
or r9d, r10d
mov r10d, r9d
mov dword [rsp + 0x4c], r9d
mov dword [rcx + 0x64], r9d
mov edi, r13d
mov r9d, r12d
shl edi, 0x10
shl r9d, 0x10
xor edi, r11d
xor r9d, r8d
and r9d, 0xff0000
and edi, 0xff000000
or edi, r9d
mov r9d, eax
shr r9d, 0x10
xor r9d, esi
and r9d, 0xff00
or edi, r9d
mov r9d, r14d
shr r9d, 0x10
shl r13d, 0x18
shr r12d, 8
xor r9d, ebx
xor r13d, r8d
xor r12d, esi
shr eax, 8
and r13d, 0xff000000
mov esi, dword [rcx + 0x58]
movzx r9d, r9b
and r12d, 0xff0000
xor eax, ebx
or edi, r9d
or r12d, r13d
and eax, 0xff00
shr r14d, 8
xor r14d, r11d
xor esi, edi
mov ebx, esi
or r12d, eax
mov esi, dword [rcx + 0x5c]
movzx ebp, r14b
or ebp, r12d
xor esi, ebp
mov r15d, esi
mov r8d, dword [rcx + 0x54]
mov esi, dword [rsp + 0x58]
xor r8d, r10d
xor esi, r10d
mov dword [rcx + 0x68], edi
mov dword [rcx + 0xc], esi
xor edi, dword [rsp + 0x6c]
mov esi, r8d
shr esi, 0x10
mov dword [rcx + 0x10], edi
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
movzx eax, sil
mov r12, qword [rsp + 0x18]
mov esi, dword [rdi + rax*4]
movzx r10d, r8b
mov eax, r8d
shr r8d, 0x18
mov r13d, dword [r14 + r8*4]
mov dword [rcx + 0x6c], ebp
mov r8d, ebx
xor ebp, dword [rsp + 0x30]
mov r11d, dword [r12 + r10*4]
shr r8d, 0x18
mov dword [rcx + 0x14], ebp
mov rbp, qword [rsp + 8]
mov r10d, dword [r14 + r8*4]
movzx eax, ah
movzx r8d, bl
mov r9d, dword [rbp + rax*4]
mov r8d, dword [r12 + r8*4]
xor r13d, r11d
movzx eax, bh
xor r13d, esi
mov dword [rsp + 0x18], esi
shr ebx, 0x10
mov esi, dword [rbp + rax*4]
mov rax, r12
mov r12d, r10d
xor r12d, r8d
movzx ebx, bl
xor r12d, dword [rdi + rbx*4]
xor r13d, r9d
xor r12d, esi
xor r9d, esi
mov esi, r15d
shr esi, 0x18
xor r8d, r11d
mov r11d, esi
mov esi, r15d
shr esi, 0x10
movzx ebx, sil
mov r11d, dword [r14 + r11*4]
mov r14, rdi
mov edi, dword [rdi + rbx*4]
mov esi, dword [rsp + 0x18]
movzx ebx, r15b
mov ebx, dword [rax + rbx*4]
mov qword [rsp + 0x18], rax
mov eax, r15d
xor esi, edi
movzx eax, ah
mov dword [rsp + 0x24], esi
xor r10d, r11d
mov esi, dword [rbp + rax*4]
xor r11d, ebx
xor r11d, edi
xor esi, r11d
mov r11d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x10]
shr r11d, 0x18
xor r8d, ebx
mov r11d, dword [r15 + r11*4]
mov rbx, qword [rsp + 0x40]
xor r10d, r11d
shr rbx, 0x10
and ebx, 0xff
mov r14d, dword [r14 + rbx*4]
mov ebx, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x18]
movzx ebx, bh
mov ebp, dword [rbp + rbx*4]
movzx ebx, byte [rsp + 0x70]
mov eax, dword [rsp + 0x24]
xor r11d, dword [rdi + rbx*4]
xor r11d, r14d
xor eax, r14d
mov edi, r11d
mov ebx, r12d
mov r11d, r13d
xor r11d, r10d
xor ebx, eax
and ebx, 0xff0000
and r11d, 0xff000000
xor edi, ebp
or r11d, ebx
mov ebx, r8d
xor ebx, edi
movzx ebx, bl
xor r9d, ebp
or r11d, ebx
mov ebx, esi
xor ebx, r9d
and ebx, 0xff00
or r11d, ebx
mov ebp, r8d
mov ebx, r10d
shl ebx, 8
shr ebp, 0x18
xor ebx, r12d
xor ebp, r13d
and ebx, 0xff000000
movzx ebp, bpl
or ebx, ebp
mov ebp, eax
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
mov r14d, r8d
mov ebp, r10d
shl ebp, 0x10
shr r14d, 0x10
xor ebp, esi
xor r14d, r12d
and ebp, 0xff000000
movzx r14d, r14b
or ebp, r14d
mov r14d, eax
shl r14d, 0x10
xor r14d, edi
and r14d, 0xff0000
shl r10d, 0x18
shr r8d, 8
or ebp, r14d
xor r10d, edi
mov r14d, r9d
xor r8d, esi
shr eax, 8
shr r14d, 0x10
and r10d, 0xff000000
movzx r8d, r8b
xor eax, r13d
shr r9d, 8
or r10d, r8d
xor r14d, r13d
and eax, 0xff0000
xor r9d, r12d
and r14d, 0xff00
or r10d, eax
and r9d, 0xff00
or ebp, r14d
or r10d, r9d
cmp qword [rsp + 0xe0], 4
mov dword [rcx + 0x54], r11d
mov dword [rcx + 0x58], ebx
mov dword [rsp + 0x30], ebp
mov dword [rcx + 0x5c], ebp
mov dword [rsp + 0x34], r10d
mov dword [rcx + 0x60], r10d
mov r8d, 2
jbe 0x4a387a
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xe0], 4
mov dword [rsp + 0x24], eax
add rdx, 4
mov r10, r15
mov eax, dword [rsp + 0x48]
mov esi, dword [rsp + 0x4c]
mov r8d, dword [rcx + 0x48]
xor ebx, dword [rcx + 0x30]
xor eax, dword [rsp + 0x24]
xor esi, dword [rcx + 0x3c]
xor r8d, ebx
mov r15d, dword [rsp + 0x34]
mov dword [rsp + 0x48], eax
mov dword [rcx + 0x74], eax
mov dword [rsp + 0x40], ebx
mov eax, ebx
mov dword [rcx + 0x58], ebx
mov dword [rsp + 0x4c], esi
mov dword [rcx + 0x64], esi
mov ebx, dword [rcx + 0x4c]
mov esi, dword [rsp + 0x30]
mov ebp, dword [rcx + 0x50]
mov edi, dword [rsp + 0x50]
mov r9d, r8d
xor ebp, r15d
xor ebx, esi
xor r11d, esi
xor edi, r15d
mov rsi, qword [rsp + 8]
mov r15, qword [rsp + 0x28]
xor dword [rcx + 0x90], eax
shr r9d, 0x10
mov eax, r8d
movzx r9d, r9b
movzx eax, ah
mov r12d, dword [rsi + rax*4]
mov r13d, dword [r15 + r9*4]
mov rax, qword [rsp + 0x18]
movzx r9d, r8b
shr r8d, 0x18
mov dword [rcx + 0x98], edi
mov edi, dword [r10 + r8*4]
mov r8d, ebx
mov r14d, dword [rax + r9*4]
shr r8d, 0x18
movzx eax, bh
xor dword [rcx + 0x94], r11d
mov r11d, dword [r10 + r8*4]
mov r10d, dword [rsi + rax*4]
mov rax, qword [rsp + 0x18]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [rax + r8*4]
movzx ebx, bl
mov esi, dword [r15 + rbx*4]
mov r8d, r11d
xor r8d, r9d
xor esi, r8d
mov rbx, qword [rsp + 0x10]
mov r8d, ebp
shr r8d, 0x18
mov ebx, dword [rbx + r8*4]
mov r8d, ebp
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [r15 + r8*4]
movzx r15d, bpl
mov r15d, dword [rax + r15*4]
mov eax, ebp
xor r11d, ebx
movzx ebp, ah
xor ebx, r15d
mov rax, qword [rsp + 8]
xor ebx, r8d
xor ebx, dword [rax + rbp*4]
mov eax, dword [rsp + 0x24]
xor r9d, r15d
mov rbp, qword [rsp + 0x10]
xor edi, r14d
xor r14d, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rbp + r9*4]
mov ebp, eax
mov r15, qword [rsp + 0x28]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor edi, r13d
xor r8d, ebp
movzx eax, ah
xor edi, r12d
xor esi, r10d
xor r11d, r9d
xor r13d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, r12d
mov r12, qword [rsp + 0x18]
xor r9d, dword [r12 + rax*4]
xor r9d, ebp
xor r8d, r9d
mov eax, esi
mov r9d, edi
xor r9d, r11d
xor eax, r13d
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x70], eax
mov r9d, r11d
mov eax, ebx
xor eax, r10d
shl r9d, 8
mov dword [rsp + 0x7c], eax
mov eax, r9d
mov r9d, r14d
shr r9d, 0x18
xor eax, esi
xor r9d, edi
and eax, 0xff000000
movzx r9d, r9b
or eax, r9d
mov r9d, r13d
shl r9d, 8
xor r9d, ebx
and r9d, 0xff0000
or eax, r9d
mov r9d, r10d
shl r9d, 8
xor r9d, r8d
mov ebp, r14d
xor ebp, r8d
and r9d, 0xff00
or eax, r9d
mov dword [rsp + 0x78], ebp
mov r9d, r11d
mov ebp, r14d
shl r9d, 0x10
shr ebp, 0x10
xor r9d, ebx
xor ebp, esi
and r9d, 0xff000000
movzx ebp, bpl
or r9d, ebp
mov ebp, r13d
shl ebp, 0x10
xor ebp, r8d
and ebp, 0xff0000
shl r11d, 0x18
shr r14d, 8
or r9d, ebp
xor r11d, r8d
xor r14d, ebx
mov ebp, r10d
shr r13d, 8
shr r10d, 8
xor r13d, edi
xor r10d, esi
and r11d, 0xff000000
movzx r14d, r14b
or r11d, r14d
and r13d, 0xff0000
mov esi, r10d
or r11d, r13d
and esi, 0xff00
or r11d, esi
mov r14d, r11d
mov dword [rsp + 0x58], r11d
mov dword [rcx + 0x54], r11d
shr ebp, 0x10
mov r11d, dword [rcx + 0x3c]
xor ebp, edi
xor r11d, eax
and ebp, 0xff00
or r9d, ebp
mov dword [rcx + 0x4c], eax
mov esi, r11d
xor eax, dword [rsp + 0x3c]
shr esi, 0x10
mov dword [rsp + 0x50], r9d
mov dword [rcx + 0x50], r9d
mov dword [rcx + 0x84], eax
mov ebx, dword [rcx + 0x40]
mov edi, dword [rcx + 0x44]
mov r10d, dword [rsp + 0x60]
movzx eax, sil
mov r13, qword [rsp + 0x10]
mov r8d, dword [r15 + rax*4]
xor ebx, r9d
xor r10d, r9d
mov eax, r11d
movzx r9d, r11b
shr r11d, 0x18
xor edi, r14d
mov r9d, dword [r12 + r9*4]
mov esi, dword [r13 + r11*4]
xor dword [rcx + 0x8c], r14d
mov r14, r15
mov r15, qword [rsp + 8]
mov dword [rcx + 0x88], r10d
movzx eax, ah
mov r10d, ebx
mov eax, dword [r15 + rax*4]
xor esi, r9d
shr r10d, 0x18
mov r10d, dword [r13 + r10*4]
xor esi, r8d
movzx r11d, bl
movzx ebp, bh
xor esi, eax
mov ebp, dword [r15 + rbp*4]
shr ebx, 0x10
mov r15d, dword [r12 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, r15d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
shr r11d, 0x18
mov r13d, dword [r13 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov dword [rsp + 0x24], eax
mov rax, r12
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
mov eax, edi
mov r11d, r13d
xor r9d, r15d
movzx edi, ah
xor r11d, r14d
mov rax, qword [rsp + 8]
xor r14d, r9d
xor r11d, r12d
mov r9d, dword [rsp + 0x6c]
xor r11d, dword [rax + rdi*4]
mov rdi, qword [rsp + 0x10]
shr r9d, 0x18
mov r9d, dword [rdi + r9*4]
mov rdi, qword [rsp + 0x28]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x70]
mov eax, dword [rsp + 0x7c]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
movzx eax, ah
xor r8d, r10d
xor r12d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
movzx edi, byte [rsp + 0x78]
mov r15, qword [rsp + 0x18]
mov r8d, dword [rax + r8*4]
mov eax, dword [rsp + 0x24]
xor r9d, dword [r15 + rdi*4]
xor r9d, r10d
xor eax, ebp
xor eax, r8d
xor r8d, r9d
mov r9d, r14d
xor r9d, r8d
mov dword [rsp + 0x6c], r9d
mov r9d, r13d
xor ebx, ebp
shl r9d, 8
xor r9d, ebx
and r9d, 0xff000000
mov edi, r9d
mov r9d, r12d
mov r10d, ebx
shl r9d, 8
xor r10d, r12d
xor r9d, r11d
mov dword [rsp + 0x60], r10d
mov r15d, esi
mov ebp, r11d
mov r10d, r9d
xor r15d, r13d
xor ebp, eax
mov r9d, edi
and r10d, 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
mov dword [rsp + 0x3c], r15d
movzx r10d, r10b
mov r15d, r9d
or r15d, r10d
mov r10d, r13d
shl r10d, 0x10
mov r9d, r12d
mov edi, r10d
shl r9d, 0x10
xor edi, r11d
xor r9d, r8d
and r9d, 0xff0000
and edi, 0xff000000
or edi, r9d
mov r9d, eax
shr r9d, 0x10
xor r9d, esi
and r9d, 0xff00
or edi, r9d
mov r9d, r14d
shr r9d, 0x10
shl r13d, 0x18
shr r12d, 8
xor r9d, ebx
xor r13d, r8d
xor r12d, esi
shr eax, 8
and r12d, 0xff0000
mov r8d, dword [rcx + 0x30]
movzx r9d, r9b
and r13d, 0xff000000
xor eax, ebx
or edi, r9d
or r13d, r12d
mov ebx, dword [rcx + 0x34]
and eax, 0xff00
or r13d, eax
xor r8d, r15d
shr r14d, 8
xor ebx, edi
xor r14d, r11d
mov dword [rcx + 0x44], edi
mov esi, dword [rsp + 0x68]
xor edi, dword [rsp + 0x5c]
mov r12d, r13d
mov r13d, r8d
movzx r11d, r14b
shr r13d, 0x10
mov dword [rsp + 0x70], ebp
mov dword [rcx + 0x7c], edi
mov ebp, dword [rcx + 0x38]
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x10]
or r12d, r11d
xor esi, r15d
movzx eax, r13b
xor ebp, r12d
movzx r10d, r8b
mov dword [rcx + 0x48], r12d
mov dword [rcx + 0x78], esi
xor r12d, dword [rsp + 0x38]
mov esi, dword [rdi + rax*4]
mov eax, r8d
shr r8d, 0x18
mov r13d, dword [r14 + r8*4]
mov dword [rcx + 0x80], r12d
mov r8d, ebx
mov r12, qword [rsp + 0x18]
mov dword [rsp + 0x24], esi
shr r8d, 0x18
mov rsi, qword [rsp + 8]
mov r11d, dword [r12 + r10*4]
movzx eax, ah
mov r10d, dword [r14 + r8*4]
movzx r8d, bl
mov r9d, dword [rsi + rax*4]
mov r8d, dword [r12 + r8*4]
movzx eax, bh
mov esi, dword [rsi + rax*4]
shr ebx, 0x10
mov rax, r12
mov r12d, r10d
xor r12d, r8d
movzx ebx, bl
xor r12d, dword [rdi + rbx*4]
mov ebx, ebp
xor r13d, r11d
xor r8d, r11d
shr ebx, 0x10
mov r11d, ebp
shr r11d, 0x18
movzx ebx, bl
mov r11d, dword [r14 + r11*4]
xor r13d, dword [rsp + 0x24]
mov r14, rdi
mov dword [rcx + 0x40], r15d
mov edi, dword [rdi + rbx*4]
movzx ebx, bpl
mov ebx, dword [rax + rbx*4]
xor r13d, r9d
xor r12d, esi
xor r9d, esi
mov esi, dword [rsp + 0x24]
xor r10d, r11d
xor r11d, ebx
xor esi, edi
xor r11d, edi
mov eax, ebp
mov rdi, qword [rsp + 8]
movzx ebp, ah
mov dword [rsp + 0x24], esi
mov esi, dword [rdi + rbp*4]
mov rbp, qword [rsp + 0x10]
xor esi, r11d
mov r11d, dword [rsp + 0x3c]
xor r8d, ebx
shr r11d, 0x18
mov r11d, dword [rbp + r11*4]
mov rbx, qword [rsp + 0x60]
xor r10d, r11d
shr rbx, 0x10
and ebx, 0xff
mov r14d, dword [r14 + rbx*4]
mov ebx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x24]
movzx ebx, bh
mov ebp, dword [rdi + rbx*4]
movzx ebx, byte [rsp + 0x6c]
mov rdi, qword [rsp + 0x18]
xor eax, r14d
xor r11d, dword [rdi + rbx*4]
xor r11d, r14d
mov edi, r11d
mov ebx, r12d
mov r11d, r13d
xor r11d, r10d
xor ebx, eax
and ebx, 0xff0000
and r11d, 0xff000000
xor edi, ebp
or r11d, ebx
mov ebx, r8d
xor ebx, edi
movzx ebx, bl
xor r9d, ebp
or r11d, ebx
mov ebx, esi
xor ebx, r9d
and ebx, 0xff00
or r11d, ebx
mov ebp, r8d
mov ebx, r10d
shl ebx, 8
shr ebp, 0x18
xor ebx, r12d
xor ebp, r13d
and ebx, 0xff000000
movzx ebp, bpl
or ebx, ebp
mov ebp, eax
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or ebx, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
mov r14d, r8d
mov ebp, r10d
shl ebp, 0x10
shr r14d, 0x10
xor ebp, esi
xor r14d, r12d
and ebp, 0xff000000
movzx r14d, r14b
or ebp, r14d
mov r14d, eax
shl r14d, 0x10
xor r14d, edi
and r14d, 0xff0000
shl r10d, 0x18
shr r8d, 8
or ebp, r14d
xor r10d, edi
mov r14d, r9d
xor r8d, esi
shr eax, 8
shr r14d, 0x10
and r10d, 0xff000000
movzx r8d, r8b
xor eax, r13d
shr r9d, 8
or r10d, r8d
xor r14d, r13d
and eax, 0xff0000
xor r9d, r12d
and r14d, 0xff00
or r10d, eax
and r9d, 0xff00
or ebp, r14d
or r10d, r9d
cmp qword [rsp + 0xe0], 4
mov dword [rcx + 0x30], r11d
mov dword [rcx + 0x34], ebx
mov dword [rsp + 0x3c], ebp
mov dword [rcx + 0x38], ebp
mov dword [rsp + 0x38], r10d
mov dword [rcx + 0x3c], r10d
mov r8d, 3
jbe 0x4a387a
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xe0], 4
mov dword [rsp + 0x24], eax
add rdx, 4
mov eax, dword [rsp + 0x50]
mov edi, dword [rsp + 0x38]
mov r8d, dword [rcx + 0x24]
mov r9d, dword [rsp + 0x48]
xor ebx, dword [rcx + 0xc]
xor eax, dword [rsp + 0x24]
xor r8d, ebx
mov esi, dword [rsp + 0x3c]
xor r9d, edi
mov dword [rsp + 0x50], eax
mov dword [rcx + 0x50], eax
mov dword [rsp + 0x5c], ebx
mov eax, ebx
mov dword [rcx + 0x34], ebx
mov ebx, dword [rcx + 0x28]
xor r15d, dword [rcx + 0x18]
mov dword [rcx + 0x74], r9d
mov r9d, r8d
xor ebx, esi
xor r11d, esi
xor dword [rcx + 0x6c], eax
mov rsi, qword [rsp + 8]
mov dword [rsp + 0x60], r15d
mov dword [rcx + 0x40], r15d
shr r9d, 0x10
mov r15, qword [rsp + 0x28]
mov eax, r8d
mov r10, qword [rsp + 0x10]
mov ebp, dword [rcx + 0x2c]
movzx r9d, r9b
movzx eax, ah
mov r12d, dword [rsi + rax*4]
mov r13d, dword [r15 + r9*4]
mov rax, qword [rsp + 0x18]
movzx r9d, r8b
shr r8d, 0x18
xor ebp, edi
mov edi, dword [r10 + r8*4]
mov r8d, ebx
mov r14d, dword [rax + r9*4]
shr r8d, 0x18
movzx eax, bh
xor dword [rcx + 0x70], r11d
mov r11d, dword [r10 + r8*4]
mov r10d, dword [rsi + rax*4]
mov rax, qword [rsp + 0x18]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [rax + r8*4]
movzx ebx, bl
mov esi, dword [r15 + rbx*4]
mov r8d, r11d
xor r8d, r9d
xor esi, r8d
mov rbx, qword [rsp + 0x10]
mov r8d, ebp
shr r8d, 0x18
mov ebx, dword [rbx + r8*4]
mov r8d, ebp
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [r15 + r8*4]
movzx r15d, bpl
mov r15d, dword [rax + r15*4]
mov eax, ebp
xor r11d, ebx
movzx ebp, ah
xor ebx, r15d
mov rax, qword [rsp + 8]
xor ebx, r8d
xor ebx, dword [rax + rbp*4]
mov eax, dword [rsp + 0x24]
xor r9d, r15d
mov rbp, qword [rsp + 0x10]
xor edi, r14d
xor r14d, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rbp + r9*4]
mov ebp, eax
mov r15, qword [rsp + 0x28]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor edi, r13d
xor r8d, ebp
movzx eax, ah
xor edi, r12d
xor esi, r10d
xor r11d, r9d
xor r13d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, r12d
mov r12, qword [rsp + 0x18]
xor r9d, dword [r12 + rax*4]
xor r9d, ebp
xor r8d, r9d
mov eax, esi
mov r9d, edi
xor r9d, r11d
xor eax, r13d
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x70], eax
mov r9d, r11d
mov eax, ebx
xor eax, r10d
shl r9d, 8
mov dword [rsp + 0x7c], eax
mov eax, r9d
mov r9d, r14d
shr r9d, 0x18
xor eax, esi
xor r9d, edi
and eax, 0xff000000
movzx r9d, r9b
or eax, r9d
mov r9d, r13d
shl r9d, 8
xor r9d, ebx
and r9d, 0xff0000
or eax, r9d
mov r9d, r10d
shl r9d, 8
xor r9d, r8d
mov ebp, r14d
xor ebp, r8d
and r9d, 0xff00
or eax, r9d
mov dword [rsp + 0x78], ebp
mov r9d, r11d
mov ebp, r14d
shl r9d, 0x10
shr ebp, 0x10
xor r9d, ebx
xor ebp, esi
and r9d, 0xff000000
movzx ebp, bpl
or r9d, ebp
mov ebp, r13d
shl ebp, 0x10
xor ebp, r8d
and ebp, 0xff0000
shl r11d, 0x18
shr r14d, 8
xor r11d, r8d
xor r14d, ebx
shr r13d, 8
or r9d, ebp
xor r13d, edi
mov ebp, r10d
and r11d, 0xff000000
movzx r14d, r14b
shr r10d, 8
or r11d, r14d
and r13d, 0xff0000
xor r10d, esi
or r11d, r13d
and r10d, 0xff00
or r11d, r10d
shr ebp, 0x10
mov esi, r11d
xor ebp, edi
mov dword [rsp + 0x68], r11d
mov dword [rcx + 0x30], r11d
mov r11d, dword [rcx + 0x18]
and ebp, 0xff00
mov edi, dword [rcx + 0x20]
or r9d, ebp
xor r11d, eax
mov dword [rcx + 0x28], eax
xor eax, dword [rsp + 0x34]
xor edi, esi
mov dword [rsp + 0x48], r9d
mov dword [rcx + 0x2c], r9d
mov dword [rcx + 0x60], eax
mov ebx, dword [rcx + 0x1c]
mov r10d, dword [rsp + 0x4c]
xor dword [rcx + 0x68], esi
mov esi, r11d
shr esi, 0x10
mov r13, qword [rsp + 0x10]
movzx eax, sil
mov r8d, dword [r15 + rax*4]
xor ebx, r9d
xor r10d, r9d
mov eax, r11d
movzx r9d, r11b
shr r11d, 0x18
mov r9d, dword [r12 + r9*4]
mov esi, dword [r13 + r11*4]
mov r14, r15
mov r15, qword [rsp + 8]
mov dword [rcx + 0x64], r10d
movzx eax, ah
mov r10d, ebx
mov eax, dword [r15 + rax*4]
xor esi, r9d
shr r10d, 0x18
mov r10d, dword [r13 + r10*4]
xor esi, r8d
movzx r11d, bl
movzx ebp, bh
xor esi, eax
mov ebp, dword [r15 + rbp*4]
shr ebx, 0x10
mov r15d, dword [r12 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, r15d
xor ebx, dword [r14 + r11*4]
mov r11d, edi
shr r11d, 0x18
mov r13d, dword [r13 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
mov dword [rsp + 0x24], eax
mov rax, r12
mov r12d, dword [r14 + r11*4]
movzx r11d, dil
mov r14d, dword [rax + r11*4]
mov eax, edi
mov r11d, r13d
xor r9d, r15d
movzx edi, ah
xor r11d, r14d
mov rax, qword [rsp + 8]
xor r14d, r9d
xor r11d, r12d
mov r9d, dword [rsp + 0x6c]
xor r11d, dword [rax + rdi*4]
mov rdi, qword [rsp + 0x10]
shr r9d, 0x18
mov r9d, dword [rdi + r9*4]
mov rdi, qword [rsp + 0x28]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x70]
mov eax, dword [rsp + 0x7c]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
movzx eax, ah
xor r8d, r10d
xor r12d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
movzx edi, byte [rsp + 0x78]
mov r15, qword [rsp + 0x18]
mov r8d, dword [rax + r8*4]
mov eax, dword [rsp + 0x24]
xor r9d, dword [r15 + rdi*4]
xor r9d, r10d
xor eax, ebp
xor eax, r8d
xor r8d, r9d
mov r9d, r11d
xor r9d, eax
mov dword [rsp + 0x70], r9d
mov r9d, r13d
xor ebx, ebp
shl r9d, 8
xor r9d, ebx
and r9d, 0xff000000
mov edi, r9d
mov r9d, r12d
mov r10d, r14d
shl r9d, 8
xor r10d, r8d
xor r9d, r11d
mov dword [rsp + 0x6c], r10d
mov r15d, esi
mov ebp, ebx
mov r10d, r9d
xor r15d, r13d
xor ebp, r12d
mov r9d, edi
and r10d, 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 r10d, r9d
mov dword [rsp + 0x4c], r9d
mov dword [rcx + 0x1c], r9d
mov edi, r13d
mov r9d, r12d
shl edi, 0x10
shl r9d, 0x10
xor edi, r11d
xor r9d, r8d
and r9d, 0xff0000
and edi, 0xff000000
or edi, r9d
mov r9d, eax
shr r9d, 0x10
xor r9d, esi
and r9d, 0xff00
or edi, r9d
mov r9d, r14d
shr r9d, 0x10
shl r13d, 0x18
shr r12d, 8
xor r9d, ebx
xor r13d, r8d
xor r12d, esi
mov r8d, dword [rcx + 0xc]
mov esi, dword [rsp + 0x58]
shr eax, 8
and r13d, 0xff000000
movzx r9d, r9b
and r12d, 0xff0000
xor eax, ebx
mov ebx, dword [rcx + 0x10]
or edi, r9d
or r12d, r13d
and eax, 0xff00
xor r8d, r10d
xor esi, r10d
xor ebx, edi
mov dword [rcx + 0x20], edi
mov dword [rcx + 0x54], esi
xor edi, dword [rsp + 0x40]
mov esi, r8d
shr r14d, 8
shr esi, 0x10
mov dword [rcx + 0x58], edi
mov rdi, qword [rsp + 0x28]
or r12d, eax
xor r11d, r14d
movzx eax, sil
mov r14, qword [rsp + 0x10]
mov esi, dword [rdi + rax*4]
movzx r10d, r8b
mov dword [rsp + 0x34], r15d
mov eax, r8d
mov r15d, dword [rcx + 0x14]
shr r8d, 0x18
movzx r11d, r11b
or r11d, r12d
mov r13d, dword [r14 + r8*4]
mov r12, qword [rsp + 0x18]
mov r8d, ebx
xor r15d, r11d
mov dword [rsp + 0x24], esi
shr r8d, 0x18
mov rsi, qword [rsp + 8]
mov dword [rcx + 0x24], r11d
xor r11d, dword [rsp + 0x30]
mov dword [rcx + 0x5c], r11d
movzx eax, ah
mov r11d, dword [r12 + r10*4]
mov r10d, dword [r14 + r8*4]
movzx r8d, bl
mov r9d, dword [rsi + rax*4]
mov r8d, dword [r12 + r8*4]
movzx eax, bh
mov esi, dword [rsi + rax*4]
shr ebx, 0x10
mov rax, r12
mov r12d, r10d
xor r12d, r8d
movzx ebx, bl
xor r12d, dword [rdi + rbx*4]
mov ebx, r15d
xor r13d, r11d
xor r8d, r11d
shr ebx, 0x10
mov r11d, r15d
shr r11d, 0x18
movzx ebx, bl
mov r11d, dword [r14 + r11*4]
xor r13d, dword [rsp + 0x24]
mov r14, rdi
mov edi, dword [rdi + rbx*4]
movzx ebx, r15b
mov ebx, dword [rax + rbx*4]
xor r13d, r9d
xor r12d, esi
xor r9d, esi
mov esi, dword [rsp + 0x24]
xor r10d, r11d
xor r11d, ebx
xor esi, edi
xor r11d, edi
mov eax, r15d
mov rdi, qword [rsp + 8]
movzx eax, ah
mov dword [rsp + 0x24], esi
mov esi, dword [rdi + rax*4]
mov r15, qword [rsp + 0x10]
xor esi, r11d
mov r11d, dword [rsp + 0x34]
xor r8d, ebx
shr r11d, 0x18
mov r11d, dword [r15 + r11*4]
mov rbx, rbp
xor r10d, r11d
shr rbx, 0x10
and ebx, 0xff
mov r14d, dword [r14 + rbx*4]
mov ebx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x24]
movzx ebx, bh
mov ebp, dword [rdi + rbx*4]
movzx ebx, byte [rsp + 0x6c]
mov rdi, qword [rsp + 0x18]
xor eax, r14d
xor r11d, dword [rdi + rbx*4]
xor r11d, r14d
mov edi, r11d
mov ebx, r13d
mov r11d, r12d
xor ebx, r10d
xor r11d, eax
and r11d, 0xff0000
and ebx, 0xff000000
xor edi, ebp
or ebx, r11d
mov r11d, r8d
xor r11d, edi
movzx r11d, r11b
xor r9d, ebp
or ebx, r11d
mov r11d, esi
xor r11d, r9d
and r11d, 0xff00
or ebx, r11d
mov ebp, r8d
mov r11d, r10d
shl r11d, 8
shr ebp, 0x18
xor r11d, r12d
xor ebp, r13d
and r11d, 0xff000000
movzx ebp, bpl
or r11d, ebp
mov ebp, eax
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or r11d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or r11d, ebp
mov r14d, r8d
mov ebp, r10d
shl ebp, 0x10
shr r14d, 0x10
xor ebp, esi
xor r14d, r12d
and ebp, 0xff000000
movzx r14d, r14b
or ebp, r14d
mov r14d, eax
shl r14d, 0x10
xor r14d, edi
and r14d, 0xff0000
shl r10d, 0x18
shr r8d, 8
or ebp, r14d
xor r10d, edi
mov r14d, r9d
xor r8d, esi
shr eax, 8
shr r14d, 0x10
and r10d, 0xff000000
movzx r8d, r8b
xor eax, r13d
shr r9d, 8
or r10d, r8d
xor r14d, r13d
and eax, 0xff0000
xor r9d, r12d
and r14d, 0xff00
or r10d, eax
and r9d, 0xff00
or ebp, r14d
or r10d, r9d
xor r8d, r8d
cmp qword [rsp + 0xe0], 4
mov dword [rcx + 0xc], ebx
mov dword [rcx + 0x10], r11d
mov dword [rsp + 0x30], ebp
mov dword [rcx + 0x14], ebp
mov dword [rsp + 0x34], r10d
mov dword [rcx + 0x18], r10d
ja 0x4a41c0
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xe0]
dec rax
cmp qword [rsp + 0xe0], 0
je 0x4a4290
lea r10, [rdx + rax + 1]
xor eax, eax
nop dword [rax]
movzx r9d, byte [rdx]
shl eax, 8
inc rdx
or eax, r9d
cmp r10, rdx
jne 0x4a38a8
mov dword [rcx], eax
mov dword [rcx + 8], r8d
add rsp, 0x88
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 0x4a41f8
jbe 0x4a220b
cmp r8d, 3
je 0x4a392a
jmp 0x4a387a
add r8d, dword [rsp + 0xe0]
cmp qword [rsp + 0xe0], 0
je 0x4a41e0
mov eax, dword [rsp + 0xe0]
lea r9d, [rax - 1]
jmp 0x4a2183
cmp r8d, 3
jne 0x4a42a0
mov eax, dword [rcx + 0x50]
mov r11d, dword [rcx + 0x30]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x38]
mov ebx, dword [rcx + 0x34]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x3c]
mov r15d, dword [rcx + 0x40]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x30], eax
lea rax, [0x0074d180]
mov qword [rsp + 0x28], rax
lea rax, [0x0074cd80]
mov qword [rsp + 8], rax
lea rax, [0x0074c980]
mov qword [rsp + 0x18], rax
lea rax, [0x0074d580]
mov qword [rsp + 0x10], rax
jmp 0x4a3148
mov eax, dword [rcx + 0x2c]
mov ebx, dword [rcx + 0xc]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x1c]
mov r11d, dword [rcx + 0x10]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x3c], eax
lea rax, [0x0074d180]
mov qword [rsp + 0x28], rax
lea rax, [0x0074cd80]
mov qword [rsp + 8], rax
lea rax, [0x0074c980]
mov qword [rsp + 0x18], rax
lea rax, [0x0074d580]
mov qword [rsp + 0x10], rax
mov esi, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x48]
xor esi, dword [rcx + 0x84]
mov r9d, dword [rcx + 0x90]
xor r11d, dword [rcx + 0x78]
mov dword [rsp + 0x4c], esi
mov dword [rcx + 0x1c], esi
mov r8d, dword [rcx + 0x94]
mov esi, dword [rsp + 0x30]
xor r9d, r11d
xor eax, dword [rsp + 0x24]
mov r15d, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x50]
xor r8d, esi
xor ebx, esi
mov dword [rsp + 0x40], eax
mov rsi, qword [rsp + 8]
mov dword [rcx + 0x2c], eax
mov r10d, r9d
mov eax, r9d
mov r14, qword [rsp + 0x28]
xor ebp, r15d
shr r10d, 0x10
movzx eax, ah
mov dword [rcx + 0x50], ebp
mov edi, dword [rcx + 0x98]
mov ebp, dword [rsi + rax*4]
movzx r10d, r10b
mov rax, qword [rsp + 0x10]
mov r12d, dword [r14 + r10*4]
movzx r10d, r9b
shr r9d, 0x18
xor edi, r15d
mov r15d, dword [rax + r9*4]
mov r9d, r8d
shr r9d, 0x18
xor dword [rcx + 0x48], r11d
xor dword [rcx + 0x4c], ebx
mov dword [rsp + 0x6c], r11d
mov rbx, qword [rsp + 0x18]
mov dword [rcx + 0x10], r11d
mov r11d, dword [rax + r9*4]
mov eax, r8d
movzx eax, ah
movzx r9d, r8b
shr r8d, 0x10
mov r13d, dword [rbx + r10*4]
movzx r8d, r8b
mov r10d, dword [rsi + rax*4]
mov r9d, dword [rbx + r9*4]
mov rax, rbx
mov esi, dword [r14 + r8*4]
mov ebx, r11d
xor ebx, r9d
xor esi, ebx
mov r8d, edi
mov rbx, qword [rsp + 0x10]
shr r8d, 0x18
mov ebx, dword [rbx + r8*4]
mov r8d, edi
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [r14 + r8*4]
movzx r14d, dil
mov r14d, dword [rax + r14*4]
mov eax, edi
xor r11d, ebx
movzx edi, ah
xor ebx, r14d
mov rax, qword [rsp + 8]
xor ebx, r8d
xor ebx, dword [rax + rdi*4]
mov eax, dword [rsp + 0x24]
xor r9d, r14d
mov rdi, qword [rsp + 0x10]
xor r15d, r13d
xor r13d, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rdi + r9*4]
mov edi, eax
mov r14, qword [rsp + 0x28]
shr edi, 0x10
movzx edi, dil
mov edi, dword [r14 + rdi*4]
xor r15d, r12d
xor r8d, edi
movzx eax, ah
xor r15d, ebp
xor esi, r10d
xor r11d, r9d
xor r12d, r8d
mov r8, rax
mov rax, qword [rsp + 8]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x24]
xor r10d, r8d
xor r10d, ebp
mov rbp, qword [rsp + 0x18]
xor r9d, dword [rbp + rax*4]
xor r9d, edi
xor r8d, r9d
mov edi, esi
mov eax, r13d
xor edi, r12d
xor eax, r8d
mov r9d, r15d
xor r9d, r11d
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x78], eax
mov edi, r11d
mov eax, ebx
xor eax, r10d
shl edi, 8
mov dword [rsp + 0x50], r9d
mov r9d, r13d
mov dword [rsp + 0x7c], eax
shr r9d, 0x18
mov eax, edi
xor eax, esi
xor r9d, r15d
and eax, 0xff000000
movzx r9d, r9b
or eax, r9d
mov r9d, r12d
shl r9d, 8
xor r9d, ebx
and r9d, 0xff0000
or eax, r9d
mov r9d, r10d
shl r9d, 8
xor r9d, r8d
and r9d, 0xff00
or eax, r9d
mov edi, r13d
mov r9d, r11d
shl r9d, 0x10
shr edi, 0x10
xor r9d, ebx
xor edi, esi
and r9d, 0xff000000
movzx edi, dil
or r9d, edi
mov edi, r12d
shl edi, 0x10
xor edi, r8d
and edi, 0xff0000
shl r11d, 0x18
shr r13d, 8
xor r11d, r8d
xor r13d, ebx
shr r12d, 8
or r9d, edi
xor r12d, r15d
mov edi, r10d
and r11d, 0xff000000
movzx r13d, r13b
shr r10d, 8
or r11d, r13d
and r12d, 0xff0000
xor r10d, esi
or r11d, r12d
and r10d, 0xff00
shr edi, 0x10
or r11d, r10d
xor edi, r15d
mov esi, r11d
and edi, 0xff00
mov dword [rsp + 0x58], r11d
mov dword [rcx + 0xc], r11d
mov r11d, dword [rcx + 0x84]
or r9d, edi
mov edi, dword [rcx + 0x8c]
xor r11d, eax
mov dword [rcx + 0x94], eax
xor eax, dword [rsp + 0x38]
xor edi, esi
mov dword [rsp + 0x48], r9d
mov dword [rcx + 0x98], r9d
mov dword [rcx + 0x3c], eax
mov ebx, dword [rcx + 0x88]
mov r10d, dword [rsp + 0x60]
xor dword [rcx + 0x44], esi
mov esi, r11d
shr esi, 0x10
mov r12, qword [rsp + 0x10]
movzx eax, sil
mov r8d, dword [r14 + rax*4]
xor ebx, r9d
xor r10d, r9d
mov eax, r11d
movzx r9d, r11b
shr r11d, 0x18
mov r15, qword [rsp + 8]
mov r9d, dword [rbp + r9*4]
mov esi, dword [r12 + r11*4]
movzx eax, ah
xor esi, r9d
mov dword [rcx + 0x40], r10d
mov r10d, dword [r15 + rax*4]
xor esi, r8d
xor esi, r10d
mov dword [rsp + 0x24], r10d
mov r10d, ebx
shr r10d, 0x18
mov r10d, dword [r12 + r10*4]
mov rax, rbp
movzx r11d, bl
movzx ebp, bh
mov ebp, dword [r15 + rbp*4]
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
shr r11d, 0x18
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
xor r9d, r15d
movzx edi, ah
xor r11d, r14d
mov rax, qword [rsp + 8]
xor r14d, r9d
xor r11d, r12d
mov r9d, dword [rsp + 0x50]
xor r11d, dword [rax + rdi*4]
mov rdi, qword [rsp + 0x10]
shr r9d, 0x18
mov r9d, dword [rdi + r9*4]
mov rdi, qword [rsp + 0x28]
xor r10d, r9d
xor r13d, r10d
mov r10, qword [rsp + 0x70]
mov eax, dword [rsp + 0x7c]
shr r10, 0x10
and r10d, 0xff
mov r10d, dword [rdi + r10*4]
mov r15, qword [rsp + 8]
xor r8d, r10d
movzx eax, ah
xor r12d, r8d
movzx edi, byte [rsp + 0x78]
mov r8d, dword [r15 + rax*4]
mov r15, qword [rsp + 0x18]
mov eax, dword [rsp + 0x24]
xor r9d, dword [r15 + rdi*4]
xor ebx, ebp
xor r9d, r10d
xor eax, ebp
xor eax, r8d
xor r8d, r9d
mov r9d, ebx
xor r9d, r12d
mov dword [rsp + 0x50], r9d
mov r9d, r11d
xor r9d, eax
mov dword [rsp + 0x70], r9d
mov r9d, r13d
shl r9d, 8
xor r9d, ebx
mov r10d, esi
xor r10d, r13d
mov edi, r9d
mov r9d, r12d
mov dword [rsp + 0x38], r10d
shl r9d, 8
mov r10d, r14d
xor r10d, r8d
xor r9d, r11d
mov dword [rsp + 0x60], r10d
mov r10d, r9d
and edi, 0xff000000
and r10d, 0xff0000
or edi, r10d
mov r10d, eax
shl r10d, 8
xor r10d, r8d
and r10d, 0xff00
mov r9d, edi
or r9d, r10d
mov r15d, r9d
mov r9d, r13d
shl r9d, 0x10
xor r9d, r11d
mov r10d, r14d
shr r10d, 0x18
mov edi, r9d
mov r9d, r12d
xor r10d, esi
shl r9d, 0x10
xor r9d, r8d
movzx r10d, r10b
or r15d, r10d
mov r10d, r9d
and r10d, 0xff0000
and edi, 0xff000000
or edi, r10d
mov r10d, eax
mov r9d, edi
shr r10d, 0x10
mov edi, r14d
xor r10d, esi
shr edi, 0x10
shl r13d, 0x18
shr r12d, 8
and r10d, 0xff00
xor edi, ebx
xor r13d, r8d
xor r12d, esi
shr eax, 8
or r9d, r10d
and r13d, 0xff000000
and r12d, 0xff0000
xor eax, ebx
movzx edi, dil
or edi, r9d
or r12d, r13d
and eax, 0xff00
shr r14d, 8
xor r14d, r11d
or r12d, eax
movzx r11d, r14b
mov esi, dword [rcx + 0x80]
or r12d, r11d
xor esi, r12d
mov r11d, esi
mov r8d, dword [rcx + 0x78]
mov esi, dword [rsp + 0x68]
xor r8d, r15d
xor esi, r15d
mov dword [rcx + 0x30], esi
mov ebx, dword [rcx + 0x7c]
mov esi, r8d
mov r14, qword [rsp + 0x28]
shr esi, 0x10
xor ebx, edi
movzx eax, sil
mov dword [rcx + 0x8c], edi
xor edi, dword [rsp + 0x5c]
mov dword [rcx + 0x90], r12d
mov dword [rcx + 0x34], edi
xor r12d, dword [rsp + 0x3c]
mov edi, dword [r14 + rax*4]
mov eax, r8d
mov rbp, qword [rsp + 8]
movzx esi, ah
mov dword [rcx + 0x38], r12d
mov rax, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
movzx r10d, r8b
shr r8d, 0x18
mov r9d, dword [rbp + rsi*4]
mov r13d, dword [rax + r8*4]
mov esi, dword [r12 + r10*4]
mov r8d, ebx
shr r8d, 0x18
mov r10d, dword [rax + r8*4]
xor r13d, esi
movzx r8d, bl
mov r8d, dword [r12 + r8*4]
xor r13d, edi
mov dword [rsp + 0x24], edi
movzx edi, bh
mov edi, dword [rbp + rdi*4]
shr ebx, 0x10
mov ebp, r10d
xor ebp, r8d
movzx ebx, bl
xor ebp, dword [r14 + rbx*4]
mov ebx, r11d
shr ebx, 0x18
xor r8d, esi
mov esi, dword [rax + rbx*4]
mov ebx, r11d
shr ebx, 0x10
mov r12, r14
movzx ebx, bl
mov r14d, ebp
xor r13d, r9d
mov ebp, dword [r12 + rbx*4]
xor r14d, edi
xor r9d, edi
mov dword [rcx + 0x88], r15d
mov eax, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x18]
movzx ebx, r11b
mov edi, dword [rdi + rbx*4]
xor r10d, esi
xor esi, edi
xor esi, ebp
xor eax, ebp
mov ebx, r11d
mov rbp, qword [rsp + 8]
movzx ebx, bh
mov ebx, dword [rbp + rbx*4]
mov r11d, dword [rsp + 0x38]
xor ebx, esi
mov rsi, qword [rsp + 0x10]
shr r11d, 0x18
mov r11d, dword [rsi + r11*4]
mov rsi, qword [rsp + 0x50]
xor r8d, edi
xor r10d, r11d
shr rsi, 0x10
and esi, 0xff
mov ebp, dword [r12 + rsi*4]
mov r12, qword [rsp + 0x18]
xor eax, ebp
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x70]
movzx esi, ah
mov rax, qword [rsp + 8]
mov edi, dword [rax + rsi*4]
movzx esi, byte [rsp + 0x60]
mov eax, dword [rsp + 0x24]
xor r11d, dword [r12 + rsi*4]
xor r11d, ebp
mov esi, r11d
xor r9d, edi
xor esi, edi
mov r11d, r13d
mov edi, r14d
xor r11d, r10d
xor edi, eax
and edi, 0xff0000
and r11d, 0xff000000
or r11d, edi
mov edi, r8d
xor edi, esi
movzx edi, dil
or r11d, edi
mov edi, ebx
xor edi, r9d
and edi, 0xff00
or r11d, edi
mov ebp, r8d
mov edi, r10d
shl edi, 8
shr ebp, 0x18
xor edi, r14d
xor ebp, r13d
shl eax, 8
and edi, 0xff000000
movzx ebp, bpl
or edi, ebp
mov ebp, eax
xor ebp, ebx
and ebp, 0xff0000
or edi, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov r12d, r8d
mov ebp, r10d
shl ebp, 0x10
mov eax, dword [rsp + 0x24]
shr r12d, 0x10
xor ebp, ebx
xor r12d, r14d
shl eax, 0x10
and ebp, 0xff000000
movzx r12d, r12b
or ebp, r12d
mov r12d, eax
xor r12d, esi
mov eax, dword [rsp + 0x24]
and r12d, 0xff0000
shl r10d, 0x18
shr r8d, 8
or ebp, r12d
xor r10d, esi
mov r12d, r9d
xor r8d, ebx
shr eax, 8
shr r12d, 0x10
and r10d, 0xff000000
movzx r8d, r8b
xor eax, r13d
shr r9d, 8
or r10d, r8d
xor r12d, r13d
and eax, 0xff0000
xor r9d, r14d
and r12d, 0xff00
or r10d, eax
and r9d, 0xff00
or ebp, r12d
or r10d, r9d
cmp qword [rsp + 0xe0], 4
mov dword [rcx + 0x78], r11d
mov dword [rcx + 0x7c], edi
mov dword [rsp + 0x38], ebp
mov dword [rcx + 0x80], ebp
mov dword [rsp + 0x3c], r10d
mov dword [rcx + 0x84], r10d
mov r8d, 1
jbe 0x4a387a
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xe0], 4
mov dword [rsp + 0x24], eax
add rdx, 4
jmp 0x4a229a
mov eax, dword [rdx]
bswap eax
sub qword [rsp + 0xe0], 4
mov dword [rsp + 0x24], eax
add rdx, 4
jmp 0x4a3a2d
vmovd xmm1, dword [rsp + 0x24]
vpinsrd xmm0, xmm1, r8d, 1
vmovq qword [rcx], xmm0
jmp 0x4a38c0
mov eax, dword [rcx + 0x74]
mov r11d, dword [rcx + 0x54]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x64]
mov ebx, dword [rcx + 0x58]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0x38], eax
lea rax, [0x0074d180]
mov qword [rsp + 0x28], rax
lea rax, [0x0074cd80]
mov qword [rsp + 8], rax
lea rax, [0x0074c980]
mov qword [rsp + 0x18], rax
lea rax, [0x0074d580]
mov qword [rsp + 0x10], rax
mov r10, rax
jmp 0x4a29ec
xor eax, eax
jmp 0x4a38ba
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xe0]
dec rax
jmp 0x4a389e