Function at 0x14004cd74
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe98]
sub rsp, 0xf58
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
mov rax, qword [0x1400fe008]
xor rax, rsp
mov qword [rbp + 0xdc0], rax
mov rax, qword [rbp + 0xef0]
mov esi, 8
mov rbx, qword [rbp + 0xee8]
mov r11, rcx
mov r15, qword [rbp + 0xec8]
mov r13d, dword [rbp + 0xec0]
movsxd r12, edx
lea r10d, [rsi + 0x78]
mov qword [rsp + 0x68], r9
lea rdx, [rbp + 0x30]
mov qword [rbp - 0x70], rcx
mov r9d, esi
mov rcx, qword [rbp + 0xee0]
mov qword [rsp + 0x60], rax
mov rax, r15
mov qword [rbp - 0x78], r8
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x58], r13d
mov qword [rbp - 8], rbx
mov qword [rbp - 0x80], rbx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
add rax, r10
movups xmmword [rdx + 0x60], xmm0
add rdx, r10
movups xmmword [rdx - 0x10], xmm1
sub r9, 1
jne 0x14004ce37
movups xmm0, xmmword [rax]
mov r9, rsi
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov qword [rdx + 0x20], rax
mov rax, r8
lea rdx, [rbp + 0x460]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
add rax, r10
movups xmmword [rdx + 0x60], xmm0
add rdx, r10
movups xmmword [rdx - 0x10], xmm1
sub r9, 1
jne 0x14004cea4
movups xmm0, xmmword [rax]
xor edi, edi
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov qword [rdx + 0x20], rax
test rcx, rcx
je 0x14004cf77
lea rdx, [rbp + 0x890]
mov rax, rsi
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x70]
add rcx, r10
movups xmmword [rdx + 0x60], xmm0
add rdx, r10
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x14004cf15
movups xmm0, xmmword [rcx]
mov rax, qword [rcx + 0x20]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov qword [rdx + 0x20], rax
jmp 0x14004cf93
xor edx, edx
lea rcx, [rbp + 0x890]
mov r8d, 0x428
call fcn.1400bfdc0
mov r8, qword [rbp - 0x78]
mov r11, qword [rbp - 0x70]
mov r9d, 1
mov qword [rbp - 0x50], r9
cmp byte [rbp + 0x33], dil
jne 0x14004cfae
mov eax, edi
cmp byte [rbp + 0x463], dil
je 0x14004cfb1
mov eax, r9d
mov rcx, qword [rbp + 0xed0]
cmp byte [rbp + 0x46b], dil
je 0x14004cfd1
test rcx, rcx
jne 0x14004cfcc
cmp byte [rbp + 0x3b], dil
je 0x14004cfd1
mov edx, r9d
jmp 0x14004cfd3
mov edx, edi
mov dword [rsp + 0x4c], edx
cmp byte [rbp + 0x46b], dil
je 0x14004cff0
test rcx, rcx
je 0x14004cff0
mov dword [rsp + 0x74], r9d
cmp byte [rbp + 0x3b], dil
je 0x14004cff4
mov dword [rsp + 0x74], edi
cmp edx, r9d
je 0x14004d013
cmp byte [rbp + 0x46b], dil
je 0x14004d013
cmp dword [rbp + 0xf20], r9d
je 0x14004d013
mov ecx, dword [rbp + 0xf00]
jmp 0x14004d01b
mov ecx, edi
mov dword [rbp + 0xf00], ecx
mov r9, qword [rsp + 0x60]
mov r14d, dword [r9 + 8]
sub r14d, dword [r9]
mov esi, dword [r9 + 0xc]
mov r10d, dword [r9 + 4]
sub esi, r10d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x50], esi
test r14d, r14d
je 0x14005260f
test esi, esi
je 0x14005260f
cmp byte [rbp + 0x33], dil
jne 0x14004d058
cmp byte [rbp + 0x32], 0x10
je 0x14004d072
cmp byte [rbp + 0x463], dil
jne 0x14004d21b
cmp byte [rbp + 0x462], 0x10
jne 0x14004d21b
test ecx, ecx
jne 0x14004d154
cmp dword [rsp + 0x74], edi
jne 0x14004d154
cmp dword [rbp + 0xf18], edi
jne 0x14004d154
cmp dword [rbp + 0xf20], edi
jne 0x14004d154
mov al, byte [rbp + 0x33]
cmp byte [rbp + 0x463], al
jne 0x14004d154
mov al, byte [rbp + 0x32]
cmp byte [rbp + 0x462], al
jne 0x14004d154
mov al, byte [rbp + 0x31]
cmp byte [rbp + 0x461], al
jne 0x14004d154
mov al, byte [rbp + 0x464]
movzx r8d, byte [rbp + 0x34]
cmp al, r8b
jne 0x14004d154
movzx eax, al
mov r15d, r13d
mov r9d, eax
imul r10d, r13d
imul eax, ebx
imul r9d, r14d
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
sub r15d, r9d
imul eax, r12d
movsxd rdx, eax
lea rax, [r11 + rcx]
mov rcx, qword [rsp + 0x60]
add rdx, rax
mov eax, r8d
mov r11d, r12d
sub r11d, r9d
movsxd r8, r10d
shr r9d, 2
imul eax, dword [rcx]
movsxd rcx, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r8, rax
or ecx, 0xffffffff
mov r10d, r9d
mov eax, dword [r8]
add r8, 4
mov dword [rdx], eax
add rdx, 4
add r10d, ecx
jne 0x14004d130
add rdx, r11
lea eax, [r10 + 1]
add r8, r15
sub esi, eax
jne 0x14004d12d
mov dword [rsp + 0x50], esi
mov r10d, dword [rbp + 0x478]
mov dl, byte [rbp + 0x465]
mov r9b, byte [rbp + 0x35]
mov r11d, dword [rbp + 0x40]
mov dword [rbp - 0x30], edi
mov dword [rbp - 0x34], edi
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x44], edi
mov dword [rbp + 0x18], edi
mov dword [rbp - 0x10], edi
mov dword [rbp - 0x14], edi
mov dword [rbp - 0x18], edi
mov byte [rsp + 0x70], dil
mov byte [rsp + 0x71], dil
mov byte [rsp + 0x55], dil
mov byte [rsp + 0x54], dil
mov dword [rbp + 4], edi
mov dword [rbp + 0xc], edi
mov dword [rbp + 0x14], edi
mov dword [rbp - 0x20], edi
mov dword [rbp], edi
mov dword [rbp + 8], edi
mov dword [rbp + 0x10], edi
mov dword [rbp - 0x1c], edi
cmp byte [rbp + 0x33], dil
jne 0x14004d1bb
cmp byte [rbp + 0x32], 0x10
jne 0x14004d1ef
mov r9b, 0x20
mov dword [rbp + 0x3c], 0x18000810
mov r11d, 0xff0000
mov byte [rbp + 0x35], r9b
mov dword [rbp + 0x40], r11d
mov dword [rbp + 0x38], 0x8080808
mov dword [rbp + 0x44], 0xff00
mov dword [rbp + 0x48], 0xff
mov dword [rbp + 0x4c], 0xff000000
cmp byte [rbp + 0x463], dil
jne 0x140051467
cmp byte [rbp + 0x462], 0x10
je 0x140051467
mov cl, byte [rbp + 0x469]
mov r8b, byte [rbp + 0x468]
jmp 0x1400514b7
test eax, eax
je 0x14004d30a
test ecx, ecx
jne 0x14004d154
cmp dword [rsp + 0x74], edi
jne 0x14004d154
cmp dword [rbp + 0xf18], edi
jne 0x14004d154
cmp dword [rbp + 0xf20], edi
jne 0x14004d154
mov al, byte [rbp + 0x33]
cmp byte [rbp + 0x463], al
jne 0x14004d154
mov al, byte [rbp + 0x32]
cmp byte [rbp + 0x462], al
jne 0x14004d154
mov al, byte [rbp + 0x31]
cmp byte [rbp + 0x461], al
jne 0x14004d154
mov al, byte [rbp + 0x464]
movzx r8d, byte [rbp + 0x34]
cmp al, r8b
jne 0x14004d154
movzx eax, al
mov r15d, r13d
mov r9d, eax
imul r10d, r13d
imul eax, ebx
imul r9d, r14d
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
sub r15d, r9d
imul eax, r12d
movsxd rdx, eax
lea rax, [r11 + rcx]
mov rcx, qword [rsp + 0x60]
add rdx, rax
mov eax, r8d
mov r11d, r12d
sub r11d, r9d
movsxd r8, r10d
shr r9d, 2
imul eax, dword [rcx]
movsxd rcx, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r8, rax
or ecx, 0xffffffff
mov r10d, r9d
mov eax, dword [r8]
add r8, 4
mov dword [rdx], eax
add rdx, 4
add r10d, ecx
jne 0x14004d2e5
add rdx, r11
lea eax, [r10 + 1]
add r8, r15
sub esi, eax
jne 0x14004d2e2
jmp 0x14004d150
mov al, byte [r8 + 5]
cmp al, 4
jne 0x14004d3c8
cmp byte [r15 + 5], 8
jne 0x14005260f
mov eax, ebx
mov r15d, 1
and eax, 0x80000001
jge 0x14004d339
sub eax, r15d
or eax, 0xfffffffe
add eax, r15d
test eax, eax
jne 0x14005260f
mov eax, dword [rbp - 0x7c]
imul eax, r12d
imul r10d, r13d
sub r13d, r14d
movsxd rcx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movsxd r9, eax
lea rax, [r11 + rcx]
mov rcx, qword [rsp + 0x60]
add r9, rax
movsxd rax, r10d
add rax, qword [rsp + 0x68]
movsxd r11, r13d
movsxd r8, dword [rcx]
add r8, rax
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
sub r12d, eax
mov edx, eax
movsxd r10, r12d
lea ecx, [rax + rax]
sub r14d, ecx
mov ecx, edx
mov al, byte [r8 + 1]
shl al, 4
or al, byte [r8]
add r8, 2
mov byte [r9], al
add r9, r15
sub ecx, r15d
jne 0x14004d391
test r14d, r14d
je 0x14004d3b8
mov al, byte [r8]
add r8, r15
mov byte [r9], al
add r9, r10
add r8, r11
sub esi, r15d
jne 0x14004d38f
jmp 0x140051403
cmp al, 8
jne 0x14004d837
cmp dword [rbp + 0xf30], edi
je 0x14004d415
cmp byte [r15 + 5], al
jne 0x14004d415
mov rcx, r15
lea rax, [r8 + 0x28]
sub rcx, r8
mov r9d, 0x400
mov dl, byte [rax + rcx]
cmp byte [rax], dl
ja 0x14004d520
jb 0x14004d520
mov edx, 1
add rax, rdx
sub r9d, edx
jne 0x14004d3ee
mov edx, dword [rsp + 0x4c]
mov r9, qword [rsp + 0x60]
mov al, byte [r15 + 5]
cmp al, 8
je 0x14004d7b2
cmp dword [rbp + 0xf20], edi
jne 0x14004d7b2
cmp al, 0x10
je 0x14004d6d7
cmp al, 0x18
je 0x14004d5e7
cmp al, 0x20
jne 0x140051403
mov edx, edi
mov dword [rsp + 0x4c], edx
test esi, esi
jle 0x140051403
mov eax, dword [rbp - 0x7c]
imul eax, r12d
movsxd rbx, ebx
mov qword [rbp - 0x50], r12
cdqe
add rax, r11
add rbx, rax
mov eax, dword [r9 + 4]
add eax, edx
imul eax, r13d
movsxd rcx, eax
mov eax, dword [r9]
shl eax, 2
movsxd r12, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r12, rax
test r14d, r14d
jle 0x14004d509
mov rsi, qword [rbp - 0x78]
mov edi, 1
mov r13d, r14d
mov r14, rbx
mov edx, dword [r12]
mov eax, edx
mov cl, byte [r15 + 0xf]
mov r9d, edx
and eax, dword [r15 + 0x1c]
mov r8d, edx
and r9d, dword [r15 + 0x18]
and r8d, dword [r15 + 0x14]
and edx, dword [r15 + 0x10]
shr eax, cl
mov cl, byte [r15 + 0xe]
shr r9d, cl
mov cl, byte [r15 + 0xd]
shr r8d, cl
mov cl, byte [r15 + 0xc]
shr edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140052808
mov byte [r14], al
lea r12, [r12 + 4]
add r14, rdi
sub r13, rdi
jne 0x14004d49e
mov esi, dword [rsp + 0x50]
xor edi, edi
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x4c]
mov r9, qword [rsp + 0x60]
add rbx, qword [rbp - 0x50]
inc edx
mov dword [rsp + 0x4c], edx
cmp edx, esi
jl 0x14004d469
jmp 0x140051403
mov edx, edi
mov dword [rsp + 0x4c], edx
test esi, esi
jle 0x140051403
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
imul eax, r12d
movsxd rbx, ebx
mov qword [rbp - 0x58], r12
cdqe
add rax, r11
add rbx, rax
mov qword [rbp - 0x68], rbx
mov eax, dword [r8 + 4]
movsxd r12, dword [r8]
add eax, edx
imul eax, r13d
cdqe
add rax, rcx
add r12, rax
test r14d, r14d
jle 0x14004d5cc
mov rsi, qword [rbp - 0x78]
mov r13d, r14d
mov r14, rbx
mov ebx, 1
movzx eax, byte [r12]
mov rcx, rsi
mov dword [rsp + 0x20], edi
movzx r9d, byte [r15 + rax*4 + 0x28]
movzx r8d, byte [r15 + rax*4 + 0x29]
movzx edx, byte [r15 + rax*4 + 0x2a]
call fcn.140052808
mov byte [r14], al
add r12, rbx
add r14, rbx
sub r13, rbx
jne 0x14004d57b
mov esi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
mov rbx, qword [rbp - 0x68]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
add rbx, qword [rbp - 0x58]
inc edx
mov dword [rsp + 0x4c], edx
mov qword [rbp - 0x68], rbx
cmp edx, esi
jl 0x14004d552
jmp 0x140051403
mov edx, edi
mov dword [rsp + 0x4c], edx
test esi, esi
jle 0x140051403
mov eax, dword [rbp - 0x7c]
imul eax, r12d
movsxd rbx, ebx
mov qword [rbp - 0x50], r12
cdqe
add rax, r11
add rbx, rax
mov eax, dword [r9 + 4]
add eax, edx
imul eax, r13d
movsxd rcx, eax
mov eax, dword [r9]
add eax, eax
movsxd r12, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r12, rax
test r14d, r14d
jle 0x14004d6c0
mov rsi, qword [rbp - 0x78]
mov edi, 1
mov r13d, r14d
mov r14, rbx
mov cl, byte [r15 + 0xf]
movzx eax, word [r12]
movzx r10d, byte [r12 + 2]
mov r9d, dword [r15 + 0x18]
mov edx, dword [r15 + 0x10]
shl r10d, 0x10
or r10d, eax
mov eax, r10d
and r9d, r10d
and eax, dword [r15 + 0x1c]
mov r8d, r10d
and r8d, dword [r15 + 0x14]
and edx, r10d
shr eax, cl
mov cl, byte [r15 + 0xe]
shr r9d, cl
mov cl, byte [r15 + 0xd]
shr r8d, cl
mov cl, byte [r15 + 0xc]
shr edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140052808
mov byte [r14], al
lea r12, [r12 + 3]
add r14, rdi
sub r13, rdi
jne 0x14004d643
mov esi, dword [rsp + 0x50]
xor edi, edi
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x4c]
mov r9, qword [rsp + 0x60]
add rbx, qword [rbp - 0x50]
inc edx
mov dword [rsp + 0x4c], edx
cmp edx, esi
jl 0x14004d60b
jmp 0x140051403
mov edx, edi
mov dword [rsp + 0x4c], edx
test esi, esi
jle 0x140051403
mov eax, dword [rbp - 0x7c]
imul eax, r12d
movsxd rbx, ebx
mov qword [rbp - 0x50], r12
cdqe
add rax, r11
add rbx, rax
mov eax, dword [r9 + 4]
add eax, edx
imul eax, r13d
movsxd rcx, eax
mov eax, dword [r9]
add eax, eax
movsxd r12, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r12, rax
test r14d, r14d
jle 0x14004d79b
mov rsi, qword [rbp - 0x78]
mov edi, 1
mov r13d, r14d
mov r14, rbx
movzx edx, word [r12]
mov cl, byte [r15 + 0xf]
mov eax, edx
and eax, dword [r15 + 0x1c]
mov r9d, edx
and r9d, dword [r15 + 0x18]
mov r8d, edx
and r8d, dword [r15 + 0x14]
and edx, dword [r15 + 0x10]
shr eax, cl
mov cl, byte [r15 + 0xe]
shr r9d, cl
mov cl, byte [r15 + 0xd]
shr r8d, cl
mov cl, byte [r15 + 0xc]
shr edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140052808
mov byte [r14], al
lea r12, [r12 + 2]
add r14, rdi
sub r13, rdi
jne 0x14004d72f
mov esi, dword [rsp + 0x50]
xor edi, edi
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x4c]
mov r9, qword [rsp + 0x60]
add rbx, qword [rbp - 0x50]
inc edx
mov dword [rsp + 0x4c], edx
cmp edx, esi
jl 0x14004d6fb
jmp 0x140051403
cmp dword [rbp + 0xf18], edi
jne 0x14004d837
cmp dword [rbp + 0xf20], edi
jne 0x14004d837
cmp al, 8
jne 0x14005260f
mov eax, dword [rbp - 0x7c]
movsxd rcx, dword [r9]
imul eax, r12d
imul r10d, r13d
sub r13d, r14d
movsxd rdx, ebx
cdqe
add rax, r11
movsxd r11, r13d
add rdx, rax
movsxd rax, r10d
add rax, qword [rsp + 0x68]
add rcx, rax
sub r12d, r14d
movsxd r10, r12d
mov r9d, r14d
mov r14d, 1
movzx eax, byte [rcx]
cmp edi, eax
mov byte [rdx], al
mov r8d, eax
cmovae r8d, edi
add rdx, r14
add rcx, r14
mov edi, r8d
sub r9d, r14d
jne 0x14004d803
add rdx, r10
add rcx, r11
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x14004d7fa
mov eax, r8d
jmp 0x140052612
mov r9b, byte [rbp + 0x465]
mov cl, byte [rbp + 0x35]
mov r11d, dword [rbp + 0x470]
mov eax, dword [rbp + 0x40]
mov r8d, dword [rbp + 0x474]
mov r15d, dword [rbp + 0x478]
cmp dword [rbp + 0xf00], edi
jne 0x14004daf2
cmp dword [rsp + 0x74], edi
jne 0x14004daf2
cmp dword [rbp + 0xf18], edi
jne 0x14004daf2
cmp dword [rbp + 0xf20], edi
jne 0x14004daf2
cmp byte [rbp + 0x461], dil
jne 0x14004daf2
cmp byte [rbp + 0x31], dil
jne 0x14004daf2
cmp r9b, cl
jne 0x14004daf2
cmp r11d, eax
jne 0x14004daf2
cmp r8d, dword [rbp + 0x44]
jne 0x14004daf2
cmp r15d, dword [rbp + 0x48]
jne 0x14004daf2
mov eax, dword [rbp + 0x47c]
cmp eax, dword [rbp + 0x4c]
jne 0x14004daef
movzx r9d, byte [rbp + 0x464]
imul r10d, r13d
mov eax, r9d
imul eax, ebx
mov r8d, r9d
imul r8d, r14d
movsxd r10, r10d
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
sub r13d, r8d
imul eax, r12d
sub r12d, r8d
movsxd r11, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov rcx, qword [rsp + 0x60]
add r11, rax
movzx eax, byte [rbp + 0x34]
imul eax, dword [rcx]
movsxd rcx, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
add r10, rax
mov eax, r8d
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ebx, eax
lea ecx, [rax*4]
sub r8d, ecx
movzx ecx, byte [rbp + 0x465]
mov eax, r8d
cdq
idiv r9d
mov r8d, eax
mov eax, ecx
cmp ecx, 8
je 0x14004daa1
cmp eax, 0x10
je 0x14004da4f
cmp eax, 0x18
je 0x14004d9f5
cmp eax, 0x20
jne 0x140051403
mov eax, ebx
movsxd r15, r12d
cdq
movsxd r12, r13d
and edx, 0xf
mov r13d, 1
add eax, edx
sar eax, 4
mov ecx, eax
mov r8d, eax
neg ecx
shl ecx, 4
add ebx, ecx
test r8d, r8d
je 0x14004d9cc
mov r9d, r8d
mov rdx, r10
mov rcx, r11
sub rdx, r11
mov r14d, 8
mov rax, qword [rdx + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r14, r13
jne 0x14004d9af
add r11, 0x40
add r10, 0x40
sub r9d, r13d
jne 0x14004d9a0
test ebx, ebx
jle 0x14004d9e5
mov ecx, ebx
mov eax, dword [r10]
add r10, 4
mov dword [r11], eax
add r11, 4
sub ecx, r13d
jne 0x14004d9d2
add r11, r15
add r10, r12
sub esi, r13d
jne 0x14004d998
jmp 0x140051403
movsxd rdx, r12d
mov r14d, 1
movsxd r9, r13d
test ebx, ebx
je 0x14004da1a
mov ecx, ebx
mov eax, dword [r10]
add r10, 4
mov dword [r11], eax
add r11, 4
sub ecx, r14d
jne 0x14004da07
test r8d, r8d
je 0x14004da3f
mov ecx, r8d
movzx eax, word [r10]
mov word [r11], ax
mov al, byte [r10 + 2]
add r10, 3
mov byte [r11 + 2], al
add r11, 3
sub ecx, r14d
jne 0x14004da22
add r11, rdx
add r10, r9
sub esi, r14d
jne 0x14004da01
jmp 0x140051403
movsxd rdx, r12d
mov r14d, 1
movsxd r9, r13d
test ebx, ebx
je 0x14004da74
mov ecx, ebx
mov eax, dword [r10]
add r10, 4
mov dword [r11], eax
add r11, 4
sub ecx, r14d
jne 0x14004da61
test r8d, r8d
je 0x14004da91
mov ecx, r8d
movzx eax, word [r10]
add r10, 2
mov word [r11], ax
add r11, 2
sub ecx, r14d
jne 0x14004da7c
add r11, rdx
add r10, r9
sub esi, r14d
jne 0x14004da5b
jmp 0x140051403
movsxd rdx, r12d
mov r14d, 1
movsxd r9, r13d
test ebx, ebx
je 0x14004dac6
mov ecx, ebx
mov eax, dword [r10]
add r10, 4
mov dword [r11], eax
add r11, 4
sub ecx, r14d
jne 0x14004dab3
test r8d, r8d
je 0x14004dadf
mov ecx, r8d
mov al, byte [r10]
add r10, r14
mov byte [r11], al
add r11, r14
sub ecx, r14d
jne 0x14004dace
add r11, rdx
add r10, r9
sub esi, r14d
jne 0x14004daad
jmp 0x140051403
mov eax, dword [rbp + 0x40]
cmp byte [rbp + 0x46b], dil
je 0x14004ddbc
cmp dword [rbp + 0xf00], 1
jne 0x14004ddbc
cmp dword [rbp + 0xf18], edi
jne 0x14004ddbc
cmp dword [rbp + 0xf20], edi
jne 0x14004ddbc
cmp r11d, eax
jne 0x14004ddbc
cmp r8d, dword [rbp + 0x44]
jne 0x14004ddbc
cmp r15d, dword [rbp + 0x48]
jne 0x14004ddbc
cmp r9b, cl
jne 0x14004ddbc
mov ecx, dword [rbp + 0xf08]
mov eax, ecx
movzx r9d, cl
shr ecx, 0x10
shr eax, 8
movzx edx, cl
lea rcx, [rbp + 0x460]
movzx r8d, al
mov dword [rsp + 0x20], 0xff
call fcn.140052808
mov r8, qword [rsp + 0x60]
mov r15d, r12d
movzx r10d, byte [rbp + 0x464]
movzx edx, byte [rbp + 0x34]
mov ecx, r10d
mov r11d, dword [rbp + 0x478]
or r11d, dword [rbp + 0x474]
or r11d, dword [rbp + 0x470]
mov dword [rsp + 0x44], eax
not r11d
imul ecx, r14d
mov eax, r10d
imul eax, ebx
sub r15d, ecx
movsxd r9, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
cdqe
add r9, rax
mov eax, r13d
imul eax, dword [r8 + 4]
add r9, qword [rbp - 0x70]
movsxd rcx, eax
mov eax, edx
imul eax, dword [r8]
imul edx, r14d
movsxd r8, eax
mov rax, qword [rsp + 0x68]
sub r13d, edx
add rax, rcx
add r8, rax
mov al, byte [rbp + 0x465]
cmp al, 8
je 0x14004dd5a
cmp al, 0x10
je 0x14004dcf2
cmp al, 0x18
je 0x14004dc74
cmp al, 0x20
jne 0x140051403
test esi, esi
jle 0x140051403
mov edx, dword [rsp + 0x44]
mov eax, 1
mov r12d, r15d
test r14d, r14d
jle 0x14004dc64
movsxd r15, r10d
mov ebx, r14d
mov ecx, r11d
or ecx, dword [r8]
cmp edx, ecx
jne 0x14004dc47
mov eax, dword [rbp + 0x47c]
not eax
and ecx, eax
jmp 0x14004dc4d
or ecx, dword [rbp + 0x47c]
mov dword [r9], ecx
add r9, r15
movzx eax, byte [rbp + 0x34]
add r8, rax
mov eax, 1
sub rbx, rax
jne 0x14004dc31
add r9, r12
add r8, r13
sub rsi, rax
jne 0x14004dc26
jmp 0x140051403
test esi, esi
jle 0x140051403
mov edx, dword [rsp + 0x44]
mov eax, 1
mov r12d, r13d
mov r11d, esi
test r14d, r14d
jle 0x14004dce2
mov ebx, r14d
mov r14d, 1
movsxd rsi, r10d
movzx ecx, byte [r8 + 2]
movzx eax, word [r8]
shl ecx, 0x10
add ecx, eax
cmp edx, ecx
jne 0x14004dcba
mov eax, dword [rbp + 0x47c]
not eax
and ecx, eax
jmp 0x14004dcc0
or ecx, dword [rbp + 0x47c]
mov word [r9], cx
shr ecx, 0x10
mov byte [r9 + 2], cl
add r9, rsi
movzx eax, byte [rbp + 0x34]
add r8, rax
sub rbx, r14
jne 0x14004dc9c
mov r14d, dword [rsp + 0x38]
lea eax, [rbx + 1]
add r9, r15
add r8, r12
sub r11, rax
jne 0x14004dc8b
jmp 0x140051403
test esi, esi
jle 0x140051403
mov edx, dword [rsp + 0x44]
mov eax, 1
mov r12d, r13d
mov ebx, esi
test r14d, r14d
jle 0x14004dd4a
movsxd rsi, r10d
mov r11d, r14d
movzx ecx, word [r8]
cmp dx, cx
jne 0x14004dd2b
movzx eax, word [rbp + 0x47c]
not ax
and cx, ax
jmp 0x14004dd32
or cx, word [rbp + 0x47c]
mov word [r9], cx
add r9, rsi
movzx eax, byte [rbp + 0x34]
add r8, rax
mov eax, 1
sub r11, rax
jne 0x14004dd13
add r9, r15
add r8, r12
sub rbx, rax
jne 0x14004dd08
jmp 0x140051403
test esi, esi
jle 0x140051403
mov edx, dword [rsp + 0x44]
mov rbx, r10
mov r15d, r13d
mov eax, 1
mov r11d, esi
test r14d, r14d
jle 0x14004ddac
mov r10d, r14d
mov cl, byte [r8]
cmp dl, cl
jne 0x14004dd8f
mov al, byte [rbp + 0x47c]
not al
and cl, al
jmp 0x14004dd95
or cl, byte [rbp + 0x47c]
mov byte [r9], cl
add r9, rbx
movzx eax, byte [rbp + 0x34]
add r8, rax
mov eax, 1
sub r10, rax
jne 0x14004dd7c
add r9, rbx
add r8, r15
sub r11, rax
jne 0x14004dd74
jmp 0x140051403
cmp dword [rbp + 0xf10], edi
jne 0x14004d154
cmp dword [rbp + 0xf18], edi
jne 0x14004d154
cmp dword [rbp + 0xf20], edi
jne 0x14004d154
cmp qword [rbp + 0xed0], rdi
jne 0x14004d154
cmp dword [rbp + 0xf00], edi
jne 0x140050267
cmp byte [rbp + 0x31], 1
jne 0x14004e1fb
cmp byte [rbp + 0x32], 8
jne 0x14004e4f2
movzx ecx, byte [rbp + 0x464]
mov r8d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
movsxd r9, r10d
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r8d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r8d
movsxd r8, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov rcx, qword [rsp + 0x60]
add r8, rax
imul edx, dword [rcx]
movsxd rax, edx
add rax, qword [rsp + 0x68]
add r9, rax
mov eax, 1
cmp byte [rbp + 0x461], al
jne 0x14004df05
cmp byte [rbp + 0x462], 8
jne 0x14004e01a
movsxd r11, dword [rsp + 0x34]
mov eax, r14d
movsxd rbx, dword [rsp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, eax
lea ecx, [rax*8]
sub r14d, ecx
or ecx, 0xffffffff
test edx, edx
je 0x14004ded1
mov r10d, edx
mov eax, dword [r9]
mov dword [r8], eax
mov eax, dword [r9 + 4]
add r9, 8
mov dword [r8 + 4], eax
add r8, 8
add r10d, ecx
jne 0x14004deb6
test r14d, r14d
je 0x14004def5
mov r10d, r14d
mov r11d, 1
mov al, byte [r9]
add r9, r11
mov byte [r8], al
add r8, r11
add r10d, ecx
jne 0x14004dedf
movsxd r11, dword [rsp + 0x34]
add r8, r11
add r9, rbx
sub esi, 1
jne 0x14004deaf
jmp 0x140051403
cmp byte [rbp + 0x461], 2
jne 0x14004e01a
cmp byte [rbp + 0x462], 8
jne 0x14004e01a
movsxd r11, dword [rsp + 0x34]
mov eax, r14d
movsxd rbx, dword [rsp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, eax
lea ecx, [rax*8]
sub r14d, ecx
or ecx, 0xffffffff
test edx, edx
je 0x14004dfdd
mov r10d, edx
mov al, byte [r9]
mov byte [r8], al
mov al, byte [r9]
mov byte [r8 + 1], al
mov al, byte [r9 + 1]
mov byte [r8 + 2], al
mov al, byte [r9 + 1]
mov byte [r8 + 3], al
mov al, byte [r9 + 2]
mov byte [r8 + 4], al
mov al, byte [r9 + 2]
mov byte [r8 + 5], al
mov al, byte [r9 + 3]
mov byte [r8 + 6], al
mov al, byte [r9 + 3]
mov byte [r8 + 7], al
mov al, byte [r9 + 4]
mov byte [r8 + 8], al
mov al, byte [r9 + 4]
mov byte [r8 + 9], al
mov al, byte [r9 + 5]
mov byte [r8 + 0xa], al
mov al, byte [r9 + 5]
mov byte [r8 + 0xb], al
mov al, byte [r9 + 6]
mov byte [r8 + 0xc], al
mov al, byte [r9 + 6]
mov byte [r8 + 0xd], al
mov al, byte [r9 + 7]
mov byte [r8 + 0xe], al
mov al, byte [r9 + 7]
add r9, 8
mov byte [r8 + 0xf], al
add r8, 0x10
add r10d, ecx
jne 0x14004df4f
test r14d, r14d
je 0x14004e006
mov r10d, r14d
mov r11d, 1
mov al, byte [r9]
add r9, r11
mov byte [r8], al
mov byte [r8 + 1], dil
add r8, 2
add r10d, ecx
jne 0x14004dfeb
movsxd r11, dword [rsp + 0x34]
add r8, r11
add r9, rbx
sub esi, 1
jne 0x14004df44
jmp 0x140051403
mov dl, byte [rbp + 0x465]
cmp dl, 0x20
jne 0x140051419
mov eax, dword [rbp + 0x474]
cmp r11d, 0xff0000
jne 0x14004e04c
cmp eax, 0xff00
jne 0x140051419
cmp r15d, 0xff
je 0x14004e071
cmp r11d, 0xff
jne 0x140051419
cmp eax, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r11, dword [rsp + 0x34]
mov eax, r14d
movsxd rbx, dword [rsp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, eax
lea ecx, [rax*8]
sub r14d, ecx
or ecx, 0xffffffff
test edx, edx
je 0x14004e1ad
mov r10d, edx
mov al, byte [r9]
mov byte [r8], al
mov al, byte [r9]
mov byte [r8 + 1], al
mov al, byte [r9]
mov byte [r8 + 2], al
mov al, byte [r9]
mov byte [r8 + 3], al
mov al, byte [r9 + 1]
mov byte [r8 + 4], al
mov al, byte [r9 + 1]
mov byte [r8 + 5], al
mov al, byte [r9 + 1]
mov byte [r8 + 6], al
mov al, byte [r9 + 1]
mov byte [r8 + 7], al
mov al, byte [r9 + 2]
mov byte [r8 + 8], al
mov al, byte [r9 + 2]
mov byte [r8 + 9], al
mov al, byte [r9 + 2]
mov byte [r8 + 0xa], al
mov al, byte [r9 + 2]
mov byte [r8 + 0xb], al
mov al, byte [r9 + 3]
mov byte [r8 + 0xc], al
mov al, byte [r9 + 3]
mov byte [r8 + 0xd], al
mov al, byte [r9 + 3]
mov byte [r8 + 0xe], al
mov al, byte [r9 + 3]
mov byte [r8 + 0xf], al
mov al, byte [r9 + 4]
mov byte [r8 + 0x10], al
mov al, byte [r9 + 4]
mov byte [r8 + 0x11], al
mov al, byte [r9 + 4]
mov byte [r8 + 0x12], al
mov al, byte [r9 + 4]
mov byte [r8 + 0x13], al
mov al, byte [r9 + 5]
mov byte [r8 + 0x14], al
mov al, byte [r9 + 5]
mov byte [r8 + 0x15], al
mov al, byte [r9 + 5]
mov byte [r8 + 0x16], al
mov al, byte [r9 + 5]
mov byte [r8 + 0x17], al
mov al, byte [r9 + 6]
mov byte [r8 + 0x18], al
mov al, byte [r9 + 6]
mov byte [r8 + 0x19], al
mov al, byte [r9 + 6]
mov byte [r8 + 0x1a], al
mov al, byte [r9 + 6]
mov byte [r8 + 0x1b], al
mov al, byte [r9 + 7]
mov byte [r8 + 0x1c], al
mov al, byte [r9 + 7]
mov byte [r8 + 0x1d], al
mov al, byte [r9 + 7]
mov byte [r8 + 0x1e], al
mov al, byte [r9 + 7]
add r9, 8
mov byte [r8 + 0x1f], al
add r8, 0x20
add r10d, ecx
jne 0x14004e0a1
test r14d, r14d
je 0x14004e1e7
mov r10d, r14d
mov r11d, 1
mov al, byte [r9]
mov byte [r8], al
mov al, byte [r9]
mov byte [r8 + 1], al
mov al, byte [r9]
mov byte [r8 + 2], al
mov al, byte [r9]
add r9, r11
mov byte [r8 + 3], al
add r8, 4
add r10d, ecx
jne 0x14004e1bb
movsxd r11, dword [rsp + 0x34]
add r8, r11
add r9, rbx
sub esi, 1
jne 0x14004e096
jmp 0x140051403
cmp byte [rbp + 0x31], 2
jne 0x14004e4f2
cmp byte [rbp + 0x32], 8
jne 0x14004e4f2
movzx ecx, byte [rbp + 0x464]
mov r8d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
movsxd r9, r10d
sub edx, eax
mov dword [rsp + 0x3c], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r8d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x4c], r8d
movsxd r8, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov rcx, qword [rsp + 0x60]
add r8, rax
imul edx, dword [rcx]
movsxd rax, edx
add rax, qword [rsp + 0x68]
add r9, rax
cmp byte [rbp + 0x461], 2
jne 0x14004e317
cmp byte [rbp + 0x462], 8
jne 0x14004e317
movsxd r12, dword [rsp + 0x3c]
mov eax, r14d
movsxd r13, dword [rsp + 0x4c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov r11d, eax
lea ecx, [rax*8]
sub r14d, ecx
or ecx, 0xffffffff
test r11d, r11d
je 0x14004e2eb
mov ebx, r11d
mov r12d, 1
mov r10, r9
mov rdx, r8
sub r10, r8
mov r15d, 4
mov eax, dword [r10 + rdx]
mov dword [rdx], eax
lea rdx, [rdx + 4]
sub r15, r12
jne 0x14004e2cb
add r8, 0x10
add r9, 0x10
add ebx, ecx
jne 0x14004e2bc
movsxd r12, dword [rsp + 0x3c]
test r14d, r14d
je 0x14004e307
mov edx, r14d
movzx eax, word [r9]
add r9, 2
mov word [r8], ax
add r8, 2
add edx, ecx
jne 0x14004e2f3
add r8, r12
add r9, r13
sub esi, 1
jne 0x14004e2ae
jmp 0x140051403
mov dl, byte [rbp + 0x465]
cmp dl, 0x20
jne 0x140051419
mov eax, dword [rbp + 0x474]
cmp r11d, 0xff0000
jne 0x14004e349
cmp eax, 0xff00
jne 0x140051419
cmp r15d, 0xff
je 0x14004e36e
cmp r11d, 0xff
jne 0x140051419
cmp eax, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r11, dword [rsp + 0x3c]
mov eax, r14d
movsxd rbx, dword [rsp + 0x4c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, eax
lea ecx, [rax*8]
sub r14d, ecx
or ecx, 0xffffffff
test edx, edx
je 0x14004e4ac
mov r10d, edx
mov al, byte [r9]
mov byte [r8], al
mov al, byte [r9 + 1]
mov byte [r8 + 1], al
mov al, byte [r9]
mov byte [r8 + 2], al
mov al, byte [r9 + 1]
mov byte [r8 + 3], al
mov al, byte [r9 + 2]
mov byte [r8 + 4], al
mov al, byte [r9 + 3]
mov byte [r8 + 5], al
mov al, byte [r9 + 2]
mov byte [r8 + 6], al
mov al, byte [r9 + 3]
mov byte [r8 + 7], al
mov al, byte [r9 + 4]
mov byte [r8 + 8], al
mov al, byte [r9 + 5]
mov byte [r8 + 9], al
mov al, byte [r9 + 4]
mov byte [r8 + 0xa], al
mov al, byte [r9 + 5]
mov byte [r8 + 0xb], al
mov al, byte [r9 + 6]
mov byte [r8 + 0xc], al
mov al, byte [r9 + 7]
mov byte [r8 + 0xd], al
mov al, byte [r9 + 6]
mov byte [r8 + 0xe], al
mov al, byte [r9 + 7]
mov byte [r8 + 0xf], al
mov al, byte [r9 + 8]
mov byte [r8 + 0x10], al
mov al, byte [r9 + 9]
mov byte [r8 + 0x11], al
mov al, byte [r9 + 8]
mov byte [r8 + 0x12], al
mov al, byte [r9 + 9]
mov byte [r8 + 0x13], al
mov al, byte [r9 + 0xa]
mov byte [r8 + 0x14], al
mov al, byte [r9 + 0xb]
mov byte [r8 + 0x15], al
mov al, byte [r9 + 0xa]
mov byte [r8 + 0x16], al
mov al, byte [r9 + 0xb]
mov byte [r8 + 0x17], al
mov al, byte [r9 + 0xc]
mov byte [r8 + 0x18], al
mov al, byte [r9 + 0xd]
mov byte [r8 + 0x19], al
mov al, byte [r9 + 0xc]
mov byte [r8 + 0x1a], al
mov al, byte [r9 + 0xd]
mov byte [r8 + 0x1b], al
mov al, byte [r9 + 0xe]
mov byte [r8 + 0x1c], al
mov al, byte [r9 + 0xf]
mov byte [r8 + 0x1d], al
mov al, byte [r9 + 0xe]
mov byte [r8 + 0x1e], al
mov al, byte [r9 + 0xf]
add r9, 0x10
mov byte [r8 + 0x1f], al
add r8, 0x20
add r10d, ecx
jne 0x14004e39e
test r14d, r14d
je 0x14004e4de
mov r10d, r14d
mov al, byte [r9]
mov byte [r8], al
mov al, byte [r9 + 1]
mov byte [r8 + 1], al
mov al, byte [r9]
mov byte [r8 + 2], al
mov al, byte [r9 + 1]
add r9, 2
mov byte [r8 + 3], al
add r8, 4
add r10d, ecx
jne 0x14004e4b4
add r8, r11
add r9, rbx
sub esi, 1
jne 0x14004e393
jmp 0x140051403
cmp cl, 8
jne 0x14004e8dc
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
movsxd r11, r10d
sub edx, eax
mov dword [rsp + 0x40], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x34], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov rcx, qword [rsp + 0x60]
add r9, rax
imul edx, dword [rcx]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r11, rax
cmp dl, 0x10
jne 0x14004e6be
cmp dword [rbp + 0x47c], edi
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xf800
jne 0x14004e61a
mov r10d, 0x7e0
cmp r8d, r10d
jne 0x140051419
mov r8d, 0x1f
cmp r15d, r8d
jne 0x140051419
movsxd r12, dword [rsp + 0x34]
mov ebx, 0xfffc
lea r10d, [rbx - 4]
mov edi, r14d
mov r15d, 1
movzx eax, byte [r11]
add r11, r15
mov eax, dword [rbp + rax*4 + 0x58]
mov ecx, eax
shr ecx, 0x10
movzx r8d, cl
mov ecx, eax
and r8w, r10w
shr ecx, 8
shl r8w, 5
movzx edx, cl
or r8w, dx
shr al, 3
and r8w, bx
movzx ecx, al
shl r8w, 3
or r8w, cx
mov word [r9], r8w
add r9, 2
sub edi, r15d
jne 0x14004e5bc
movsxd r15, dword [rsp + 0x40]
add r11, r12
add r9, r15
sub esi, 1
jne 0x14004e5b3
jmp 0x140051403
mov r12d, 0x7c00
cmp ecx, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd r15, dword [rsp + 0x34]
mov r10d, 0xfff8
mov ebx, r14d
mov edi, 1
movzx eax, byte [r11]
add r11, rdi
mov eax, dword [rbp + rax*4 + 0x58]
mov ecx, eax
shr ecx, 0x10
movzx r8d, cl
mov ecx, eax
and r8w, r10w
shr ecx, 8
shl r8w, 5
movzx edx, cl
or r8w, dx
shr al, 3
and r8w, r10w
movzx ecx, al
shl r8w, 2
or r8w, cx
mov word [r9], r8w
add r9, 2
sub ebx, edi
jne 0x14004e661
movsxd rdi, dword [rsp + 0x40]
add r11, r15
add r9, rdi
sub esi, 1
jne 0x14004e659
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
mov eax, dword [rbp + 0x47c]
test eax, eax
jne 0x14004e73b
cmp dword [rbp + 0x470], 0xff0000
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd r10, dword [rsp + 0x34]
mov edx, r14d
mov r8d, 1
movzx eax, byte [r11]
add r11, r8
mov ecx, dword [rbp + rax*4 + 0x58]
or ecx, 0xff000000
mov dword [r9], ecx
add r9, 4
sub edx, r8d
jne 0x14004e709
movsxd r8, dword [rsp + 0x40]
add r11, r10
add r9, r8
sub esi, 1
jne 0x14004e700
jmp 0x140051403
cmp eax, 0xff000000
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xff
jne 0x14004e814
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r10, dword [rsp + 0x34]
cmp byte [rbp + 0x3b], dil
jne 0x14004e7c7
mov edx, r14d
mov r8d, 1
movzx ecx, byte [r11]
add r11, r8
mov al, byte [rbp + rcx*4 + 0x5a]
mov byte [r9], al
mov al, byte [rbp + rcx*4 + 0x59]
mov byte [r9 + 1], al
mov al, byte [rbp + rcx*4 + 0x58]
mov byte [r9 + 2], al
mov byte [r9 + 3], 0xff
add r9, 4
sub edx, r8d
jne 0x14004e786
movsxd r8, dword [rsp + 0x40]
add r11, r10
add r9, r8
sub esi, 1
jne 0x14004e77d
jmp 0x140051403
mov edx, r14d
mov r8d, 1
movzx ecx, byte [r11]
add r11, r8
mov al, byte [rbp + rcx*4 + 0x5a]
mov byte [r9], al
mov al, byte [rbp + rcx*4 + 0x59]
mov byte [r9 + 1], al
mov al, byte [rbp + rcx*4 + 0x58]
mov byte [r9 + 2], al
mov al, byte [rbp + rcx*4 + 0x5b]
mov byte [r9 + 3], al
add r9, 4
sub edx, r8d
jne 0x14004e7d0
movsxd r8, dword [rsp + 0x40]
add r11, r10
add r9, r8
sub esi, 1
jne 0x14004e7c7
jmp 0x140051403
cmp ecx, 0xff0000
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd r10, dword [rsp + 0x34]
cmp byte [rbp + 0x3b], dil
jne 0x14004e88f
mov edx, r14d
mov r8d, 1
movzx ecx, byte [r11]
add r11, r8
mov al, byte [rbp + rcx*4 + 0x58]
mov byte [r9], al
mov al, byte [rbp + rcx*4 + 0x59]
mov byte [r9 + 1], al
mov al, byte [rbp + rcx*4 + 0x5a]
mov byte [r9 + 2], al
mov byte [r9 + 3], 0xff
add r9, 4
sub edx, r8d
jne 0x14004e84e
movsxd r8, dword [rsp + 0x40]
add r11, r10
add r9, r8
sub esi, 1
jne 0x14004e845
jmp 0x140051403
mov edx, r14d
mov r8d, 1
movzx ecx, byte [r11]
add r11, r8
mov al, byte [rbp + rcx*4 + 0x58]
mov byte [r9], al
mov al, byte [rbp + rcx*4 + 0x59]
mov byte [r9 + 1], al
mov al, byte [rbp + rcx*4 + 0x5a]
mov byte [r9 + 2], al
mov al, byte [rbp + rcx*4 + 0x5b]
mov byte [r9 + 3], al
add r9, 4
sub edx, r8d
jne 0x14004e898
movsxd r8, dword [rsp + 0x40]
add r11, r10
add r9, r8
sub esi, 1
jne 0x14004e88f
jmp 0x140051403
cmp cl, 0x20
mov ecx, dword [rbp + 0x44]
jne 0x14004ea84
cmp dword [rbp + 0x4c], 0xff000000
jne 0x14004f002
cmp eax, 0xff0000
jne 0x14004f002
cmp ecx, 0xff00
jne 0x14004f002
cmp dword [rbp + 0x48], 0xff
jne 0x14004f002
movzx ecx, byte [rbp + 0x464]
mov edx, r12d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
imul ecx, ebx
mov dword [rsp + 0x44], r13d
sub edx, eax
mov dword [rsp + 0x78], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
cdqe
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov rcx, qword [rbp - 0x58]
add rcx, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x58], rcx
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
movsxd rdx, r10d
add rdx, rax
cmp r9b, 0x20
jne 0x14004d154
mov eax, dword [rbp + 0x47c]
cmp eax, 0xff000000
jne 0x14004ea21
cmp r11d, 0xff
jne 0x14004d154
cmp r8d, 0xff00
jne 0x14004d154
cmp r15d, 0xff0000
jne 0x14004d154
movsxd r10, dword [rsp + 0x44]
mov r8d, r14d
mov r9d, 1
mov r14, qword [rbp - 0x58]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 2]
shl ecx, 8
add rdx, 4
or ecx, eax
mov dword [r14], ecx
add r14, 4
sub r8d, r9d
jne 0x14004e9d5
movsxd r9, dword [rsp + 0x78]
add rdx, r10
add r14, r9
mov qword [rbp - 0x58], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004e9c8
jmp 0x140051403
test eax, eax
jne 0x14004d154
cmp r11d, 0xff0000
jne 0x14004d154
cmp r8d, 0xff00
jne 0x14004d154
cmp r15d, 0xff
jne 0x14004d154
movsxd r10, dword [rsp + 0x44]
mov r8d, r14d
mov r9d, 1
mov eax, dword [rdx]
add rdx, 4
mov dword [rcx], eax
add rcx, 4
sub r8d, r9d
jne 0x14004ea5e
movsxd r9, dword [rsp + 0x78]
add rdx, r10
add rcx, r9
sub esi, 1
jne 0x14004ea55
jmp 0x140051403
mov r9b, byte [rbp + 0x35]
cmp r9b, 0x18
jne 0x14004f006
cmp eax, 0xff0000
jne 0x14004ed49
cmp ecx, 0xff00
jne 0x14004f006
cmp dword [rbp + 0x48], 0xff
jne 0x14004f006
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x44], r9d
movsxd r9, r10d
movsxd r11, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r11, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x10
jne 0x14004ec5a
cmp dword [rbp + 0x47c], edi
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xf800
jne 0x14004ebc4
mov r10d, 0x7e0
cmp r8d, r10d
jne 0x140051419
mov r8d, 0x1f
cmp r15d, r8d
jne 0x140051419
movsxd r15, dword [rsp + 0x44]
mov ebx, 0xfffc
lea r10d, [rbx - 4]
mov r8d, r14d
mov edi, 1
movzx eax, byte [r9 + 1]
movzx edx, byte [r9 + 2]
and dx, r10w
shl dx, 5
or dx, ax
mov al, byte [r9]
and dx, bx
shr al, 3
shl dx, 3
add r9, 3
movzx ecx, al
or dx, cx
mov word [r11], dx
add r11, 2
sub r8d, edi
jne 0x14004eb76
movsxd rdi, dword [rsp + 0x34]
add r9, r15
add r11, rdi
sub esi, 1
jne 0x14004eb6e
jmp 0x140051403
mov r12d, 0x7c00
cmp ecx, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd rdi, dword [rsp + 0x44]
mov r10d, 0xfff8
mov r8d, r14d
mov ebx, 1
movzx eax, byte [r9 + 1]
movzx edx, byte [r9 + 2]
and dx, r10w
shl dx, 5
or dx, ax
mov al, byte [r9]
and dx, r10w
shr al, 3
shl dx, 2
add r9, 3
movzx ecx, al
or dx, cx
mov word [r11], dx
add r11, 2
sub r8d, ebx
jne 0x14004ec0b
movsxd rbx, dword [rsp + 0x34]
add r9, rdi
add r11, rbx
sub esi, 1
jne 0x14004ec03
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xff0000
jne 0x14004ecd2
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd r10, dword [rsp + 0x44]
mov edx, r14d
mov r8d, 1
movzx ecx, byte [r9 + 2]
movzx eax, word [r9]
add r9, 3
shl ecx, 0x10
or ecx, eax
or ecx, 0xff000000
mov dword [r11], ecx
add r11, 4
sub edx, r8d
jne 0x14004ec99
movsxd r8, dword [rsp + 0x34]
add r9, r10
add r11, r8
sub esi, 1
jne 0x14004ec90
jmp 0x140051403
cmp ecx, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r10, dword [rsp + 0x44]
mov edx, r14d
mov r8d, 1
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
shl ecx, 8
or ecx, eax
movzx eax, byte [r9 + 2]
shl ecx, 8
add r9, 3
or ecx, eax
or ecx, 0xff000000
mov dword [r11], ecx
add r11, 4
sub edx, r8d
jne 0x14004ed06
movsxd r8, dword [rsp + 0x34]
add r9, r10
add r11, r8
sub esi, 1
jne 0x14004ecfd
jmp 0x140051403
cmp eax, 0xff
jne 0x14004f006
cmp ecx, 0xff00
jne 0x14004f006
cmp dword [rbp + 0x48], 0xff0000
jne 0x14004f006
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x44], r9d
movsxd r9, r10d
movsxd r11, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r11, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x10
jne 0x14004ef19
mov ecx, dword [rbp + 0x470]
cmp dword [rbp + 0x47c], edi
jne 0x14004ee7b
cmp ecx, 0xf800
jne 0x14004ee7b
mov r10d, 0x7e0
cmp r8d, r10d
jne 0x140051419
mov r8d, 0x1f
cmp r15d, r8d
jne 0x140051419
movsxd r15, dword [rsp + 0x44]
mov ebx, 0xfffc
lea r10d, [rbx - 4]
mov r8d, r14d
mov edi, 1
movzx eax, byte [r9 + 1]
movzx edx, byte [r9]
and dx, r10w
shl dx, 5
or dx, ax
mov al, byte [r9 + 2]
and dx, bx
shr al, 3
shl dx, 3
add r9, 3
movzx ecx, al
or dx, cx
mov word [r11], dx
add r11, 2
sub r8d, edi
jne 0x14004ee2d
movsxd rdi, dword [rsp + 0x34]
add r9, r15
add r11, rdi
sub esi, 1
jne 0x14004ee25
jmp 0x140051403
mov r12d, 0x7c00
cmp ecx, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd rdi, dword [rsp + 0x44]
mov r10d, 0xfff8
mov r8d, r14d
mov ebx, 1
movzx eax, byte [r9 + 1]
movzx edx, byte [r9]
and dx, r10w
shl dx, 5
or dx, ax
mov eax, 0xe000
and dx, r10w
or dx, ax
mov al, byte [r9 + 2]
shr al, 3
add r9, 3
shl dx, 2
movzx ecx, al
or dx, cx
mov word [r11], dx
add r11, 2
sub r8d, ebx
jne 0x14004eec2
movsxd rbx, dword [rsp + 0x34]
add r9, rdi
add r11, rbx
sub esi, 1
jne 0x14004eeba
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xff0000
jne 0x14004ef93
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd r8, dword [rsp + 0x44]
mov ecx, r14d
mov edx, 1
mov al, byte [r9 + 2]
mov byte [r11], al
mov al, byte [r9 + 1]
mov byte [r11 + 1], al
mov al, byte [r9]
add r9, 3
mov byte [r11 + 2], al
mov byte [r11 + 3], 0xff
add r11, 4
sub ecx, edx
jne 0x14004ef57
movsxd rdx, dword [rsp + 0x34]
add r9, r8
add r11, rdx
sub esi, 1
jne 0x14004ef4f
jmp 0x140051403
cmp ecx, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r8, dword [rsp + 0x44]
mov ecx, r14d
mov edx, 1
mov al, byte [r9]
mov byte [r11], al
mov al, byte [r9 + 1]
mov byte [r11 + 1], al
mov al, byte [r9 + 2]
add r9, 3
mov byte [r11 + 2], al
mov byte [r11 + 3], 0xff
add r11, 4
sub ecx, edx
jne 0x14004efc6
movsxd rdx, dword [rsp + 0x34]
add r9, r8
add r11, rdx
sub esi, 1
jne 0x14004efbe
jmp 0x140051403
mov r9b, byte [rbp + 0x35]
test edx, edx
jne 0x14004f504
cmp r9b, 0x20
jne 0x14004f504
cmp dword [rbp + 0x4c], edi
jne 0x140051455
cmp eax, 0xff0000
jne 0x14004f28e
cmp ecx, 0xff00
jne 0x140051455
cmp dword [rbp + 0x48], 0xff
jne 0x140051455
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x78], r9
movsxd r9, r10d
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x10
jne 0x14004f1f2
cmp dword [rbp + 0x47c], edi
jne 0x140051419
cmp r11d, 0xf800
jne 0x14004f15b
mov r10d, 0x7e0
cmp r8d, r10d
jne 0x140051419
mov r8d, 0x1f
cmp r15d, r8d
jne 0x140051419
movsxd rbx, dword [rsp + 0x3c]
mov r15d, r11d
mov rsi, qword [rbp - 0x78]
mov r10d, r14d
mov r14d, 0x7e0
mov r11d, 1
mov ecx, dword [r9]
mov edx, ecx
shr edx, 5
mov eax, ecx
and dx, r14w
shr eax, 3
and ax, r8w
shr ecx, 8
or dx, ax
and cx, r15w
or dx, cx
add r9, 4
mov word [rsi], dx
add rsi, 2
sub r10d, r11d
jne 0x14004f109
movsxd r11, dword [rsp + 0x34]
add r9, rbx
mov r14d, dword [rsp + 0x38]
add rsi, r11
sub dword [rsp + 0x50], 1
mov qword [rbp - 0x78], rsi
jne 0x14004f0f6
jmp 0x140051403
mov r12d, 0x7c00
cmp r11d, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd rbx, dword [rsp + 0x3c]
mov r10d, r14d
mov r11d, 1
mov r14, qword [rbp - 0x78]
mov ecx, dword [r9]
mov edx, ecx
shr edx, 6
mov eax, ecx
and dx, r15w
shr eax, 3
and ax, r8w
shr ecx, 9
or dx, ax
and cx, r12w
or dx, cx
add r9, 4
mov word [r14], dx
add r14, 2
sub r10d, r11d
jne 0x14004f1a1
movsxd r11, dword [rsp + 0x34]
add r9, rbx
add r14, r11
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004f194
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
cmp dword [rbp + 0x47c], 0xff000000
jne 0x140051419
cmp r11d, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd r11, dword [rsp + 0x3c]
mov r8d, r14d
mov r10d, 1
mov r14, qword [rbp - 0x78]
mov ecx, dword [r9]
mov eax, ecx
movzx edx, byte [r9 + 2]
or eax, 0xffffff00
shl eax, 0x10
and ecx, 0xff00
or edx, eax
add r9, 4
or edx, ecx
mov dword [r14], edx
add r14, 4
sub r8d, r10d
jne 0x14004f244
movsxd r10, dword [rsp + 0x34]
add r9, r11
add r14, r10
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004f237
jmp 0x140051403
cmp eax, 0xff
jne 0x140051455
cmp ecx, 0xff00
jne 0x140051455
cmp dword [rbp + 0x48], 0xff0000
jne 0x140051455
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x78], r9
movsxd r9, r10d
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x20
jne 0x14004f3bd
mov eax, dword [rbp + 0x47c]
add eax, 0x1000000
test eax, 0xfeffffff
jne 0x140051419
cmp r11d, 0xff0000
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd r11, dword [rsp + 0x3c]
mov r8d, r14d
mov r10d, 1
mov r14, qword [rbp - 0x78]
mov ecx, dword [r9]
mov eax, ecx
movzx edx, byte [r9 + 2]
or eax, 0xffffff00
shl eax, 0x10
and ecx, 0xff00
or edx, eax
add r9, 4
or edx, ecx
mov dword [r14], edx
add r14, 4
sub r8d, r10d
jne 0x14004f373
movsxd r10, dword [rsp + 0x34]
add r9, r11
add r14, r10
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004f366
jmp 0x140051403
cmp dl, 0x10
jne 0x140051419
cmp dword [rbp + 0x47c], edi
jne 0x140051419
cmp r11d, 0xf800
jne 0x14004f466
mov edx, 0x7e0
cmp r8d, edx
jne 0x14004d154
mov r8d, 0x1f
cmp r15d, r8d
jne 0x14004d154
movsxd rdi, dword [rsp + 0x3c]
mov r10d, 0xfff8
mov r11d, r14d
mov ebx, 1
mov r14, qword [rbp - 0x78]
mov eax, dword [r9]
mov ecx, eax
shr eax, 0x13
and ax, r8w
shr ecx, 5
and cx, dx
or cx, ax
movzx eax, word [r9]
and ax, r10w
add r9, 4
shl ax, 8
or cx, ax
mov word [r14], cx
add r14, 2
sub r11d, ebx
jne 0x14004f413
movsxd rbx, dword [rsp + 0x34]
add r9, rdi
add r14, rbx
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004f407
jmp 0x140051403
mov r12d, 0x7c00
cmp r11d, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd r11, dword [rsp + 0x3c]
mov ebx, 0xf8
mov edx, r14d
mov r10d, 1
mov r14, qword [rbp - 0x78]
mov eax, dword [r9]
mov ecx, eax
shr eax, 0x13
and ax, r8w
shr ecx, 6
and cx, r15w
or cx, ax
movzx eax, word [r9]
and ax, bx
add r9, 4
shl ax, 7
or cx, ax
mov word [r14], cx
add r14, 2
sub edx, r10d
jne 0x14004f4b1
movsxd r10, dword [rsp + 0x34]
add r9, r11
add r14, r10
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x14004f4a4
jmp 0x140051403
cmp byte [rbp + 0x35], 0x10
mov r8d, 0x1f
mov ecx, dword [rbp + 0x44]
mov r12d, 0x7c00
mov r15d, 0x3e0
mov r9d, 0x8000
jne 0x14004f681
cmp dword [rbp + 0x4c], r9d
jne 0x14004f681
cmp eax, r12d
jne 0x14004f681
cmp ecx, r15d
jne 0x14004f681
cmp dword [rbp + 0x48], r8d
jne 0x14004f681
movzx ecx, byte [rbp + 0x464]
mov r12d, dword [rsp + 0x30]
mov eax, ecx
imul eax, r14d
mov edx, r12d
imul ecx, ebx
imul r10d, r13d
mov dword [rsp + 0x3c], r13d
sub edx, eax
mov dword [rbp - 0x48], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub dword [rsp + 0x3c], eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
cdqe
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x70]
add rax, rcx
movsxd rcx, r10d
add qword [rbp - 0x58], rax
mov rax, qword [rsp + 0x60]
mov r10d, dword [rbp + 0x478]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add rcx, rax
mov qword [rbp - 0x68], rcx
cmp dl, 0x20
jne 0x14004d161
cmp dword [rbp + 0x47c], 0xff000000
jne 0x14004d161
cmp r11d, 0xff
jne 0x14004d161
cmp dword [rbp + 0x474], 0xff00
jne 0x14004d161
cmp r10d, 0xff0000
jne 0x14004d161
movsxd r12, dword [rbp - 0x48]
lea ebx, [r11 - 7]
movsxd r13, dword [rsp + 0x3c]
mov ecx, 0xffffffe0
mov r10, qword [rbp - 0x68]
mov qword [rbp - 0x50], r12
mov edi, r14d
mov r12d, 1
mov r14, qword [rbp - 0x58]
movzx eax, word [r10]
mov edx, eax
mov r11d, eax
shr edx, 7
and r11d, r15d
and edx, ebx
test r9d, eax
je 0x14004f649
or eax, ecx
jmp 0x14004f64c
and eax, r8d
shl eax, 0xd
add r10, 2
or eax, r11d
shl eax, 6
or eax, edx
mov dword [r14], eax
add r14, 4
sub edi, r12d
jne 0x14004f62f
add r14, qword [rbp - 0x50]
add r10, r13
mov qword [rbp - 0x58], r14
mov r14d, dword [rsp + 0x38]
sub esi, r12d
jne 0x14004f622
jmp 0x140051403
mov r9b, byte [rbp + 0x35]
test edx, edx
jne 0x140051450
cmp r9b, 0x10
jne 0x140051450
mov r11d, dword [rbp + 0x40]
cmp dword [rbp + 0x4c], edi
jne 0x140051439
mov eax, 0xf800
cmp r11d, eax
jne 0x14004fa6d
cmp ecx, 0x7e0
jne 0x14004fe6a
cmp dword [rbp + 0x48], r8d
jne 0x140051439
movzx ecx, byte [rbp + 0x464]
mov r11d, r13d
mov edx, dword [rsp + 0x30]
mov eax, ecx
imul eax, r14d
imul ecx, ebx
imul r10d, r13d
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r11d, eax
mov eax, dword [rbp - 0x7c]
imul eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], r11d
movsxd r11, r10d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r11, rax
cmp dl, 0x18
jne 0x14004f7ce
mov r10d, dword [rbp + 0x478]
cmp dword [rbp + 0x47c], edi
jne 0x14005140a
cmp dword [rbp + 0x470], 0xff0000
jne 0x14005140a
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff
jne 0x14005140a
movsxd r15, dword [rsp + 0x48]
mov r10d, 0xffe0
mov edx, r14d
mov ebx, 1
movzx eax, word [r11]
add r11, 2
movzx ecx, ax
and ax, r8w
and cx, r10w
shl cx, 2
or cx, ax
shl cx, 3
mov word [r9], cx
mov byte [r9 + 2], dil
add r9, 3
sub edx, ebx
jne 0x14004f78b
movsxd rbx, dword [rsp + 0x34]
add r11, r15
add r9, rbx
sub esi, 1
jne 0x14004f783
jmp 0x140051403
cmp dl, 0x20
jne 0x14004f909
mov eax, dword [rbp + 0x47c]
mov r10d, dword [rbp + 0x478]
test eax, eax
jne 0x14004f874
cmp dword [rbp + 0x470], 0xff0000
jne 0x14005140a
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff
jne 0x14005140a
movsxd r12, dword [rsp + 0x48]
mov r10d, 0x7e0
mov r15d, 0xf800
mov ebx, r14d
mov edi, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, r15d
and eax, r10d
shl edx, 3
and ecx, r8d
or edx, eax
shl edx, 2
or edx, ecx
shl edx, 3
mov dword [r9], edx
add r9, 4
sub ebx, edi
jne 0x14004f832
movsxd rdi, dword [rsp + 0x34]
add r11, r12
add r9, rdi
sub esi, 1
jne 0x14004f82a
jmp 0x140051403
cmp eax, 0xff000000
jne 0x14005140a
cmp dword [rbp + 0x470], 0xff
jne 0x14005140a
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff0000
jne 0x14005140a
movsxd r15, dword [rsp + 0x48]
mov ebx, 0xf8
mov r10d, 0x7e0
mov r8d, r14d
mov edi, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, r10d
shl eax, 0xe
or edx, eax
shr ecx, 8
shl edx, 5
and ecx, ebx
or edx, ecx
or edx, 0xff000000
mov dword [r9], edx
add r9, 4
sub r8d, edi
jne 0x14004f8c4
movsxd rdi, dword [rsp + 0x34]
add r11, r15
add r9, rdi
sub esi, 1
jne 0x14004f8bc
jmp 0x140051403
cmp dl, 0x10
jne 0x140051414
mov eax, dword [rbp + 0x47c]
mov r10d, dword [rbp + 0x478]
test eax, eax
jne 0x14004f9bf
cmp dword [rbp + 0x470], r12d
jne 0x14005140a
cmp dword [rbp + 0x474], r15d
jne 0x14005140a
cmp r10d, r8d
jne 0x14005140a
movsxd rbx, dword [rsp + 0x34]
lea r12d, [rax + 1]
movsxd r15, dword [rsp + 0x48]
mov r10d, r14d
sar r10d, 1
and r14d, r12d
mov edx, r10d
test r10d, r10d
je 0x14004f98d
mov eax, dword [r11]
mov ecx, eax
shr ecx, 1
and eax, 0x1f001f
and ecx, 0x7fe07fe0
add r11, 4
or ecx, eax
mov dword [r9], ecx
add r9, 4
sub edx, r12d
jne 0x14004f969
test r14d, r14d
je 0x14004f9af
mov eax, dword [r11]
mov ecx, eax
shr ecx, 1
and eax, r8d
and ecx, 0x7fe0
add r11, 2
or ecx, eax
mov dword [r9], ecx
add r9, 2
add r9, rbx
add r11, r15
sub esi, r12d
jne 0x14004f961
jmp 0x140051403
cmp eax, 0x8000
jne 0x14005140a
cmp dword [rbp + 0x470], r12d
jne 0x14005140a
cmp dword [rbp + 0x474], r15d
jne 0x14005140a
cmp r10d, r8d
jne 0x14005140a
movsxd r15, dword [rsp + 0x34]
mov r10d, r14d
movsxd r12, dword [rsp + 0x48]
mov r13d, 1
sar r10d, 1
mov ebx, 0xffc0
and r14d, r13d
mov edx, r10d
test r10d, r10d
je 0x14004fa3b
mov eax, dword [r11]
mov ecx, eax
and ecx, 0xffc1ffc1
and eax, 0x1f001f
bts ecx, 0x10
add r11, 4
shr ecx, 1
or ecx, eax
mov dword [r9], ecx
add r9, 4
sub edx, r13d
jne 0x14004fa13
test r14d, r14d
je 0x14004fa5d
mov eax, dword [r11]
mov ecx, eax
and ecx, ebx
and eax, r8d
bts ecx, 0x10
add r11, 2
shr ecx, 1
or ecx, eax
mov dword [r9], ecx
add r9, 2
add r9, r15
add r11, r12
sub esi, r13d
jne 0x14004fa0b
jmp 0x140051403
cmp r11d, r12d
jne 0x14004fe61
cmp ecx, r15d
jne 0x140051439
cmp dword [rbp + 0x48], r8d
jne 0x140051439
movzx ecx, byte [rbp + 0x464]
mov r11d, r13d
mov edx, dword [rsp + 0x30]
mov eax, ecx
imul eax, r14d
imul ecx, ebx
imul r10d, r13d
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r11d, eax
mov eax, dword [rbp - 0x7c]
imul eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], r11d
movsxd r11, r10d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r11, rax
cmp dl, 0x10
jne 0x14004fd41
mov eax, dword [rbp + 0x47c]
mov r10d, dword [rbp + 0x478]
test eax, eax
jne 0x14004fbb9
mov r15d, 0xf800
cmp dword [rbp + 0x470], r15d
jne 0x14005140a
cmp dword [rbp + 0x474], 0x7e0
jne 0x14005140a
cmp r10d, r8d
jne 0x14005140a
movsxd rbx, dword [rsp + 0x34]
lea r12d, [rax + 1]
movsxd r15, dword [rsp + 0x48]
mov r8d, r14d
sar r8d, 1
mov r10d, 0xffe0
and r14d, r12d
mov edx, r8d
test r8d, r8d
je 0x14004fb83
mov eax, dword [r11]
mov ecx, eax
and ecx, 0xffe07fe0
and eax, 0x3f003f
add ecx, ecx
add r11, 4
or ecx, eax
mov dword [r9], ecx
add r9, 4
sub edx, r12d
jne 0x14004fb5f
test r14d, r14d
je 0x14004fba9
movzx eax, word [r11]
add r11, 2
movzx ecx, ax
and ax, 0x3f
and cx, r10w
add cx, cx
or cx, ax
mov word [r9], cx
add r9, 2
add r9, rbx
add r11, r15
sub esi, r12d
jne 0x14004fb57
jmp 0x140051403
cmp eax, 0x8000
jne 0x14004fc44
cmp dword [rbp + 0x470], r12d
jne 0x14005140a
cmp dword [rbp + 0x474], r15d
jne 0x14005140a
cmp r10d, r8d
jne 0x14005140a
movsxd r8, dword [rsp + 0x34]
mov edx, r14d
movsxd r10, dword [rsp + 0x48]
mov ebx, 1
sar edx, 1
and r14d, ebx
mov ecx, edx
test edx, edx
je 0x14004fc1b
mov eax, dword [r11]
add r11, 4
or eax, 0x80008000
mov dword [r9], eax
add r9, 4
sub ecx, ebx
jne 0x14004fc04
test r14d, r14d
je 0x14004fc35
mov eax, 0x8000
or ax, word [r11]
add r11, 2
mov word [r9], ax
add r9, 2
add r9, r8
add r11, r10
sub esi, ebx
jne 0x14004fbfe
jmp 0x140051403
mov r15d, 0xf000
cmp eax, r15d
jne 0x14005140a
cmp dword [rbp + 0x470], 0xf00
jne 0x14005140a
cmp dword [rbp + 0x474], 0xf0
jne 0x14005140a
cmp r10d, 0xf
jne 0x14005140a
movsxd r12, dword [rsp + 0x34]
lea eax, [r10 - 0xe]
movsxd r13, dword [rsp + 0x48]
lea r8d, [r10 + 0x2f]
mov ebx, r14d
sar ebx, 1
and r14d, eax
mov r10d, ebx
test ebx, ebx
je 0x14004fce5
mov r12d, 1
mov ecx, dword [r11]
mov edx, ecx
shr edx, 1
mov eax, ecx
and edx, 0xfc03fc03
and eax, 0x3c003c0
or edx, eax
and ecx, 0x3e003e
shr edx, 1
add r11, 4
or edx, ecx
shr edx, 1
or edx, 0xf000f000
mov dword [r9], edx
add r9, 4
sub r10d, r12d
jne 0x14004fca4
movsxd r12, dword [rsp + 0x34]
lea eax, [r10 + 1]
test r14d, r14d
je 0x14004fd2e
movzx ecx, word [r11]
mov eax, 0xfc03
movzx edx, cx
mov r10d, 0x3c0
shr dx, 1
add r11, 2
and dx, ax
movzx eax, cx
and ax, r10w
and cx, r8w
or dx, ax
mov eax, 1
shr dx, 1
or dx, cx
shr dx, 1
or dx, r15w
mov word [r9], dx
add r9, 2
add r9, r12
add r11, r13
sub esi, eax
jne 0x14004fc97
jmp 0x140051403
cmp dl, 0x20
jne 0x140051414
mov r12d, 0xff000000
cmp dword [rbp + 0x47c], r12d
jne 0x140051414
mov ecx, dword [rbp + 0x470]
mov r10d, dword [rbp + 0x478]
cmp ecx, 0xff0000
jne 0x14004fde5
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff
jne 0x14005140a
movsxd rdi, dword [rsp + 0x48]
mov r10d, r14d
mov ebx, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, r15d
shl ecx, 9
shl edx, 3
and eax, r8d
or edx, eax
and ecx, 0xfff80000
shl edx, 3
or edx, ecx
or edx, r12d
mov dword [r9], edx
add r9, 4
sub r10d, ebx
jne 0x14004fd9c
movsxd rbx, dword [rsp + 0x34]
add r11, rdi
add r9, rbx
sub esi, 1
jne 0x14004fd94
jmp 0x140051403
cmp ecx, 0xff
jne 0x14005140a
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff0000
jne 0x14005140a
movsxd rdi, dword [rsp + 0x48]
lea ebx, [rcx - 7]
mov r8d, r14d
mov r10d, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, r15d
shl eax, 0xd
or edx, eax
shr ecx, 7
shl edx, 6
and ecx, ebx
or edx, ecx
or edx, r12d
mov dword [r9], edx
add r9, 4
sub r8d, r10d
jne 0x14004fe1f
movsxd r10, dword [rsp + 0x34]
add r11, rdi
add r9, r10
sub esi, 1
jne 0x14004fe16
jmp 0x140051403
cmp r11d, eax
jne 0x140051439
cmp ecx, 0x7c0
jne 0x140051439
cmp dword [rbp + 0x48], 0x3e
jne 0x140051439
movzx ecx, byte [rbp + 0x464]
mov r11d, r13d
mov edx, dword [rsp + 0x30]
mov eax, ecx
imul eax, r14d
imul ecx, ebx
imul r10d, r13d
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r11d, eax
mov eax, dword [rbp - 0x7c]
imul eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], r11d
movsxd r11, r10d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r11, rax
cmp dl, 0x10
jne 0x140050133
mov eax, dword [rbp + 0x47c]
mov ecx, dword [rbp + 0x470]
test eax, eax
jne 0x14004ffb0
cmp ecx, 0xf800
jne 0x14004ffbb
mov r10d, 0x7e0
cmp dword [rbp + 0x474], r10d
mov r10d, dword [rbp + 0x478]
jne 0x14005140a
cmp r10d, r8d
jne 0x14005140a
movsxd r15, dword [rsp + 0x34]
lea r13d, [rax + 1]
movsxd r12, dword [rsp + 0x48]
mov r10d, r14d
sar r10d, 1
mov ebx, 0xffc0
and r14d, r13d
mov edx, r10d
test r10d, r10d
je 0x14004ff7b
mov eax, dword [r11]
mov ecx, eax
shr ecx, 1
and eax, 0xffc0ffc0
and ecx, 0x1f001f
add r11, 4
or ecx, eax
mov dword [r9], ecx
add r9, 4
sub edx, r13d
jne 0x14004ff57
test r14d, r14d
je 0x14004ffa0
movzx eax, word [r11]
add r11, 2
movzx ecx, ax
and ax, bx
shr cx, 1
and cx, r8w
or cx, ax
mov word [r9], cx
add r9, 2
add r9, r15
add r11, r12
sub esi, r13d
jne 0x14004ff4f
jmp 0x140051403
test eax, 0xffff7fff
jne 0x14005003f
mov eax, dword [rbp + 0x474]
mov r10d, dword [rbp + 0x478]
cmp ecx, r12d
jne 0x14005004c
cmp eax, r15d
jne 0x14005004c
cmp r10d, r8d
jne 0x14005004c
movsxd r8, dword [rsp + 0x34]
mov edx, r14d
movsxd r10, dword [rsp + 0x48]
mov r15d, 1
sar edx, 1
mov ebx, 0x8000
and r14d, r15d
mov ecx, edx
test edx, edx
je 0x140050014
mov eax, dword [r11]
add r11, 4
shr eax, 1
or eax, 0x80008000
mov dword [r9], eax
add r9, 4
sub ecx, r15d
jne 0x14004fffa
test r14d, r14d
je 0x14005002f
movzx eax, word [r11]
add r11, 2
shr ax, 1
or ax, bx
mov word [r9], ax
add r9, 2
add r9, r8
add r11, r10
sub esi, r15d
jne 0x14004fff4
jmp 0x140051403
mov r10d, dword [rbp + 0x478]
mov eax, dword [rbp + 0x474]
mov r15d, 0xf000
cmp dword [rbp + 0x47c], r15d
jne 0x14005140a
cmp ecx, 0xf00
jne 0x14005140a
cmp eax, 0xf0
jne 0x14005140a
cmp r10d, 0xf
jne 0x14005140a
movsxd rbx, dword [rsp + 0x34]
mov r10d, r14d
movsxd r12, dword [rsp + 0x48]
mov r13d, 1
sar r10d, 1
and r14d, r13d
mov r8d, r10d
test r10d, r10d
je 0x1400500da
mov ecx, dword [r11]
mov edx, ecx
shr edx, 1
mov eax, ecx
and edx, 0xf807f807
and eax, 0x7800780
or edx, eax
and ecx, 0x3c003c
shr edx, 1
add r11, 4
or edx, ecx
shr edx, 2
or edx, 0xf000f000
mov dword [r9], edx
add r9, 4
sub r8d, r13d
jne 0x1400500a1
test r14d, r14d
je 0x14005011f
movzx ecx, word [r11]
mov eax, 0xf807
movzx edx, cx
mov r8d, 0x780
shr dx, 1
add r11, 2
and dx, ax
movzx eax, cx
and ax, r8w
and cx, 0x3c
or dx, ax
shr dx, 1
or dx, cx
shr dx, 2
or dx, r15w
mov word [r9], dx
add r9, 2
add r9, rbx
add r11, r12
sub esi, r13d
jne 0x140050099
jmp 0x140051403
cmp dl, 0x20
jne 0x140051414
cmp dword [rbp + 0x47c], 0xff000000
jne 0x140051414
mov ecx, dword [rbp + 0x470]
mov r10d, dword [rbp + 0x478]
cmp ecx, 0xff
jne 0x1400501dc
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff0000
jne 0x14005140a
movsxd rdi, dword [rsp + 0x48]
lea ebx, [rcx - 7]
mov r8d, r14d
mov r10d, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, 0x7c0
shl eax, 0x12
shl edx, 5
and eax, 0xfff80000
or edx, eax
shr ecx, 8
and ecx, ebx
or edx, ecx
or edx, 0xff000000
mov dword [r9], edx
add r9, 4
sub r8d, r10d
jne 0x14005018f
movsxd r10, dword [rsp + 0x34]
add r11, rdi
add r9, r10
sub esi, 1
jne 0x140050186
jmp 0x140051403
cmp ecx, 0xff0000
jne 0x14005140a
cmp dword [rbp + 0x474], 0xff00
jne 0x14005140a
cmp r10d, 0xff
jne 0x14005140a
movsxd rdi, dword [rsp + 0x48]
mov r8d, 0x3e
mov r10d, r14d
mov ebx, 1
movzx ecx, word [r11]
add r11, 2
mov edx, ecx
mov eax, ecx
and edx, 0x7c0
shl ecx, 8
shl edx, 3
and eax, r8d
or edx, eax
and ecx, 0xfff80000
shl edx, 2
or edx, ecx
or edx, 0xff000000
mov dword [r9], edx
add r9, 4
sub r10d, ebx
jne 0x140050218
movsxd rbx, dword [rsp + 0x34]
add r11, rdi
add r9, rbx
sub esi, 1
jne 0x140050210
jmp 0x140051403
mov r9b, byte [rbp + 0x35]
mov ecx, 1
cmp dword [rbp + 0xf00], ecx
jne 0x140051455
cmp r9b, 8
jne 0x1400504f6
movzx ecx, byte [rbp + 0x464]
mov edx, r12d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov r9d, r13d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov cl, byte [rbp + 0x465]
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
movsxd rdx, r10d
add rdx, rax
mov qword [rbp - 0x68], rdx
cmp cl, 0x10
jne 0x1400503bb
cmp dword [rbp + 0x47c], 0x8000
jne 0x14004d154
mov r12d, 0x7c00
cmp r11d, r12d
jne 0x14005142f
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x140051425
mov r8d, 0x1f
cmp r10d, r8d
jne 0x140051425
movsxd rdi, dword [rsp + 0x3c]
mov ebx, 0x8000
mov r10d, r14d
mov r11d, 1
mov r14, qword [rbp - 0x68]
movzx eax, byte [r14]
mov edx, dword [rbp + rax*4 + 0x58]
mov ecx, edx
shr ecx, 6
mov eax, edx
sub eax, dword [rbp + 0xf08]
and cx, r15w
neg eax
sbb ax, ax
add r14, r11
and ax, bx
or cx, ax
mov eax, edx
shr eax, 3
and ax, r8w
shr edx, 9
or cx, ax
and dx, r12w
or cx, dx
mov word [r9], cx
add r9, 2
sub r10d, r11d
jne 0x140050353
movsxd r11, dword [rsp + 0x34]
add r14, rdi
add r9, r11
mov qword [rbp - 0x68], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x140050346
jmp 0x140051403
cmp cl, 0x20
jne 0x14004d154
cmp dword [rbp + 0x47c], 0xff000000
jne 0x14004d154
cmp r11d, 0xff0000
jne 0x140050446
cmp r8d, 0xff00
jne 0x14004d154
cmp r15d, 0xff
jne 0x14004d154
movsxd r11, dword [rsp + 0x3c]
mov r8d, r14d
mov r10d, 1
movzx eax, byte [rdx]
mov ecx, dword [rbp + rax*4 + 0x58]
mov dword [rsp + 0x50], ecx
sub ecx, dword [rbp + 0xf08]
neg ecx
sbb al, al
add rdx, r10
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x50]
mov dword [r9], eax
add r9, 4
sub r8d, r10d
jne 0x140050405
movsxd r10, dword [rsp + 0x34]
add rdx, r11
add r9, r10
sub esi, 1
jne 0x1400503fc
jmp 0x140051403
cmp r11d, 0xff
jne 0x14004d154
cmp r8d, 0xff00
jne 0x14004d154
cmp r15d, 0xff0000
jne 0x14004d154
mov ecx, dword [rbp + 0xf08]
mov eax, ecx
movsxd rbx, dword [rsp + 0x3c]
shr eax, 0x10
movzx r8d, al
movzx eax, cl
and ecx, 0xff00ff00
shl eax, 0x10
or r8d, eax
or r8d, ecx
mov r10d, r14d
mov r11d, 1
movzx ecx, byte [rdx]
mov al, byte [rbp + rcx*4 + 0x5a]
mov byte [rsp + 0x50], al
mov al, byte [rbp + rcx*4 + 0x59]
mov byte [rsp + 0x51], al
mov al, byte [rbp + rcx*4 + 0x58]
mov byte [rsp + 0x52], al
mov al, byte [rbp + rcx*4 + 0x5b]
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x50]
sub eax, r8d
neg eax
sbb cl, cl
add rdx, r11
mov byte [rsp + 0x53], cl
mov eax, dword [rsp + 0x50]
mov dword [r9], eax
add r9, 4
sub r10d, r11d
jne 0x14005049c
movsxd r11, dword [rsp + 0x34]
add rdx, rbx
add r9, r11
sub esi, 1
jne 0x140050493
jmp 0x140051403
mov ecx, dword [rbp + 0x44]
cmp r9b, 0x18
jne 0x140050a63
cmp eax, 0xff0000
jne 0x1400507b0
cmp ecx, 0xff00
jne 0x140050a63
cmp dword [rbp + 0x48], 0xff
jne 0x140050a63
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x78], r9
movsxd r9, r10d
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x10
jne 0x140050678
cmp dword [rbp + 0x47c], 0x8000
jne 0x140051419
mov r12d, 0x7c00
cmp r11d, r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd r15, dword [rsp + 0x3c]
mov ebx, 0x8000
mov r10d, 0xfff8
mov r11d, r14d
mov edi, 1
mov r14, qword [rbp - 0x78]
movzx edx, byte [r9 + 2]
movzx eax, word [r9]
mov ecx, edx
shl ecx, 0x10
and dx, r10w
add eax, ecx
shl dx, 5
mov ecx, eax
shr ecx, 8
movzx r8d, cl
mov ecx, eax
sub ecx, dword [rbp + 0xf08]
or r8w, dx
and r8w, r10w
shl r8w, 2
neg ecx
sbb cx, cx
shr al, 3
and cx, bx
add r9, 3
or r8w, cx
movzx ecx, al
or r8w, cx
mov word [r14], r8w
add r14, 2
sub r11d, edi
jne 0x1400505f9
movsxd rdi, dword [rsp + 0x34]
add r9, r15
add r14, rdi
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x1400505ed
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
mov r10d, 0xff000000
cmp dword [rbp + 0x47c], r10d
jne 0x140051419
cmp r11d, 0xff0000
jne 0x140050716
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd rbx, dword [rsp + 0x3c]
mov r8d, r14d
mov r11d, 1
mov r14, qword [rbp - 0x78]
movzx eax, word [r9]
movzx edx, byte [r9 + 2]
shl edx, 0x10
add edx, eax
mov eax, edx
sub eax, dword [rbp + 0xf08]
neg eax
sbb ecx, ecx
add r9, 3
and ecx, r10d
or ecx, edx
mov dword [r14], ecx
add r14, 4
sub r8d, r11d
jne 0x1400506c9
movsxd r11, dword [rsp + 0x34]
add r9, rbx
add r14, r11
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x1400506bc
jmp 0x140051403
cmp r11d, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd rdi, dword [rsp + 0x3c]
mov r11d, r14d
mov ebx, 1
mov r14, qword [rbp - 0x78]
movzx r8d, byte [r9 + 2]
movzx eax, word [r9]
mov ecx, r8d
shl ecx, 0x10
add ecx, eax
movzx eax, byte [r9 + 1]
sub ecx, dword [rbp + 0xf08]
neg ecx
movzx ecx, byte [r9]
sbb edx, edx
shl ecx, 8
and edx, r10d
or ecx, eax
shl ecx, 8
add r9, 3
or edx, ecx
or edx, r8d
mov dword [r14], edx
add r14, 4
sub r11d, ebx
jne 0x14005074e
movsxd rbx, dword [rsp + 0x34]
add r9, rdi
add r14, rbx
mov qword [rbp - 0x78], r14
mov r14d, dword [rsp + 0x38]
sub esi, 1
jne 0x140050742
jmp 0x140051403
cmp eax, 0xff
jne 0x140050a63
cmp ecx, 0xff00
jne 0x140050a63
cmp dword [rbp + 0x48], 0xff0000
jne 0x140050a63
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
movsxd r11, r10d
sub edx, eax
mov dword [rsp + 0x34], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x3c], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x58], r9
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r11, rax
cmp dl, 0x10
jne 0x140050921
cmp dword [rbp + 0x47c], 0x8000
jne 0x140051419
mov r12d, 0x7c00
cmp dword [rbp + 0x470], r12d
jne 0x140051414
mov r10d, dword [rbp + 0x478]
mov r15d, 0x3e0
cmp r8d, r15d
jne 0x14005140a
mov r8d, 0x1f
cmp r10d, r8d
jne 0x14005140a
movsxd r12, dword [rsp + 0x3c]
mov ebx, 0x8000
mov r10d, 0xfff8
mov edi, r14d
mov r15d, 1
movzx r8d, byte [r11]
movzx eax, byte [r11 + 1]
mov edx, r8d
movzx ecx, byte [r11 + 2]
and r8w, r10w
shl r8w, 5
shl edx, 8
or edx, eax
mov eax, edx
shl eax, 8
or eax, ecx
movzx ecx, dl
or r8w, cx
mov ecx, eax
sub ecx, dword [rbp + 0xf08]
and r8w, r10w
shl r8w, 2
neg ecx
sbb cx, cx
shr al, 3
and cx, bx
add r11, 3
or r8w, cx
movzx ecx, al
or r8w, cx
mov word [r9], r8w
add r9, 2
sub edi, r15d
jne 0x1400508a7
movsxd r15, dword [rsp + 0x34]
add r11, r12
add r9, r15
sub esi, 1
jne 0x14005089e
jmp 0x140051403
cmp dl, 0x20
jne 0x140051419
mov r10d, 0xff000000
cmp dword [rbp + 0x47c], r10d
jne 0x140051419
mov ecx, dword [rbp + 0x470]
cmp ecx, 0xff0000
jne 0x1400509c0
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff
jne 0x140051419
movsxd rdi, dword [rsp + 0x3c]
mov r8d, r14d
mov ebx, 1
movzx eax, byte [r11 + 1]
movzx edx, byte [r11]
shl edx, 8
or edx, eax
movzx eax, byte [r11 + 2]
shl edx, 8
or edx, eax
mov eax, edx
sub eax, dword [rbp + 0xf08]
neg eax
sbb ecx, ecx
add r11, 3
and ecx, r10d
or ecx, edx
mov dword [r9], ecx
add r9, 4
sub r8d, ebx
jne 0x140050972
movsxd rbx, dword [rsp + 0x34]
add r11, rdi
add r9, rbx
sub esi, 1
jne 0x14005096a
jmp 0x140051403
cmp ecx, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movsxd rdi, dword [rsp + 0x3c]
mov r10d, r14d
mov ebx, 1
movzx ecx, byte [r11]
movzx edx, byte [r11 + 1]
movzx r8d, byte [r11 + 2]
mov byte [r9], cl
mov al, byte [r11 + 1]
mov byte [r9 + 1], al
mov al, byte [r11 + 2]
mov byte [r9 + 2], al
mov r9d, ecx
shl r9d, 8
or r9d, edx
shl r9d, 8
or r9d, r8d
sub r9d, dword [rbp + 0xf08]
neg r9d
mov r9, qword [rbp - 0x58]
sbb al, al
add r11, 3
mov byte [r9 + 3], al
add r9, 4
mov qword [rbp - 0x58], r9
sub r10d, ebx
jne 0x1400509f3
movsxd rbx, dword [rsp + 0x34]
add r11, rdi
add r9, rbx
mov qword [rbp - 0x58], r9
sub esi, 1
jne 0x1400509eb
jmp 0x140051403
test edx, edx
jne 0x140050bd0
cmp r9b, 0x20
jne 0x140050bd0
cmp dword [rbp + 0x4c], edi
jne 0x140051455
cmp eax, 0xff0000
jne 0x140051455
cmp ecx, 0xff00
jne 0x140051455
cmp dword [rbp + 0x48], 0xff
jne 0x140051455
movzx ecx, byte [rbp + 0x464]
mov r9d, r13d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov edx, r12d
imul ecx, ebx
sub edx, eax
mov dword [rbp - 0x48], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rbp - 0x40], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
add r9, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x68], r9
movsxd r9, r10d
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
mov dl, byte [rbp + 0x465]
add r9, rax
cmp dl, 0x20
jne 0x140051419
mov r10d, 0xff000000
cmp dword [rbp + 0x47c], r10d
jne 0x140051419
cmp r11d, 0xff
jne 0x140051419
cmp r8d, 0xff00
jne 0x140051419
cmp r15d, 0xff0000
jne 0x140051419
movzx eax, byte [rbp + 0xf09]
movzx edx, byte [rbp + 0xf08]
movsxd r11, dword [rbp - 0x48]
movsxd rbx, dword [rbp - 0x40]
shl edx, 8
or edx, eax
mov qword [rbp - 0x50], r11
movzx eax, byte [rbp + 0xf0a]
shl edx, 8
or edx, eax
mov r8d, r14d
mov r11d, 1
mov r14, qword [rbp - 0x68]
movzx eax, byte [r9]
movzx ecx, byte [r9 + 1]
shl eax, 8
or ecx, eax
movzx eax, byte [r9 + 2]
shl ecx, 8
or ecx, eax
mov eax, ecx
or eax, r10d
cmp edx, ecx
cmove eax, ecx
add r9, 4
mov dword [r14], eax
add r14, 4
sub r8d, r11d
jne 0x140050b84
add r14, qword [rbp - 0x50]
add r9, rbx
mov qword [rbp - 0x68], r14
mov r14d, dword [rsp + 0x38]
sub esi, r11d
jne 0x140050b77
jmp 0x140051403
cmp r9b, 0x10
jne 0x140051455
cmp dword [rbp + 0x4c], edi
jne 0x140051455
cmp eax, 0xf800
jne 0x140050fc7
cmp ecx, 0x7e0
jne 0x140051455
mov r8d, 0x1f
cmp dword [rbp + 0x48], r8d
jne 0x140051455
movzx ecx, byte [rbp + 0x464]
mov edx, r12d
mov eax, ecx
imul r10d, r13d
imul eax, r14d
mov r9d, r13d
imul ecx, ebx
sub edx, eax
mov dword [rsp + 0x44], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub r9d, eax
mov eax, dword [rbp - 0x7c]
imul eax, r12d
mov dword [rsp + 0x78], r9d
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov cl, byte [rbp + 0x465]
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
movsxd rdx, r10d
add rdx, rax
cmp cl, 0x10
jne 0x140050e0f
mov eax, dword [rbp + 0x47c]
lea ecx, [r8 - 0x1e]
cmp eax, ecx
jne 0x140050d40
cmp r11d, 0xf800
jne 0x14004d154
cmp dword [rbp + 0x474], 0x7c0
jne 0x14004d154
cmp r15d, 0x3e
jne 0x14004d154
movzx r10d, byte [rbp + 0xf0a]
mov ebx, 0xffc0
movzx eax, byte [rbp + 0xf09]
movsxd rdi, dword [rsp + 0x44]
movsxd r15, dword [rsp + 0x78]
shl r10d, 8
and r10d, 0xfffff83f
shl eax, 3
or r10d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 2
and r10d, 0xffffffc1
or r10d, eax
and r10d, 0xfffffffe
mov r11d, r14d
mov r14d, 1
movzx eax, word [rdx]
mov ecx, eax
and eax, ebx
and ecx, r8d
add ecx, ecx
or ecx, eax
movzx eax, cx
or ax, r14w
cmp r10d, ecx
cmove ax, cx
add rdx, 2
mov word [r9], ax
add r9, 2
sub r11d, r14d
jne 0x140050cfe
add r9, rdi
add rdx, r15
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x140050cf5
jmp 0x140051403
cmp eax, 0x8000
jne 0x14004d154
mov r10d, dword [rbp + 0x478]
mov r12d, 0x7c00
cmp r11d, r12d
jne 0x140051425
mov r15d, 0x3e0
cmp dword [rbp + 0x474], r15d
jne 0x140051425
cmp r10d, r8d
jne 0x140051425
movzx r10d, byte [rbp + 0xf0a]
mov ecx, 0xffffffe0
movzx eax, byte [rbp + 0xf09]
mov ebx, 0x8000
movsxd rdi, dword [rsp + 0x44]
movsxd r15, dword [rsp + 0x78]
shl r10d, 7
shl eax, 2
and r10d, 0xfffffc1f
or r10d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r10d, ecx
or r10d, eax
mov r11d, r14d
mov r14d, 1
movzx eax, word [rdx]
mov ecx, eax
and eax, r8d
shr ecx, 1
and ecx, 0x7fe0
or ecx, eax
movzx eax, cx
or ax, bx
cmp ecx, r10d
cmove ax, cx
add rdx, 2
mov word [r9], ax
add r9, 2
sub r11d, r14d
jne 0x140050dca
add r9, rdi
add rdx, r15
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x140050dc1
jmp 0x140051403
cmp cl, 0x20
jne 0x14004d154
cmp dword [rbp + 0x47c], 0xff000000
jne 0x14004d154
cmp r11d, 0xff0000
jne 0x140050ef9
cmp dword [rbp + 0x474], 0xff00
jne 0x14004d154
cmp r15d, 0xff
jne 0x14004d154
movzx r11d, byte [rbp + 0xf0a]
mov ecx, 0xffffffe0
movzx eax, byte [rbp + 0xf09]
mov r10d, 0x7e0
movsxd r12, dword [rsp + 0x44]
mov r15d, 0xf800
movsxd r13, dword [rsp + 0x78]
shl r11d, 8
shl eax, 3
and r11d, 0xfffff81f
or r11d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r11d, ecx
or r11d, eax
mov edi, r14d
mov r14d, 1
movzx eax, word [rdx]
mov ecx, eax
mov ebx, eax
and ecx, r10d
and ebx, r8d
cmp eax, r11d
je 0x140050ec4
and eax, 0xfffff800
or eax, 0xffff0000
jmp 0x140050ec7
and eax, r15d
shl eax, 3
add rdx, 2
or eax, ecx
shl eax, 2
or eax, ebx
shl eax, 3
mov dword [r9], eax
add r9, 4
sub edi, r14d
jne 0x140050ea6
add r9, r12
add rdx, r13
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x140050e9d
jmp 0x140051403
cmp r11d, 0xff
jne 0x14004d154
cmp dword [rbp + 0x474], 0xff00
jne 0x14004d154
cmp r15d, 0xff0000
jne 0x14004d154
movzx eax, byte [rbp + 0xf09]
mov ecx, 0xffffffe0
movzx r11d, byte [rbp + 0xf0a]
mov ebx, 0xf8
movsxd r13, dword [rsp + 0x44]
mov r10d, 0x7e0
shl eax, 3
shl r11d, 8
and r11d, 0xfffff81f
or r11d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r11d, ecx
or r11d, eax
movsxd rax, dword [rsp + 0x78]
mov qword [rbp - 0x68], rax
mov r12d, r14d
mov r14d, 1
movzx eax, word [rdx]
mov edi, eax
mov r15d, eax
shr edi, 8
and r15d, r10d
and edi, ebx
cmp eax, r11d
je 0x140050f93
or eax, ecx
jmp 0x140050f96
and eax, r8d
shl eax, 0xe
add rdx, 2
or eax, r15d
shl eax, 5
or eax, edi
mov dword [r9], eax
add r9, 4
sub r12d, r14d
jne 0x140050f7a
add rdx, qword [rbp - 0x68]
add r9, r13
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x140050f71
jmp 0x140051403
mov r12d, 0x7c00
cmp eax, r12d
jne 0x140051450
mov r15d, 0x3e0
cmp ecx, r15d
jne 0x140051450
mov r8d, 0x1f
cmp dword [rbp + 0x48], r8d
jne 0x140051450
movzx ecx, byte [rbp + 0x464]
mov edx, dword [rsp + 0x30]
mov eax, ecx
imul eax, r14d
imul ecx, ebx
imul r10d, r13d
mov dword [rsp + 0x34], r13d
sub edx, eax
mov dword [rsp + 0x5c], edx
movzx edx, byte [rbp + 0x34]
mov eax, edx
movsxd rcx, ecx
imul eax, r14d
sub dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x7c]
imul eax, dword [rsp + 0x30]
movsxd r9, eax
mov rax, qword [rbp - 0x70]
add rax, rcx
mov cl, byte [rbp + 0x465]
add r9, rax
mov rax, qword [rsp + 0x60]
imul edx, dword [rax]
movsxd rax, edx
add rax, qword [rsp + 0x68]
movsxd rdx, r10d
add rdx, rax
cmp cl, 0x10
jne 0x140051258
mov eax, dword [rbp + 0x47c]
lea ecx, [r8 - 0x1e]
mov r10d, dword [rbp + 0x478]
cmp eax, ecx
jne 0x14005112a
cmp r11d, 0xf800
jne 0x140051425
cmp dword [rbp + 0x474], 0x7c0
jne 0x140051425
cmp r10d, 0x3e
jne 0x140051425
movzx r8d, byte [rbp + 0xf0a]
movzx eax, byte [rbp + 0xf09]
movsxd r11, dword [rsp + 0x5c]
movsxd rbx, dword [rsp + 0x34]
shl r8d, 8
and r8d, 0xfffff83f
shl eax, 3
or r8d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 2
and r8d, 0xffffffc1
or r8d, eax
and r8d, 0xfffffffe
mov r10d, r14d
mov r14d, 1
movzx ecx, word [rdx]
and ecx, 0x7fff
add ecx, ecx
movzx eax, cx
or ax, r14w
cmp r8d, ecx
cmove ax, cx
add rdx, 2
mov word [r9], ax
add r9, 2
sub r10d, r14d
jne 0x1400510eb
add r9, r11
add rdx, rbx
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x1400510e2
jmp 0x140051403
cmp eax, 0x8000
jne 0x1400511dd
cmp r11d, r12d
jne 0x140051425
cmp dword [rbp + 0x474], r15d
jne 0x140051425
cmp r10d, r8d
jne 0x140051425
movzx r8d, byte [rbp + 0xf0a]
mov ecx, 0xffffffe0
movzx eax, byte [rbp + 0xf09]
mov ebx, 0x8000
movsxd r11, dword [rsp + 0x5c]
movsxd rdi, dword [rsp + 0x34]
shl r8d, 7
shl eax, 2
and r8d, 0xfffffc1f
or r8d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r8d, ecx
or r8d, eax
mov r10d, r14d
mov r14d, 1
movzx ecx, word [rdx]
and ecx, 0x7fff
movzx eax, cx
or ax, bx
cmp r8d, ecx
cmove ax, cx
add rdx, 2
mov word [r9], ax
add r9, 2
sub r10d, r14d
jne 0x1400511a1
add r9, r11
add rdx, rdi
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x140051198
jmp 0x140051403
test eax, eax
jne 0x140051425
cmp r11d, 0xf800
jne 0x140051425
cmp dword [rbp + 0x474], 0x7e0
jne 0x140051425
cmp r10d, r8d
jne 0x140051425
movsxd rdi, dword [rsp + 0x34]
mov r10d, 0xffe0
mov r11d, r14d
mov ebx, 1
movzx ecx, word [rdx]
add rdx, 2
movzx eax, cx
and ecx, r8d
and ax, r10w
add ax, ax
movzx eax, ax
or eax, ecx
mov dword [r9], eax
add r9, 2
sub r11d, ebx
jne 0x14005121e
movsxd rbx, dword [rsp + 0x5c]
add rdx, rdi
add r9, rbx
sub esi, 1
jne 0x140051216
jmp 0x140051403
cmp cl, 0x20
jne 0x14005142f
cmp dword [rbp + 0x47c], 0xff000000
jne 0x14005142f
mov r10d, dword [rbp + 0x478]
cmp r11d, 0xff0000
jne 0x14005133f
cmp dword [rbp + 0x474], 0xff00
jne 0x140051425
cmp r10d, 0xff
jne 0x140051425
movzx r10d, byte [rbp + 0xf0a]
mov ecx, 0xffffffe0
movzx eax, byte [rbp + 0xf09]
movsxd rdi, dword [rsp + 0x5c]
movsxd r13, dword [rsp + 0x34]
shl r10d, 7
shl eax, 2
and r10d, 0xfffffc1f
or r10d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r10d, ecx
or r10d, eax
mov ebx, r14d
mov r14d, 1
movzx eax, word [rdx]
mov ecx, eax
mov r11d, eax
and ecx, r15d
and r11d, r8d
cmp eax, r10d
je 0x140051309
and eax, 0xfffffc00
or eax, 0xffff8000
jmp 0x14005130c
and eax, r12d
shl eax, 3
add rdx, 2
or eax, ecx
shl eax, 3
or eax, r11d
shl eax, 3
mov dword [r9], eax
add r9, 4
sub ebx, r14d
jne 0x1400512ea
add r9, rdi
add rdx, r13
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x1400512e1
jmp 0x140051403
cmp r11d, 0xff
jne 0x140051425
cmp dword [rbp + 0x474], 0xff00
jne 0x140051425
cmp r10d, 0xff0000
jne 0x140051425
movzx eax, byte [rbp + 0xf09]
lea ebx, [r11 - 7]
movzx r10d, byte [rbp + 0xf0a]
mov ecx, 0xffffffe0
movsxd r13, dword [rsp + 0x5c]
shl eax, 2
shl r10d, 7
and r10d, 0xfffffc1f
or r10d, eax
movzx eax, byte [rbp + 0xf08]
shr eax, 3
and r10d, ecx
or r10d, eax
movsxd rax, dword [rsp + 0x34]
mov qword [rbp - 0x68], rax
mov r12d, r14d
mov r14d, 1
movzx eax, word [rdx]
mov r11d, eax
mov edi, eax
shr r11d, 7
and edi, r15d
and r11d, ebx
cmp eax, r10d
je 0x1400513d4
or eax, ecx
jmp 0x1400513d7
and eax, r8d
shl eax, 0xd
add rdx, 2
or eax, edi
shl eax, 6
or eax, r11d
mov dword [r9], eax
add r9, 4
sub r12d, r14d
jne 0x1400513b9
add rdx, qword [rbp - 0x68]
add r9, r13
sub esi, r14d
mov r14d, dword [rsp + 0x38]
jne 0x1400513b0
xor eax, eax
jmp 0x140052612
mov r12d, dword [rsp + 0x30]
jmp 0x14004d161
mov r12d, dword [rsp + 0x30]
mov r10d, dword [rbp + 0x478]
jmp 0x14004d161
mov r12d, dword [rsp + 0x30]
jmp 0x14004d15b
mov r12d, dword [rsp + 0x30]
jmp 0x14004d154
mov r12d, dword [rsp + 0x30]
mov r10d, dword [rbp + 0x478]
mov dl, byte [rbp + 0x465]
jmp 0x14004d169
mov r12d, dword [rsp + 0x30]
mov r10d, dword [rbp + 0x478]
mov dl, byte [rbp + 0x465]
jmp 0x14004d165
mov eax, 0xff00
mov dword [rbp + 0x46c], 0x18000810
mov ecx, 0xff0000
mov dword [rbp + 0x474], eax
mov eax, 0xff000000
mov dword [rbp + 0x470], ecx
mov dl, 0x20
mov dword [rbp + 0x47c], eax
mov r8b, 8
mov byte [rbp + 0x465], dl
mov r10d, 0xff
mov dword [rbp + 0x468], 0x8080808
mov cl, r8b
mov dword [rbp + 0x478], r10d
cmp byte [rbp + 0x38], r8b
jne 0x1400514c7
cmp byte [rbp + 0x39], cl
jne 0x1400514c7
mov al, dil
jmp 0x1400514cc
mov eax, 1
movzx r15d, byte [rbp + 0x898]
mov dword [rbp - 0x38], eax
cmp dword [rsp + 0x74], edi
je 0x1400514ee
cmp r15b, byte [rbp + 0x46b]
movzx eax, al
cmovne eax, dword [rbp - 0x50]
mov dword [rbp - 0x38], eax
cmp byte [rbp + 0x463], dil
jne 0x140051500
cmp byte [rbp + 0x462], 0x10
jne 0x140051504
mov byte [rbp - 0x38], dil
cmp byte [rbp + 0x33], dil
jne 0x140051522
cmp byte [rbp + 0x463], dil
jne 0x140051522
cmp byte [rbp + 0x32], 0x10
je 0x140051522
cmp byte [rbp + 0x462], 0x10
jne 0x14005152c
mov dword [rbp + 0xf00], edi
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x34], 5
cmp byte [rbp + 0x33], dil
je 0x14005155d
mov al, byte [rbp + 0x32]
cmp al, 0x10
je 0x140051553
mov dword [rsp + 0x5c], edi
cmp al, 0x20
jne 0x1400515ab
mov dword [rsp + 0x5c], 4
jmp 0x1400515ab
mov dword [rsp + 0x5c], 5
jmp 0x1400515ab
cmp byte [rbp + 0x32], 0x10
jne 0x14005156d
mov dword [rsp + 0x5c], 6
jmp 0x1400515ab
cmp r9b, 8
je 0x1400515a3
cmp r9b, 0x10
je 0x14005159d
cmp r9b, 0x18
je 0x140051593
mov dword [rsp + 0x5c], edi
cmp r9b, 0x20
jne 0x1400515ab
mov dword [rsp + 0x5c], 2
jmp 0x1400515ab
mov dword [rsp + 0x5c], 1
jmp 0x1400515ab
mov dword [rsp + 0x5c], edi
jmp 0x1400515ab
mov dword [rsp + 0x5c], 3
mov eax, dword [rbp + 0x4c]
or eax, dword [rbp + 0x48]
or eax, dword [rbp + 0x44]
or eax, r11d
mov r11d, dword [rbp + 0xf08]
cmp dword [rbp + 0xf00], edi
jne 0x1400515fc
cmp r9b, 8
je 0x1400515ef
cmp r9b, 0x10
je 0x1400515e9
cmp r9b, 0x18
je 0x1400515e0
cmp r9b, 0x20
jne 0x1400515f3
jmp 0x1400515f9
and r11d, 0xffffff
jmp 0x1400515f9
movzx r11d, r11w
jmp 0x1400515f9
movzx r11d, r11b
cmp r9b, 8
je 0x1400515fc
and r11d, eax
cmp byte [rbp + 0x463], dil
je 0x140051621
mov al, byte [rbp + 0x462]
cmp al, 0x10
je 0x14005166f
mov dword [rsp + 0x34], edi
cmp al, 0x20
jne 0x14005166f
mov dword [rsp + 0x34], 4
jmp 0x14005166f
cmp byte [rbp + 0x462], 0x10
jne 0x140051634
mov dword [rsp + 0x34], 6
jmp 0x14005166f
cmp dl, 8
je 0x140051667
cmp dl, 0x10
je 0x140051661
cmp dl, 0x18
je 0x140051656
mov dword [rsp + 0x34], edi
cmp dl, 0x20
jne 0x14005166f
mov dword [rsp + 0x34], 2
jmp 0x14005166f
mov edx, 1
mov dword [rsp + 0x34], edx
jmp 0x140051674
mov dword [rsp + 0x34], edi
jmp 0x14005166f
mov dword [rsp + 0x34], 3
mov edx, 1
mov al, byte [rbp + 0x895]
cmp al, 8
je 0x1400516a0
cmp al, 0x10
je 0x14005169b
cmp al, 0x18
je 0x140051696
mov dword [rbp - 0x3c], edi
cmp al, 0x20
jne 0x1400516a7
mov dword [rbp - 0x3c], 2
jmp 0x1400516a7
mov dword [rbp - 0x3c], edx
jmp 0x1400516a7
mov dword [rbp - 0x3c], edi
jmp 0x1400516a7
mov dword [rbp - 0x3c], 3
cmp byte [rbp - 0x38], dl
jne 0x1400518fc
mov r9b, byte [rbp + 0x38]
mov al, byte [rbp + 0x3a]
sub r9b, r8b
sub al, byte [rbp + 0x46a]
mov r8b, byte [rbp + 0x39]
sub r8b, cl
mov byte [rsp + 0x55], al
cmp dword [rsp + 0x74], edi
movzx ecx, byte [rbp + 0x3b]
cmovne ecx, r15d
mov byte [rsp + 0x70], r9b
mov dl, cl
mov dword [rbp - 0x24], ecx
sub dl, byte [rbp + 0x46b]
mov cl, r9b
mov r15d, 1
mov byte [rsp + 0x71], r8b
shl r15d, cl
mov cl, r8b
mov r8d, 1
mov byte [rsp + 0x54], dl
mov r9d, r8d
shl r9d, cl
mov cl, al
mov eax, r8d
mov dword [rbp - 0x40], r9d
shl eax, cl
mov dword [rsp + 0x4c], eax
mov eax, r8d
movzx ecx, dl
shl eax, cl
mov dword [rbp - 0x44], eax
cmp dword [rbp + 0xf10], r8d
jne 0x1400517f0
cmp dword [rsp + 0x74], edi
mov r8, rdi
movzx eax, byte [rbp + 0x89c]
mov r12d, pe_nt_image_headers64
movzx ecx, byte [rbp + 0x3f]
mov esi, dword [rsp + 0x4c]
cmovne ecx, eax
mov r13d, dword [rbp - 0x44]
movzx r14d, byte [rbp + 0x3c]
movzx r10d, byte [rbp + 0x3d]
movzx ebx, byte [rbp + 0x3e]
movzx eax, cl
mov edi, eax
mov ecx, r14d
lea rdx, [0x1400e7050]
mov edx, dword [r8 + rdx]
mov eax, edx
imul eax, r15d
lea r8, [r8 + 4]
shr eax, 4
shl eax, cl
mov ecx, r10d
mov dword [rbp + r8 + 0xcbc], eax
mov eax, edx
imul eax, r9d
shr eax, 4
shl eax, cl
mov ecx, ebx
mov dword [rbp + r8 + 0xcfc], eax
mov eax, edx
imul eax, esi
imul edx, r13d
shr eax, 4
shl eax, cl
mov ecx, edi
shr edx, 4
shl edx, cl
mov dword [rbp + r8 + 0xd7c], edx
mov dword [rbp + r8 + 0xd3c], eax
sub r12, 1
jne 0x140051768
mov rbx, qword [rbp - 8]
xor edi, edi
mov esi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
mov r12d, dword [rsp + 0x30]
mov r10d, dword [rbp + 0x478]
movzx edx, byte [rbp + 0x3e]
lea eax, [r15 - 1]
movzx r9d, byte [rbp + 0x3c]
movzx r8d, byte [rbp + 0x3d]
mov ecx, r9d
shl eax, cl
mov ecx, r8d
mov dword [rbp - 0x30], eax
mov r15d, dword [rsp + 0x74]
mov eax, dword [rbp - 0x40]
dec eax
shl eax, cl
mov ecx, edx
mov dword [rbp - 0x34], eax
mov eax, dword [rsp + 0x4c]
dec eax
shl eax, cl
mov dword [rsp + 0x78], eax
test r15d, r15d
movzx eax, byte [rbp + 0x89c]
movzx ecx, byte [rbp + 0x3f]
cmovne ecx, eax
mov eax, dword [rbp - 0x44]
dec eax
shl eax, cl
mov ecx, r9d
mov dword [rsp + 0x44], eax
mov eax, dword [rbp + 0x47c]
or eax, r10d
or eax, dword [rbp + 0x474]
or eax, dword [rbp + 0x470]
not eax
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x40]
shr eax, cl
mov ecx, r8d
mov dword [rbp], eax
mov eax, dword [rbp + 0x44]
shr eax, cl
mov ecx, edx
mov edx, dword [rbp + 0x4c]
mov dword [rbp + 8], eax
mov eax, dword [rbp + 0x48]
shr eax, cl
mov cl, byte [rbp + 0x89c]
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x8a0]
shr eax, cl
mov cl, byte [rbp + 0x3f]
shr edx, cl
movzx ecx, byte [rbp + 0x468]
test r15d, r15d
cmovne edx, eax
movzx eax, byte [rbp + 0x38]
sub ecx, eax
mov dword [rbp - 0x1c], edx
mov edx, 1
mov eax, edx
shl eax, cl
movzx ecx, byte [rbp + 0x469]
sub eax, edx
mov dword [rbp + 4], eax
movzx eax, byte [rbp + 0x39]
sub ecx, eax
mov eax, edx
shl eax, cl
movzx ecx, byte [rbp + 0x46a]
sub eax, edx
mov dword [rbp + 0xc], eax
movzx eax, byte [rbp + 0x3a]
sub ecx, eax
mov eax, edx
shl eax, cl
movzx ecx, byte [rbp + 0x46b]
sub eax, edx
mov dword [rbp + 0x14], eax
movzx eax, byte [rbp - 0x24]
sub ecx, eax
mov eax, edx
shl eax, cl
sub eax, edx
mov dword [rbp - 0x20], eax
cmp dword [rbp + 0xf00], edi
je 0x140051974
mov eax, r11d
movzx r9d, r11b
shr eax, 8
lea rcx, [rbp + 0x30]
shr r11d, 0x10
movzx r8d, al
movzx edx, r11b
mov dword [rsp + 0x20], 0xff
call fcn.140052808
cmp byte [rbp + 0x35], 8
jne 0x14005194d
mov eax, eax
movzx ecx, byte [rbp + rax*4 + 0x5a]
mov dword [rbp - 0x10], ecx
movzx ecx, byte [rbp + rax*4 + 0x59]
movzx eax, byte [rbp + rax*4 + 0x58]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], ecx
jmp 0x140051974
mov cl, byte [rbp + 0x3c]
mov edx, dword [rbp + 0x40]
and edx, eax
shr edx, cl
mov cl, byte [rbp + 0x3d]
mov dword [rbp - 0x10], edx
mov edx, dword [rbp + 0x44]
and edx, eax
shr edx, cl
mov cl, byte [rbp + 0x3e]
mov dword [rbp - 0x14], edx
mov edx, dword [rbp + 0x48]
and edx, eax
shr edx, cl
mov dword [rbp - 0x18], edx
movzx edx, byte [rbp + 0x464]
mov r11d, r12d
movzx r10d, byte [rbp + 0x894]
mov eax, edx
movzx r9d, byte [rbp + 0x34]
mov r15d, r13d
mov ecx, dword [rbp + 0xed8]
xorps xmm11, xmm11
imul eax, r14d
xorps xmm10, xmm10
imul ebx, edx
xorps xmm9, xmm9
mov dword [rbp - 0x78], edx
xorps xmm7, xmm7
mov dword [rsp + 0x3c], edi
xorps xmm6, xmm6
mov dword [rsp + 0x38], edi
sub r11d, eax
mov dword [rsp + 0x48], edi
mov eax, r9d
mov word [rbp - 0x60], di
imul eax, r14d
mov word [rsp + 0x58], di
sub r15d, eax
mov eax, r10d
imul eax, r14d
sub ecx, eax
movzx eax, di
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x480]
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x48], ecx
mov ecx, dword [rbp - 0x7c]
imul ecx, r12d
movsxd rax, ebx
add rax, qword [rbp - 0x70]
movsxd r12, ecx
add r12, rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x50], r12
mov edx, dword [rax + 4]
mov r8d, dword [rax]
mov eax, edx
imul edx, dword [rbp + 0xed8]
imul eax, r13d
movsxd rcx, eax
mov eax, r8d
imul eax, r9d
imul r8d, r10d
movsxd r13, eax
mov rax, qword [rsp + 0x68]
add rax, rcx
movsxd r10, r8d
add r13, rax
mov ecx, edi
movsxd rax, edx
add rax, qword [rbp + 0xed0]
add r10, rax
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x58], r10
mov dword [rsp + 0x4c], ecx
test esi, esi
jle 0x140051403
movzx eax, byte [rsp + 0x54]
mov ebx, 0xffff
mov r8d, dword [rbp - 0x48]
neg eax
movss xmm8, dword [0x1400f3ac0]
movss xmm12, dword [0x1400f3ce4]
movss xmm13, dword [0x1400f3cb0]
mov r9d, dword [rbp + 0x478]
mov dword [rbp - 0x70], eax
movzx eax, byte [rsp + 0x70]
neg eax
mov edx, r15d
mov dword [rbp - 0x80], eax
movzx eax, byte [rsp + 0x71]
neg eax
mov dword [rbp - 0x24], edi
mov dword [rsp + 0x68], eax
movzx eax, byte [rsp + 0x55]
neg eax
mov dword [rbp - 0x28], edi
mov dword [rsp + 0x60], eax
mov eax, r11d
mov r11d, 1
mov qword [rbp + 0x20], rax
mov dword [rbp - 0x2c], edi
mov dword [rbp - 8], edi
mov qword [rbp + 0x28], rdx
mov dword [rbp - 0x44], edi
test r14d, r14d
jle 0x1400525e6
mov esi, dword [rbp + 0x474]
mov ecx, dword [rsp + 0x5c]
test ecx, ecx
je 0x140051cc4
sub ecx, 1
je 0x140051cb1
sub ecx, 1
je 0x140051cab
sub ecx, 1
je 0x140051c97
sub ecx, 1
je 0x140051c42
sub ecx, 1
je 0x140051b7c
sub ecx, 1
jne 0x140051be5
movzx edx, word [r13]
lea eax, [rcx + 1]
mov dword [rsp + 0x40], edx
cmp byte [rbp + 0x31], al
jbe 0x140051b46
movzx eax, word [r13 + 2]
mov dword [rbp - 0x60], eax
jmp 0x140051b49
mov dword [rbp - 0x60], ebx
cmp byte [rbp + 0x31], 2
jbe 0x140051b5a
movzx eax, word [r13 + 4]
mov dword [rsp + 0x58], eax
jmp 0x140051b5e
mov dword [rsp + 0x58], ebx
cmp byte [rbp + 0x31], 3
mov r15d, dword [rsp + 0x38]
jbe 0x140051b74
movzx ecx, word [r13 + 6]
mov dword [rsp + 0x30], ecx
jmp 0x140051bf2
mov ecx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x140051bf2
movzx ecx, word [r13]
call fcn.140043304
mov eax, 1
movaps xmm10, xmm0
cmp byte [rbp + 0x31], al
jbe 0x140051ba4
movzx ecx, word [r13 + 2]
call fcn.140043304
movaps xmm9, xmm0
jmp 0x140051ba8
movaps xmm9, xmm8
cmp byte [rbp + 0x31], 2
jbe 0x140051bbd
movzx ecx, word [r13 + 4]
call fcn.140043304
movaps xmm7, xmm0
jmp 0x140051bc1
movaps xmm7, xmm8
cmp byte [rbp + 0x31], 3
jbe 0x140051c3c
movzx ecx, word [r13 + 6]
call fcn.140043304
movaps xmm6, xmm0
mov r9d, dword [rbp + 0x478]
mov esi, dword [rbp + 0x474]
mov r10, qword [rbp - 0x58]
mov r15d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x40]
cmp byte [rbp + 0x33], dil
je 0x140051e0d
cmp byte [rbp + 0x463], dil
jne 0x140052067
cmp byte [rbp + 0x462], 0x10
jne 0x140051d4f
comiss xmm10, xmm8
mov dword [rsp + 0x40], edi
mov word [rbp - 0x60], di
mov word [rsp + 0x58], di
mov word [rsp + 0x30], di
jbe 0x140051ccb
mov word [rsp + 0x40], bx
jmp 0x140051ce3
movaps xmm6, xmm8
jmp 0x140051bd4
movss xmm10, dword [r13]
mov eax, 1
cmp byte [rbp + 0x31], al
jbe 0x140051c5a
movss xmm9, dword [r13 + 4]
jmp 0x140051c5e
movaps xmm9, xmm8
cmp byte [rbp + 0x31], 2
jbe 0x140051c6c
movss xmm7, dword [r13 + 8]
jmp 0x140051c70
movaps xmm7, xmm8
cmp byte [rbp + 0x31], 3
mov r15d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x40]
jbe 0x140051c8e
movss xmm6, dword [r13 + 0xc]
jmp 0x140051bf2
movaps xmm6, xmm8
jmp 0x140051bf2
movzx eax, byte [r13]
mov r15d, dword [rbp + rax*4 + 0x58]
mov dword [rsp + 0x38], r15d
jmp 0x140051bea
mov r15d, dword [r13]
jmp 0x140051ca1
movzx r15d, byte [r13 + 2]
movzx eax, word [r13]
shl r15d, 0x10
or r15d, eax
jmp 0x140051ca1
movzx r15d, word [r13]
jmp 0x140051ca1
comiss xmm10, xmm11
jbe 0x140051ce3
movaps xmm0, xmm10
mulss xmm0, xmm12
cvttss2si eax, xmm0
mov word [rsp + 0x40], ax
comiss xmm9, xmm8
jbe 0x140051cef
mov word [rbp - 0x60], bx
jmp 0x140051d06
comiss xmm9, xmm11
jbe 0x140051d06
movaps xmm0, xmm9
mulss xmm0, xmm12
cvttss2si eax, xmm0
mov word [rbp - 0x60], ax
comiss xmm7, xmm8
jbe 0x140051d13
mov word [rsp + 0x58], bx
jmp 0x140051d2a
comiss xmm7, xmm11
jbe 0x140051d2a
movaps xmm0, xmm7
mulss xmm0, xmm12
cvttss2si eax, xmm0
mov word [rsp + 0x58], ax
comiss xmm6, xmm8
ja 0x14005203d
comiss xmm6, xmm11
jbe 0x140052067
movaps xmm0, xmm6
mulss xmm0, xmm12
cvttss2si eax, xmm0
jmp 0x140052062
comiss xmm10, xmm8
mov r15d, edi
mov dword [rsp + 0x38], edi
jbe 0x140051d64
mov r15d, 0xff
jmp 0x140051d78
comiss xmm10, xmm11
jbe 0x140051d83
movaps xmm0, xmm10
mulss xmm0, xmm13
cvttss2si r15d, xmm0
mov cl, byte [rbp + 0x3c]
shl r15d, cl
mov dword [rsp + 0x38], r15d
comiss xmm9, xmm8
jbe 0x140051d90
mov eax, 0xff
jmp 0x140051da3
comiss xmm9, xmm11
jbe 0x140051db0
movaps xmm0, xmm9
mulss xmm0, xmm13
cvttss2si eax, xmm0
mov cl, byte [rbp + 0x3d]
shl eax, cl
or r15d, eax
mov dword [rsp + 0x38], r15d
comiss xmm7, xmm8
jbe 0x140051dbd
mov eax, 0xff
jmp 0x140051dcf
comiss xmm7, xmm11
jbe 0x140051ddc
movaps xmm0, xmm7
mulss xmm0, xmm13
cvttss2si eax, xmm0
mov cl, byte [rbp + 0x3e]
shl eax, cl
or r15d, eax
mov dword [rsp + 0x38], r15d
comiss xmm6, xmm8
jbe 0x140051def
mov cl, byte [rbp + 0x3f]
mov eax, 0xff
jmp 0x140051eab
comiss xmm6, xmm11
jbe 0x140052067
mov cl, byte [rbp + 0x3f]
movaps xmm0, xmm6
mulss xmm0, xmm13
cvttss2si eax, xmm0
jmp 0x140051eab
cmp byte [rbp + 0x32], 0x10
jne 0x140051eba
cmp byte [rbp + 0x463], dil
je 0x140051e68
movzx eax, dx
movd xmm10, eax
movzx eax, word [rbp - 0x60]
cvtdq2ps xmm10, xmm10
movd xmm9, eax
movzx eax, word [rsp + 0x58]
cvtdq2ps xmm9, xmm9
movd xmm7, eax
movzx eax, cx
cvtdq2ps xmm7, xmm7
movd xmm6, eax
cvtdq2ps xmm6, xmm6
divss xmm10, xmm12
divss xmm6, xmm12
divss xmm9, xmm12
divss xmm7, xmm12
jmp 0x140052067
cmp byte [rbp + 0x462], 0x10
je 0x140052067
movzx eax, word [rsp + 0x58]
shr eax, 8
movzx r15d, cx
mov cl, byte [rbp + 0x3f]
shr r15d, 8
shl r15d, cl
mov cl, byte [rbp + 0x3e]
shl eax, cl
mov cl, byte [rbp + 0x3d]
or r15d, eax
movzx eax, word [rbp - 0x60]
shr eax, 8
shl eax, cl
mov cl, byte [rbp + 0x3c]
or r15d, eax
movzx eax, dx
shr eax, 8
shl eax, cl
or r15d, eax
mov dword [rsp + 0x38], r15d
jmp 0x140052067
cmp byte [rbp + 0x463], dil
je 0x140051f9c
cmp byte [rbp + 0x38], dil
jne 0x140051ed3
movaps xmm10, xmm8
jmp 0x140051efa
mov eax, dword [rbp + 0x40]
xorps xmm10, xmm10
movzx ecx, byte [rbp + 0x3c]
and eax, r15d
shr eax, cl
xorps xmm0, xmm0
cvtsi2ss xmm10, rax
mov eax, dword [rbp + 0x40]
shr eax, cl
cvtsi2ss xmm0, rax
divss xmm10, xmm0
cmp byte [rbp + 0x39], dil
jne 0x140051f06
movaps xmm9, xmm8
jmp 0x140051f2d
mov eax, dword [rbp + 0x44]
xorps xmm9, xmm9
movzx ecx, byte [rbp + 0x3d]
and eax, r15d
shr eax, cl
xorps xmm0, xmm0
cvtsi2ss xmm9, rax
mov eax, dword [rbp + 0x44]
shr eax, cl
cvtsi2ss xmm0, rax
divss xmm9, xmm0
cmp byte [rbp + 0x3a], dil
jne 0x140051f39
movaps xmm7, xmm8
jmp 0x140051f5e
mov eax, dword [rbp + 0x48]
xorps xmm7, xmm7
movzx ecx, byte [rbp + 0x3e]
and eax, r15d
shr eax, cl
xorps xmm0, xmm0
cvtsi2ss xmm7, rax
mov eax, dword [rbp + 0x48]
shr eax, cl
cvtsi2ss xmm0, rax
divss xmm7, xmm0
cmp byte [rbp + 0x3b], dil
jne 0x140051f6d
movaps xmm6, xmm8
jmp 0x140052067
mov r8d, dword [rbp + 0x4c]
xorps xmm6, xmm6
movzx ecx, byte [rbp + 0x3f]
mov eax, r8d
and eax, r15d
xorps xmm0, xmm0
shr eax, cl
shr r8d, cl
cvtsi2ss xmm6, rax
mov eax, r8d
cvtsi2ss xmm0, rax
divss xmm6, xmm0
jmp 0x140052067
cmp byte [rbp + 0x462], 8
jbe 0x140052067
cmp byte [rbp + 0x38], dil
jne 0x140051fb6
mov word [rsp + 0x40], bx
jmp 0x140051fd9
movzx ecx, byte [rbp + 0x3c]
xor edx, edx
mov eax, dword [rbp + 0x40]
mov r8d, dword [rbp + 0x40]
and eax, r15d
shr eax, cl
imul eax, eax, 0xffff
shr r8d, cl
div r8d
mov word [rsp + 0x40], ax
cmp byte [rbp + 0x39], dil
jne 0x140051fe5
mov word [rbp - 0x60], bx
jmp 0x140052007
movzx ecx, byte [rbp + 0x3d]
xor edx, edx
mov eax, dword [rbp + 0x44]
mov r8d, dword [rbp + 0x44]
and eax, r15d
shr eax, cl
imul eax, eax, 0xffff
shr r8d, cl
div r8d
mov word [rbp - 0x60], ax
cmp byte [rbp + 0x3a], dil
jne 0x140052014
mov word [rsp + 0x58], bx
jmp 0x140052037
movzx ecx, byte [rbp + 0x3e]
xor edx, edx
mov eax, dword [rbp + 0x48]
mov r8d, dword [rbp + 0x48]
and eax, r15d
shr eax, cl
imul eax, eax, 0xffff
shr r8d, cl
div r8d
mov word [rsp + 0x58], ax
cmp byte [rbp + 0x3b], dil
jne 0x140052044
mov word [rsp + 0x30], bx
jmp 0x140052067
mov r8d, dword [rbp + 0x4c]
xor edx, edx
movzx ecx, byte [rbp + 0x3f]
mov eax, r8d
and eax, r15d
shr r8d, cl
shr eax, cl
imul eax, eax, 0xffff
div r8d
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x74]
mov r8d, 1
cmp eax, r8d
jne 0x1400520c0
mov ecx, dword [rbp - 0x3c]
test ecx, ecx
je 0x1400520ba
sub ecx, r8d
je 0x1400520a2
sub ecx, r8d
je 0x140052099
cmp ecx, r8d
jne 0x1400520c0
movzx eax, byte [r10]
mov edx, dword [rbp + rax*4 + 0x8b8]
jmp 0x1400520b0
mov edx, dword [r10]
mov dword [rsp + 0x48], edx
jmp 0x1400520c4
movzx edx, byte [r10 + 2]
movzx eax, word [r10]
shl edx, 0x10
or edx, eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x48], edx
jmp 0x1400520c4
movzx edx, word [r10]
jmp 0x14005209c
mov edx, dword [rsp + 0x48]
cmp byte [rbp + 0x463], dil
jne 0x140052276
mov cl, byte [rbp + 0x3c]
mov r10d, dword [rbp + 0x40]
mov r11d, dword [rbp + 0x44]
and r10d, r15d
mov ebx, dword [rbp + 0x48]
and r11d, r15d
shr r10d, cl
and ebx, r15d
mov cl, byte [rbp + 0x3d]
shr r11d, cl
mov cl, byte [rbp + 0x3e]
shr ebx, cl
cmp byte [rbp + 0x46b], dil
je 0x140052130
cmp dword [rbp + 0xf00], r8d
jne 0x140052130
cmp r10d, dword [rbp - 0x10]
jne 0x14005211e
cmp r11d, dword [rbp - 0x14]
jne 0x14005211e
cmp ebx, dword [rbp - 0x18]
jne 0x14005211e
mov r8d, edi
jmp 0x140052167
mov cl, byte [rbp + 0x46f]
mov r8d, dword [rbp + 0x47c]
shr r8d, cl
jmp 0x140052167
cmp eax, r8d
jne 0x140052147
mov cl, byte [rbp + 0x89c]
mov r8d, edx
and r8d, dword [rbp + 0x8a0]
jmp 0x1400521ab
cmp byte [rbp + 0x3b], dil
jne 0x140052194
mov cl, byte [rbp + 0x46f]
mov r8d, dword [rbp + 0x47c]
shr r8d, cl
cmp dword [rbp + 0xf20], edi
cmovne r8d, r10d
movzx ecx, byte [rsp + 0x70]
test cl, cl
je 0x1400521d3
mov r15d, dword [rbp]
test r15d, r15d
je 0x1400521d3
test cl, cl
jns 0x1400521d0
mov ecx, dword [rbp - 0x80]
mov eax, r10d
imul eax, dword [rbp + 4]
xor edx, edx
shl r10d, cl
div r15d
add r10d, eax
jmp 0x1400521d3
cmp dword [rbp + 0x47c], edi
jne 0x1400521a1
mov r8d, edi
jmp 0x14005215d
mov r8d, dword [rbp + 0x4c]
mov cl, byte [rbp + 0x3f]
and r8d, r15d
shr r8d, cl
movzx ecx, byte [rsp + 0x54]
test cl, cl
je 0x14005215d
jns 0x14005215a
mov ecx, dword [rbp - 0x70]
mov eax, r8d
imul eax, dword [rbp - 0x20]
xor edx, edx
shl r8d, cl
div dword [rbp - 0x1c]
add r8d, eax
jmp 0x14005215d
shr r10d, cl
movzx ecx, byte [rsp + 0x71]
test cl, cl
je 0x140052204
mov r15d, dword [rbp + 8]
test r15d, r15d
je 0x140052204
test cl, cl
jns 0x140052201
mov ecx, dword [rsp + 0x68]
mov eax, r11d
imul eax, dword [rbp + 0xc]
xor edx, edx
shl r11d, cl
div r15d
add r11d, eax
jmp 0x140052204
shr r11d, cl
movzx ecx, byte [rsp + 0x55]
test cl, cl
je 0x140052231
mov r15d, dword [rbp + 0x10]
test r15d, r15d
je 0x140052231
test cl, cl
jns 0x14005222f
mov ecx, dword [rsp + 0x60]
mov eax, ebx
imul eax, dword [rbp + 0x14]
xor edx, edx
shl ebx, cl
div r15d
add ebx, eax
jmp 0x140052231
shr ebx, cl
cmp dword [rbp + 0xf18], edi
je 0x14005223f
mov r10d, edi
mov r11d, edi
mov cl, byte [rbp + 0x46e]
mov edx, edi
cmove edx, ebx
shl edx, cl
mov cl, byte [rbp + 0x46f]
shl r8d, cl
mov cl, byte [rbp + 0x46d]
or edx, r8d
shl r11d, cl
mov cl, byte [rbp + 0x46c]
or edx, r11d
shl r10d, cl
or edx, r10d
mov dword [rsp + 0x3c], edx
jmp 0x14005227a
mov edx, dword [rsp + 0x3c]
cmp byte [rbp - 0x38], dil
je 0x14005242b
mov r11d, dword [rbp + 0x47c]
mov ebx, edx
mov r10d, dword [rbp + 0x470]
mov r13d, r11d
mov ecx, dword [rbp + 0xf10]
mov r15d, esi
mov r12d, r9d
and r13d, edx
and ebx, r10d
and r15d, edx
and r12d, edx
sub ecx, 1
je 0x140052363
cmp ecx, 1
jne 0x1400523f5
mov ecx, dword [rsp + 0x38]
mov r8d, dword [rbp - 0x24]
mov eax, dword [rbp - 0x30]
and eax, ecx
add r8d, eax
mov eax, dword [rbp - 0x34]
and eax, ecx
add dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x78]
and eax, ecx
add dword [rbp - 0x2c], eax
mov eax, dword [rsp + 0x44]
and eax, ecx
mov cl, byte [rbp + 0x46c]
add dword [rbp - 8], eax
mov eax, edi
cmp r8d, dword [rbp - 0x30]
seta al
shl eax, cl
mov ecx, dword [rbp - 0x34]
add ebx, eax
cmp dword [rbp - 0x28], ecx
mov eax, edi
mov cl, byte [rbp + 0x46d]
seta al
shl eax, cl
mov ecx, dword [rsp + 0x78]
add r15d, eax
cmp dword [rbp - 0x2c], ecx
mov eax, edi
mov cl, byte [rbp + 0x46e]
seta al
shl eax, cl
mov ecx, dword [rsp + 0x44]
add r12d, eax
cmp dword [rbp - 8], ecx
mov eax, edi
mov cl, byte [rbp + 0x46f]
seta al
and r8d, dword [rbp - 0x30]
shl eax, cl
add r13d, eax
mov dword [rbp - 0x24], r8d
mov eax, dword [rbp - 0x34]
and dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x78]
and dword [rbp - 0x2c], eax
mov eax, dword [rsp + 0x44]
and dword [rbp - 8], eax
jmp 0x1400523f5
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov eax, dword [rbp - 0x44]
and ecx, 3
and eax, 3
lea r8d, [rax + rcx*4]
mov cl, byte [rbp + 0x46c]
mov eax, dword [rbp - 0x30]
and eax, dword [rsp + 0x38]
cmp eax, dword [rbp + r8*4 + 0xcc0]
mov eax, dword [rbp - 0x34]
seta dl
and eax, dword [rsp + 0x38]
shl edx, cl
mov cl, byte [rbp + 0x46d]
add ebx, edx
cmp eax, dword [rbp + r8*4 + 0xd00]
mov edx, edi
mov eax, dword [rsp + 0x78]
seta dl
and eax, dword [rsp + 0x38]
shl edx, cl
mov cl, byte [rbp + 0x46e]
add r15d, edx
cmp eax, dword [rbp + r8*4 + 0xd40]
mov edx, edi
mov eax, dword [rsp + 0x44]
seta dl
and eax, dword [rsp + 0x38]
shl edx, cl
mov cl, byte [rbp + 0x46f]
add r12d, edx
cmp eax, dword [rbp + r8*4 + 0xd80]
mov edx, edi
seta dl
shl edx, cl
add r13d, edx
mov edx, dword [rsp + 0x3c]
cmp ebx, r10d
cmova ebx, r10d
cmp r15d, esi
cmova r15d, esi
cmp r12d, r9d
cmova r12d, r9d
cmp r13d, r11d
cmova r13d, r11d
and edx, dword [rbp + 0x18]
or edx, r13d
mov r13, qword [rbp - 0x68]
or edx, r12d
mov r12, qword [rbp - 0x50]
or edx, r15d
or edx, ebx
mov dword [rsp + 0x3c], edx
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x140052575
sub ecx, 1
je 0x140052564
sub ecx, 1
je 0x140052559
sub ecx, 1
je 0x140052553
sub ecx, 1
je 0x140052513
sub ecx, 1
je 0x1400524bb
cmp ecx, 1
jne 0x14005258e
mov eax, dword [rsp + 0x40]
mov ecx, 1
mov word [r12], ax
mov al, byte [rbp + 0x461]
cmp al, cl
jbe 0x140052490
mov eax, dword [rbp - 0x60]
mov word [r12 + 2], ax
mov al, byte [rbp + 0x461]
cmp al, 2
jbe 0x1400524a4
mov eax, dword [rsp + 0x58]
mov word [r12 + 4], ax
mov al, byte [rbp + 0x461]
cmp al, 3
jbe 0x140052581
mov eax, dword [rsp + 0x30]
mov word [r12 + 6], ax
jmp 0x140052581
movaps xmm0, xmm10
call fcn.140043340
mov word [r12], ax
mov ecx, 1
mov al, byte [rbp + 0x461]
cmp al, cl
jbe 0x1400524ed
movaps xmm0, xmm9
call fcn.140043340
mov word [r12 + 2], ax
mov al, byte [rbp + 0x461]
cmp al, 2
jbe 0x140052505
movaps xmm0, xmm7
call fcn.140043340
mov word [r12 + 4], ax
mov al, byte [rbp + 0x461]
cmp al, 3
jbe 0x140052581
movaps xmm0, xmm6
call fcn.140043340
jmp 0x1400524b0
movss dword [r12], xmm10
mov ecx, 1
mov al, byte [rbp + 0x461]
cmp al, cl
jbe 0x140052535
movss dword [r12 + 4], xmm9
mov al, byte [rbp + 0x461]
cmp al, 2
jbe 0x140052546
movss dword [r12 + 8], xmm7
mov al, byte [rbp + 0x461]
cmp al, 3
jbe 0x140052581
movss dword [r12 + 0xc], xmm6
jmp 0x140052581
mov byte [r12], dl
jmp 0x140052581
mov eax, dword [rbp - 0x40]
or eax, edx
mov dword [r12], eax
jmp 0x140052581
mov eax, edx
mov word [r12], dx
shr eax, 0x10
mov byte [r12 + 2], al
jmp 0x140052581
movzx eax, dx
or ax, word [rbp - 0x40]
mov word [r12], ax
mov esi, dword [rbp + 0x474]
mov r9d, dword [rbp + 0x478]
movzx eax, byte [rbp + 0x34]
mov ebx, 0xffff
mov edx, dword [rbp - 0x44]
add r13, rax
mov r10, qword [rbp - 0x58]
inc edx
movzx eax, byte [rbp + 0x894]
movsxd rcx, dword [rbp - 0x78]
add r10, rax
add r12, rcx
mov dword [rbp - 0x44], edx
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x58], r10
cmp edx, r14d
jl 0x140051aed
mov esi, dword [rsp + 0x50]
mov r11d, 1
mov ecx, dword [rsp + 0x4c]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov r8d, dword [rbp - 0x48]
add ecx, r11d
add r12, rax
add r13, rdx
mov dword [rsp + 0x4c], ecx
add r10, r8
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x58], r10
cmp ecx, esi
jl 0x140051adb
jmp 0x140051403
or eax, 0xffffffff
mov rcx, qword [rbp + 0xdc0]
xor rcx, rsp
call fcn.1400bdaf0
lea r11, [rsp + 0xf58]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret