Function at 0x14029c770
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
mov rax, qword [rcx + 0x8290]
mov esi, dword [rcx + 0x7954]
mov r9d, dword [rdx + 0x5814]
mov r8d, dword [rdx + 0x5810]
mov r13, rcx
mov r15, rdx
mov rdi, rax
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x8288]
imul esi, r9d
mov ebx, dword [rdi + 0xc]
mov eax, dword [rax + 0x40]
add esi, r8d
cmp dword [rdx + 0x620], 1
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x72e8]
mov dword [rdx + 0x5818], esi
mov dword [rsp + 0x54], eax
je 0x14029cae0
mov eax, dword [rcx + 0x76b8]
test eax, eax
je 0x14029c9f0
test r9b, 1
je 0x14029c9f0
mov eax, dword [rdx + 0x5768]
test eax, eax
je 0x14029c9f0
mov r14d, dword [rdx + 0x576c]
test r14d, r14d
je 0x14029ccf7
movsxd rsi, esi
movsxd rbx, dword [r15 + 0x5818]
mov dword [rsp + 0x12c], 0
lea rax, [rbx + rbx*2]
shl rax, 4
add rax, qword [r13 + 0x7510]
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [rax + 0x28], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x30]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov edi, dword [r15 + 0x5838]
mov r8d, dword [rsp + 0x12c]
test edi, edi
je 0x14029c877
or r8b, 0x80
cmp dword [r15 + 0x620], 3
je 0x14029ce05
or r8d, 0x3808
mov rdx, r15
mov rcx, r13
mov dword [rsp + 0x12c], r8d
call fcn.140298c50
mov r11d, dword [r15 + 0x57c8]
mov r8, qword [r13 + 0x6d80]
mov rdx, qword [r13 + 0x6d40]
mov eax, dword [r13 + 0x76a8]
mov dword [r15 + 0x778c], 0
mov dword [r15 + 0x7794], 0
test r11d, 0x3000
mov dword [r15 + 0x779c], 0
mov dword [r15 + 0x77a4], 0
je 0x14029d070
mov rcx, qword [r15 + 0x57d0]
movsxd r10, dword [r15 + 0x57b4]
mov rdi, qword [r13 + 0x7698]
movzx ecx, byte [rcx]
mov r9d, ecx
and r9d, 0xfffffffe
imul ecx, eax
add ecx, dword [rdi + r10*4]
lea r9d, [r9 + r10*4 + 1]
mov r10d, dword [r13 + 0x76b8]
movsxd r9, r9d
movsx r9d, byte [r8 + r9]
add ecx, 3
test r10d, r10d
lea rcx, [rdx + rcx*4]
je 0x14029c980
mov r14d, dword [r15 + 0x5838]
test r14d, r14d
je 0x14029fc60
and r11d, 0x80
jne 0x14029c980
mov ecx, dword [rcx]
add r9d, r9d
mov dword [rsp + 0x130], ecx
shr ecx, 0x10
mov r10d, ecx
shr r10w, 0xf
add ecx, r10d
sar cx, 1
mov word [rsp + 0x132], cx
lea rcx, [rsp + 0x130]
mov edi, r9d
or edi, dword [rcx]
jne 0x14029d086
mov qword [r15 + 0x7670], 0
mov qword [r15 + 0x7678], 0
mov qword [r15 + 0x7690], 0
mov qword [r15 + 0x7698], 0
mov qword [r15 + 0x76b0], 0
mov qword [r15 + 0x76b8], 0
mov qword [r15 + 0x76d0], 0
mov qword [r15 + 0x76d8], 0
mov edx, dword [rsp + 0x12c]
jmp 0x14029ce48
mov rdx, r15
mov rcx, r13
call fcn.14029a5a0
test eax, eax
je 0x14029cae0
mov r12d, dword [r13 + 0x76b8]
test r12d, r12d
je 0x14029c817
test byte [r15 + 0x5814], 1
jne 0x14029c817
mov rax, qword [r13 + 0x6d58]
movsxd rsi, esi
mov rdx, r15
mov rcx, r13
mov dword [rax + rsi*4], 0x800
mov eax, dword [r15 + 0x5814]
mov r8d, dword [r15 + 0x5810]
lea r9d, [rax + 1]
call fcn.14029a5a0
test eax, eax
mov dword [r15 + 0x576c], eax
jne 0x14029c81a
mov eax, dword [r13 + 0x7954]
mov edx, dword [r15 + 0x5818]
xor r8d, r8d
mov ebp, dword [r15 + 0x5810]
add eax, eax
sub edx, eax
mov rax, qword [r13 + 0x76b0]
movsxd rdx, edx
movzx eax, word [rax + rdx*2]
cmp eax, dword [r15 + 0x618]
mov rax, qword [r13 + 0x6d58]
mov ecx, dword [rax + rdx*4]
sete r8b
mov eax, ecx
mov ecx, r8d
shr eax, 7
and ecx, eax
xor eax, eax
test ebp, ebp
setne al
and eax, dword [r15 + 0x5838]
lea eax, [rcx + rax]
lea rcx, [r15 + 0x8970]
lea rdx, [r15 + rax + 0x8a06]
call fcn.140298bb0
mov dword [r15 + 0x5838], eax
mov dword [r15 + 0x583c], eax
jmp 0x14029c81a
mov r9d, dword [r13 + 0x76b8]
test r9d, r9d
jne 0x14029ccf0
mov r8d, dword [r15 + 0x5838]
neg r8d
mov dword [r15 + 0x5768], 0
mov rdx, r15
mov rcx, r13
call fcn.140298c50
mov edi, dword [r15 + 0x620]
cmp edi, 3
je 0x14029cd90
cmp edi, 2
je 0x14029dac0
mov r8d, 1
mov edx, 3
mov rcx, r15
call fcn.14029a420
cmp dword [r15 + 0x61c], 5
jne 0x14029cb51
test eax, eax
setne dl
cmp dl, 1
adc eax, 0xffffffff
mov rdx, qword [0x140441ba0]
cdqe
movzx edi, byte [rdx + rax*4 + 3]
movzx ecx, byte [rdx + rax*4 + 2]
movzx r8d, word [rdx + rax*4]
mov dword [rsp + 0x48], edi
mov dword [r15 + 0x5774], ecx
xor edi, edi
mov dword [rsp + 0x124], r8d
mov ecx, dword [r15 + 0x5838]
test ecx, ecx
je 0x14029cb95
or r8b, 0x80
mov dword [rsp + 0x124], r8d
movsxd rax, esi
mov edx, dword [r15 + 0x618]
mov rsi, rax
mov qword [rsp + 0x68], rax
add rax, rax
mov qword [rsp + 0x70], rax
mov rax, qword [r13 + 0x76b0]
mov word [rax + rsi*2], dx
mov eax, r8d
and eax, 4
mov dword [rsp + 0x50], eax
je 0x14029d200
mov rdi, qword [rsp + 0x40]
mov rax, qword [0x140442170]
mov ecx, dword [r15 + 0x8970]
movsxd rdx, dword [rdi + 0xc]
mov r8d, ecx
and r8d, 1
movzx eax, word [rax + rdx*2]
mov rdx, qword [r15 + 0x8988]
imul eax, dword [rdi + 0x4a0]
sar eax, 3
cmp r8d, 1
mov r8, qword [r15 + 0x8990]
adc rdx, 0xffffffffffffffff
and ecx, 0x1ff
cmp ecx, 1
adc rdx, 0xffffffffffffffff
mov rcx, r8
sub rcx, rdx
cmp eax, ecx
jg 0x14029dc87
cdqe
mov qword [r15 + 0x7580], rdx
lea rcx, [r15 + 0x8970]
add rdx, rax
sub r8d, edx
call fcn.140297d30
test eax, eax
mov dword [rsp + 0x50], eax
js 0x14029ccd1
mov rax, qword [r13 + 0x76d0]
mov rdi, qword [rsp + 0x68]
mov edx, 0xfffff7ef
movabs rbx, 0x1010101010101010
mov dword [rsp + 0x50], 0
mov word [rax + rdi*2], dx
mov rax, qword [r13 + 0x76d8]
mov byte [rax + rdi], 0
mov rax, qword [r13 + 0x6d28]
mov byte [rax + rdi], 0
mov rax, qword [rsp + 0x70]
add rax, rdi
shl rax, 4
add rax, qword [r13 + 0x7510]
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], rbx
mov edx, dword [rsp + 0x124]
mov rax, qword [r13 + 0x6d58]
mov dword [rax + rdi*4], edx
mov dword [r15 + 0x638], 0
mov eax, dword [rsp + 0x50]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [r15 + 0x5814]
and r9d, 1
jne 0x14029caf0
mov eax, dword [r13 + 0x7954]
mov edx, dword [r15 + 0x5818]
xor r8d, r8d
lea r14, [r15 + 0x8970]
add eax, eax
sub edx, eax
mov rax, qword [r13 + 0x76b0]
movsxd rdx, edx
movzx eax, word [rax + rdx*2]
cmp eax, dword [r15 + 0x618]
mov rax, qword [r13 + 0x6d58]
mov ecx, dword [rax + rdx*4]
sete r8b
mov eax, ecx
mov ecx, r8d
mov r8d, dword [r15 + 0x5810]
shr eax, 7
and ecx, eax
xor eax, eax
test r8d, r8d
setne al
and eax, dword [r15 + 0x5838]
lea eax, [rcx + rax]
mov rcx, r14
lea rdx, [r15 + rax + 0x8a06]
call fcn.140298bb0
mov r8d, eax
mov dword [r15 + 0x5838], eax
mov dword [r15 + 0x583c], eax
jmp 0x14029caf7
mov eax, dword [r15 + 0x57c8]
mov edi, dword [r15 + 0x57c0]
lea r14, [r15 + 0x8970]
mov rcx, r14
sub eax, 1
lea edx, [rdi - 1]
test ah, 1
sete al
and edx, 0x100
cmp edx, 1
movzx eax, al
adc eax, 0
add eax, 0x1b
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
test eax, eax
jne 0x14029dcb0
mov rdx, qword [0x140441980]
cdqe
mov dword [rsp + 0x48], 0
movzx r8d, word [rdx + rax*4]
movzx edi, byte [rdx + rax*4 + 2]
mov dword [rsp + 0x124], r8d
jmp 0x14029cb7e
mov r11d, dword [r15 + 0x5848]
or r8d, 0xf900
mov dword [rsp + 0x12c], r8d
test r11d, r11d
jne 0x14029dd54
lea r8, [rsp + 0x12c]
mov rdx, r15
mov rcx, r13
call fcn.14016bd50
mov edx, dword [rsp + 0x12c]
or dh, 8
mov dword [rsp + 0x12c], edx
movsxd rcx, dword [r13 + 0x76a8]
mov eax, dword [r15 + 0x5814]
mov r8d, dword [r15 + 0x5810]
shl eax, 2
imul eax, ecx
test dh, 0x30
lea r8d, [rax + r8*4]
movsxd rax, dword [r15 + 0x5818]
lea r11d, [rax*4]
je 0x14029d790
mov r10, qword [r13 + 0x6d40]
movsxd rdi, ecx
movsxd r9, r8d
lea r9, [r10 + r9*4]
lea r10, [rdi*4]
movaps xmm0, xmmword [r15 + 0x7670]
movaps xmmword [r9], xmm0
add r9, r10
movaps xmm0, xmmword [r15 + 0x7690]
movaps xmmword [r9], xmm0
add r9, r10
movaps xmm0, xmmword [r15 + 0x76b0]
movaps xmmword [r9], xmm0
movaps xmm0, xmmword [r15 + 0x76d0]
movaps xmmword [r9 + rdi*4], xmm0
mov r9, qword [r13 + 0x76a0]
test dh, 8
mov r9d, dword [r9 + rax*4]
mov rax, qword [r15 + 0x8960]
lea rax, [rax + r9*2]
je 0x14029dbe0
pxor xmm0, xmm0
movdqa xmmword [rax], xmm0
movsxd rax, r11d
movzx r10d, byte [r15 + 0x778c]
mov r9, rax
add r9, qword [r13 + 0x6d80]
mov byte [r9], r10b
movzx r10d, byte [r15 + 0x778e]
mov byte [r9 + 1], r10b
movzx r10d, byte [r15 + 0x779c]
mov byte [r9 + 2], r10b
movzx r10d, byte [r15 + 0x779e]
mov byte [r9 + 3], r10b
test dh, 0xc0
je 0x14029cfe8
mov r9, qword [r13 + 0x6d48]
movsxd r8, r8d
lea r8, [r9 + r8*4]
lea r9, [rcx*4]
movaps xmm0, xmmword [r15 + 0x7710]
movaps xmmword [r8], xmm0
add r8, r9
movaps xmm0, xmmword [r15 + 0x7730]
movaps xmmword [r8], xmm0
add r8, r9
movaps xmm0, xmmword [r15 + 0x7750]
movaps xmmword [r8], xmm0
movaps xmm0, xmmword [r15 + 0x7770]
movaps xmmword [r8 + rcx*4], xmm0
movsxd r8, dword [r15 + 0x5818]
mov rcx, qword [r13 + 0x76a0]
test dh, 8
mov r8d, dword [rcx + r8*4]
mov rcx, qword [r15 + 0x8968]
lea rcx, [rcx + r8*2]
je 0x14029dc20
pxor xmm0, xmm0
movdqa xmmword [rcx], xmm0
movzx ecx, byte [r15 + 0x77b4]
add rax, qword [r13 + 0x6d88]
mov byte [rax], cl
movzx ecx, byte [r15 + 0x77b6]
mov byte [rax + 1], cl
movzx ecx, byte [r15 + 0x77c4]
mov byte [rax + 2], cl
movzx ecx, byte [r15 + 0x77c6]
mov byte [rax + 3], cl
cmp dword [r15 + 0x620], 3
je 0x14029d7c0
mov rax, qword [r13 + 0x6d58]
mov edx, dword [rsp + 0x12c]
xor r10d, r10d
mov dword [rsp + 0x50], 0
mov dword [rax + rbx*4], edx
mov rax, qword [r13 + 0x6d28]
mov edx, dword [r15 + 0x628]
mov byte [rax + rbx], dl
mov rax, qword [r13 + 0x76b0]
mov edx, dword [r15 + 0x618]
mov word [rax + rbx*2], dx
mov rax, qword [r13 + 0x76d0]
mov dword [r15 + 0x5768], 1
mov word [rax + rsi*2], r10w
mov rax, qword [r13 + 0x76d8]
mov byte [rax + rsi], 0
mov dword [r15 + 0x638], 0
jmp 0x14029ccd1
test r11d, r11d
je 0x14029c98b
lea rcx, [0x1404249e0]
mov r9d, 0xffffffff
mov ebp, dword [r15 + 0x57c0]
mov r11d, ebp
and r11d, 0x3000
jne 0x14029e080
test ebp, ebp
je 0x14029c98b
lea r10, [0x1404249e0]
mov edi, 0xffffffff
mov ebp, dword [r15 + 0x57c4]
mov r14d, ebp
and r14d, 0x3000
je 0x14029fbb0
mov r14d, dword [r15 + 0x57b0]
lea eax, [rax + rax*2]
lea r12d, [r14*4]
mov r14, qword [r13 + 0x7698]
movsxd r12, r12d
add eax, dword [r14 + r12]
movsx r8d, byte [r8 + r12 + 2]
lea r12, [rdx + rax*4]
mov eax, dword [r13 + 0x76b8]
test eax, eax
je 0x14029fc90
mov eax, dword [r15 + 0x5838]
test eax, eax
je 0x1402a392e
and ebp, 0x80
jne 0x14029fc90
mov eax, dword [r12]
mov dword [rsp + 0x138], eax
shr eax, 0x10
mov edx, eax
shr dx, 0xf
add eax, edx
sar ax, 1
xor r14d, r14d
lea r12, [rsp + 0x138]
add r8d, r8d
mov word [rsp + 0x13a], ax
sete r14b
nop
add r11d, r14d
xor eax, eax
test r9d, r9d
sete al
add r11d, eax
cmp r11d, 1
jle 0x1402a1480
movsx eax, word [r10]
movsx r8d, word [r12]
movsx edx, word [rcx]
movsx ecx, word [rcx + 2]
mov edi, eax
cmp edx, edi
cmovg eax, edx
cmovg edx, edi
cmp edx, r8d
cmovl edx, r8d
cmp eax, edx
cmovg eax, edx
mov edx, eax
movsx eax, word [r10 + 2]
movsx r8d, word [r12 + 2]
mov edi, eax
cmp ecx, edi
cmovg eax, ecx
cmovg ecx, edi
cmp ecx, r8d
cmovl ecx, r8d
cmp eax, ecx
cmovg eax, ecx
movzx edx, dx
shl eax, 0x10
add eax, edx
mov rdx, rax
shl rdx, 0x20
add rax, rdx
mov qword [r15 + 0x7670], rax
mov qword [r15 + 0x7678], rax
mov qword [r15 + 0x7690], rax
mov qword [r15 + 0x7698], rax
mov qword [r15 + 0x76b0], rax
mov qword [r15 + 0x76b8], rax
mov qword [r15 + 0x76d0], rax
mov qword [r15 + 0x76d8], rax
jmp 0x14029c9e3
lea eax, [rbx - 1]
mov rdx, r15
mov rcx, r13
mov dword [rsp + 0xe0], eax
call fcn.140298e70
mov edx, dword [rsp + 0x124]
test dl, 7
je 0x14029db30
and edx, 1
je 0x14029f5b2
mov eax, dword [rsp + 0x60]
lea r14, [r15 + 0x8970]
test eax, eax
jne 0x14029e463
lea rsi, [r15 + 0x8a05]
mov qword [rsp + 0x190], r13
lea r8, [r15 + 0x8a04]
lea r9, [0x140426a01]
lea rdi, [0x140426a10]
mov edx, 0xc
mov r13, rsi
jmp 0x14029d278
movzx edx, byte [r9]
add r9, 1
lea eax, [rdx - 1]
lea ecx, [rdx - 8]
mov ebx, 2
cdqe
movsxd rcx, ecx
movsx eax, byte [r15 + rax + 0x5778]
movsx ecx, byte [r15 + rcx + 0x5778]
cmp eax, ecx
cmovg eax, ecx
test eax, eax
cmovs eax, ebx
lea rbx, [0x140423560]
mov r11d, dword [r15 + 0x8970]
mov r10d, dword [r15 + 0x8974]
movzx esi, byte [r8]
mov ebp, r10d
and r10d, 0xc0
lea ecx, [esi + r10d*2]
movzx r10d, byte [rbx + rcx + 0x200]
sub ebp, r10d
mov ecx, ebp
shl ebp, 0x11
cmp ebp, r11d
cmova r10d, ecx
sbb rcx, rcx
and ebp, ecx
xor rsi, rcx
sub r11d, ebp
movzx ecx, byte [rbx + r10]
shl r10d, cl
movzx ebp, byte [rbx + rsi + 0x480]
shl r11d, cl
mov byte [r8], bpl
test r11w, r11w
jne 0x14029d33b
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [r11d - 1]
xor ecx, r11d
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [rbx + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add r11d, ebp
and esi, 1
mov dword [r14], r11d
mov dword [r14 + 4], r10d
jne 0x14029d558
lea rbx, [0x140423560]
mov r11d, dword [r15 + 0x8970]
mov r10d, dword [r15 + 0x8974]
movzx esi, byte [r13]
mov ebp, r10d
and r10d, 0xc0
lea ecx, [esi + r10d*2]
movzx r10d, byte [rbx + rcx + 0x200]
sub ebp, r10d
mov ecx, ebp
shl ebp, 0x11
cmp ebp, r11d
cmova r10d, ecx
sbb rcx, rcx
and ebp, ecx
xor rsi, rcx
sub r11d, ebp
movzx ecx, byte [rbx + r10]
shl r10d, cl
movzx ebp, byte [rbx + rsi + 0x480]
shl r11d, cl
mov byte [r13], bpl
test r11w, r11w
jne 0x14029d3e4
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [r11d - 1]
xor ecx, r11d
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [rbx + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add r11d, ebp
mov dword [r14], r11d
mov dword [r14 + 4], r10d
lea rbx, [0x140423560]
mov r11d, dword [r15 + 0x8970]
mov r10d, dword [r15 + 0x8974]
movzx ebp, byte [r13]
mov r12d, r10d
and r10d, 0xc0
lea ecx, [ebp + r10d*2]
movzx r10d, byte [rbx + rcx + 0x200]
sub r12d, r10d
mov ecx, r12d
shl r12d, 0x11
cmp r12d, r11d
cmova r10d, ecx
sbb rcx, rcx
and r12d, ecx
xor rbp, rcx
sub r11d, r12d
movzx ecx, byte [rbx + r10]
shl r10d, cl
movzx r12d, byte [rbx + rbp + 0x480]
shl r11d, cl
mov byte [r13], r12b
test r11w, r11w
jne 0x14029d48e
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r12d, word [rcx]
lea ecx, [r11d - 1]
xor ecx, r11d
shr ecx, 0xf
bswap r12d
shr r12d, 0xf
movzx ecx, byte [rbx + rcx]
sub r12d, 0xffff
neg ecx
add ecx, 7
shl r12d, cl
add r11d, r12d
and ebp, 1
and esi, 1
mov dword [r14], r11d
mov dword [r14 + 4], r10d
lea ebp, [rsi + rbp*2]
lea rbx, [0x140423560]
mov r11d, dword [r15 + 0x8970]
mov r10d, dword [r15 + 0x8974]
movzx esi, byte [r13]
mov r12d, r10d
and r10d, 0xc0
lea ecx, [esi + r10d*2]
movzx r10d, byte [rbx + rcx + 0x200]
sub r12d, r10d
mov ecx, r12d
shl r12d, 0x11
cmp r12d, r11d
cmova r10d, ecx
sbb rcx, rcx
and r12d, ecx
xor rsi, rcx
sub r11d, r12d
movzx ecx, byte [rbx + r10]
shl r10d, cl
movzx r12d, byte [rbx + rsi + 0x480]
shl r11d, cl
mov byte [r13], r12b
test r11w, r11w
jne 0x14029d540
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r12d, word [rcx]
lea ecx, [r11d - 1]
xor ecx, r11d
shr ecx, 0xf
bswap r12d
shr r12d, 0xf
movzx ecx, byte [rbx + rcx]
sub r12d, 0xffff
neg ecx
add ecx, 7
shl r12d, cl
add r11d, r12d
and esi, 1
mov dword [r14], r11d
mov dword [r14 + 4], r10d
lea ecx, [rbp + rsi*4]
cmp eax, ecx
setle al
movzx eax, al
add eax, ecx
movsxd rdx, edx
cmp r9, rdi
mov byte [r15 + rdx + 0x5778], al
jne 0x14029d270
mov r13, qword [rsp + 0x190]
movsxd rdx, dword [r15 + 0x5818]
lea rcx, [r15 + 0x5778]
mov rax, qword [r13 + 0x76a0]
mov eax, dword [rax + rdx*4]
mov edx, dword [r15 + 0x579c]
add rax, qword [r15 + 0x57a0]
mov dword [rax], edx
movzx edx, byte [r15 + 0x5797]
mov byte [rax + 4], dl
movzx edx, byte [r15 + 0x578f]
mov byte [rax + 5], dl
movzx edx, byte [r15 + 0x5787]
mov byte [rax + 6], dl
mov rdx, qword [r13 + 8]
mov r9d, dword [r15 + 0x57e8]
mov r8d, dword [r15 + 0x57e0]
call fcn.14018dcc0
test eax, eax
js 0x14029dc87
cmp dword [rsp + 0xe0], 1
jbe 0x1402a14a0
mov edx, dword [rsp + 0x124]
mov dword [r15 + 0x5770], 6
test dl, 0x78
je 0x14029d747
mov rax, qword [r13 + 0x76d8]
mov rdi, qword [rsp + 0x68]
mov byte [rax + rdi], 0
movsxd rcx, dword [r13 + 0x76a8]
mov eax, dword [r15 + 0x5814]
mov edx, dword [r15 + 0x5810]
mov r8d, dword [rsp + 0x124]
shl eax, 2
imul eax, ecx
test r8d, 0x3000
lea r9d, [rax + rdx*4]
movsxd rax, dword [r15 + 0x5818]
lea edx, [rax*4]
jne 0x14029e150
movsxd rdx, edx
mov r11d, 0xffffffff
mov ebx, 0xffffffff
mov rax, rdx
add rax, qword [r13 + 0x6d80]
mov word [rax], r11w
mov word [rax + 2], bx
test r8d, 0xc000
je 0x14029d732
mov rax, qword [r13 + 0x6d48]
movsxd r9, r9d
lea r10, [rcx*4]
lea r9, [rax + r9*4]
movaps xmm0, xmmword [r15 + 0x7710]
movaps xmmword [r9], xmm0
lea rax, [r9 + r10]
movaps xmm0, xmmword [r15 + 0x7730]
movaps xmmword [rax], xmm0
add rax, r10
movaps xmm0, xmmword [r15 + 0x7750]
movaps xmmword [rax], xmm0
movaps xmm0, xmmword [r15 + 0x7770]
movaps xmmword [rax + rcx*4], xmm0
movsxd rcx, dword [r15 + 0x5818]
mov rax, qword [r13 + 0x76a0]
test r8d, 0x800
mov ecx, dword [rax + rcx*4]
mov rax, qword [r15 + 0x8968]
lea rax, [rax + rcx*2]
je 0x1402a02b0
pxor xmm0, xmm0
movdqa xmmword [rax], xmm0
movzx eax, byte [r15 + 0x77b4]
add rdx, qword [r13 + 0x6d88]
mov byte [rdx], al
movzx eax, byte [r15 + 0x77b6]
mov byte [rdx + 1], al
movzx eax, byte [r15 + 0x77c4]
mov byte [rdx + 2], al
movzx eax, byte [r15 + 0x77c6]
mov byte [rdx + 3], al
cmp dword [r15 + 0x620], 3
je 0x14029ffb1
mov edx, dword [rsp + 0x124]
mov esi, edx
and esi, 2
je 0x14029d810
cmp dword [rsp + 0xe0], 1
jbe 0x14029d970
cmp dword [rsp + 0x48], 0xf
jle 0x14029d970
mov rcx, qword [r13 + 8]
lea r8, str.gray_chroma_n
mov edx, 0x10
call fcn.14036cf30
mov dword [rsp + 0x50], 0xbebbb1b7
jmp 0x14029ccd1
movsxd rax, r11d
mov edi, 0xffffffff
mov r11d, 0xffffffff
mov r9, rax
add r9, qword [r13 + 0x6d80]
mov word [r9], r11w
mov word [r9 + 2], di
jmp 0x14029cf32
and edx, 0x40
je 0x14029cff6
mov eax, dword [r15 + 0x5818]
movzx edx, word [r15 + 0x789a]
shl eax, 2
cdqe
add rax, qword [r13 + 0x76f0]
shr dx, 1
mov byte [rax + 1], dl
movzx edx, word [r15 + 0x789c]
shr dx, 1
mov byte [rax + 2], dl
movzx edx, word [r15 + 0x789e]
shr dx, 1
mov byte [rax + 3], dl
jmp 0x14029cff6
mov ebp, dword [r15 + 0x585c]
mov edi, dword [r15 + 0x5858]
xor edx, edx
lea rbx, [r15 + 0x8970]
test bpl, 2
mov eax, edi
mov rcx, rbx
sete dl
and eax, 4
cmp eax, 1
sbb eax, eax
and edi, 8
and eax, 2
lea eax, [rdx + rax + 0x49]
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
mov edx, eax
mov r12d, eax
mov rcx, rbx
and edx, 1
xor edx, 1
cmp edi, 1
sbb eax, eax
and eax, 2
lea eax, [rdx + rax + 0x49]
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
lea edi, [r12 + rax*2]
xor edx, edx
and ebp, 8
sete dl
mov rcx, rbx
mov eax, edi
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 2
lea eax, [rdx + rax + 0x49]
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
lea edi, [rdi + rax*4]
xor eax, eax
mov edx, 2
mov rcx, rbx
test dil, 4
sete al
test dil, 2
cmove esi, edx
lea eax, [rsi + rax + 0x49]
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
cmp dword [rsp + 0xe0], 1
lea eax, [rdi + rax*8]
mov edx, dword [rsp + 0x124]
mov dword [rsp + 0x48], eax
ja 0x14029d970
mov edi, dword [r15 + 0x585c]
mov esi, dword [r15 + 0x5858]
xor eax, eax
mov rcx, rbx
sar edi, 4
sar esi, 4
and edi, 3
setne al
and esi, 3
lea edx, [rax + 2]
cmovne eax, edx
add eax, 0x4d
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
test eax, eax
je 0x14029d960
cmp edi, 2
mov rcx, rbx
sete dl
movzx eax, dl
movzx edx, dl
add edx, 0x53
add eax, 0x51
cmp esi, 2
cmove eax, edx
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
add eax, 1
shl eax, 4
or dword [rsp + 0x48], eax
mov edx, dword [rsp + 0x124]
nop dword [rax + rax]
mov rax, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x60]
add rax, qword [r13 + 0x76d0]
mov edi, dword [rsp + 0x48]
test r10d, r10d
mov dword [r15 + 0x5854], edi
mov word [rax], di
je 0x14029d99d
and edi, 0xf
jne 0x14029e360
mov rax, qword [r13 + 0x8290]
cmp dword [rax + 0xc], 3
je 0x14029f423
mov r9d, dword [rsp + 0x48]
mov rax, qword [r13 + 0x6d58]
mov rdi, qword [rsp + 0x68]
test r9d, r9d
mov dword [rax + rdi*4], edx
jne 0x14029d9d5
test byte [rsp + 0x124], 2
je 0x14029e210
cmp dword [r15 + 0x638], 1
lea r14, [r15 + 0x8970]
mov rcx, r14
sbb eax, eax
add eax, 0x3d
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
test eax, eax
je 0x14029dd80
mov rax, qword [rsp + 0x40]
mov ebp, 1
mov eax, dword [rax + 0x4a0]
lea esi, [rax + rax*2 - 0x18]
mov eax, 2
add esi, esi
lea edi, [rsi + 0x33]
lea ebx, [rdi + rdi]
jmp 0x14029da40
add ebp, 1
mov eax, 3
cmp ebp, ebx
jg 0x14029dc60
add eax, 0x3c
mov rcx, r14
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
test eax, eax
jne 0x14029da30
test bpl, 1
je 0x1402a1470
add ebp, 1
sar ebp, 1
mov ebx, dword [r15 + 0x628]
mov dword [r15 + 0x638], ebp
add ebx, ebp
cmp ebx, edi
jbe 0x14029da89
test ebx, ebx
js 0x1402a3c04
add esi, 0x34
sub ebx, esi
mov dword [r15 + 0x628], ebx
mov rdx, qword [r13 + 0x8288]
movsxd rax, ebx
movzx ecx, byte [rdx + rax + 0x224]
mov dword [r15 + 0x62c], ecx
movzx eax, byte [rdx + rax + 0x27c]
mov dword [r15 + 0x630], eax
jmp 0x14029dd92
lea r14, [r15 + 0x8970]
lea rdx, [r15 + 0x89ce]
mov rcx, r14
call fcn.140298bb0
test eax, eax
jne 0x14029dc94
lea rdx, [r15 + 0x89cf]
mov rcx, r14
call fcn.140298bb0
test eax, eax
je 0x14029e3a3
lea rdx, [r15 + 0x89d1]
mov rcx, r14
call fcn.140298bb0
sub edi, eax
mov rdx, qword [0x140442180]
movsxd rax, edi
mov dword [rsp + 0x48], 0
movzx r8d, word [rdx + rax*4]
movzx edi, byte [rdx + rax*4 + 2]
mov dword [rsp + 0x124], r8d
jmp 0x14029cb7e
cmp edi, 4
je 0x14029f5f0
test dh, 1
jne 0x14029e3e0
test dl, 8
je 0x14029fa80
mov eax, dword [r15 + 0x5e68]
test eax, eax
je 0x14029d5fc
lea rsi, [r15 + 0x778c]
lea rdi, [r15 + 0x5e60]
xor ebx, ebx
mov r12d, 0x1000
jmp 0x14029dbb9
xor r8d, r8d
mov edx, ebx
mov rcx, r15
call fcn.14029a7a0
cmp ebp, eax
jbe 0x1402a3a37
imul eax, eax, 0x1010101
mov dword [rsi], eax
mov dword [rsi + 8], eax
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x18], eax
mov edx, dword [rsp + 0x124]
mov eax, dword [r15 + 0x5e68]
add ebx, 1
add rsi, 0x28
add rdi, 4
cmp ebx, eax
jae 0x1402a0030
lea ecx, [rbx + rbx]
mov r11d, r12d
shl r11d, cl
test r11d, edx
je 0x14029dba6
mov ecx, dword [r15 + 0x583c]
mov ebp, dword [rdi]
shl ebp, cl
cmp ebp, 1
ja 0x14029db72
xor eax, eax
jmp 0x14029db8d
mov r9, qword [r15 + 0x7818]
mov qword [rax], r9
movzx r9d, word [r15 + 0x77ee]
mov word [rax + 0xc], r9w
movzx r9d, word [r15 + 0x77fe]
mov word [rax + 0xa], r9w
movzx r9d, word [r15 + 0x780e]
mov word [rax + 8], r9w
jmp 0x14029cef6
mov r8, qword [r15 + 0x7868]
mov qword [rcx], r8
movzx r8d, word [r15 + 0x783e]
mov word [rcx + 0xc], r8w
movzx r8d, word [r15 + 0x784e]
mov word [rcx + 0xa], r8w
movzx r8d, word [r15 + 0x785e]
mov word [rcx + 8], r8w
jmp 0x14029cfb6
mov eax, dword [r15 + 0x5814]
mov r9d, dword [r15 + 0x5810]
lea r8, str.cabac_decode_of_qscale_diff_failed_at__d__d_n
mov rcx, qword [r13 + 8]
mov edx, 0x10
mov dword [rsp + 0x20], eax
call fcn.14036cf30
mov dword [rsp + 0x50], 0xffffffff
jmp 0x14029ccd1
xor r8d, r8d
mov edx, 0x11
mov rcx, r15
call fcn.14029a420
jmp 0x14029cb51
lea rdx, [r15 + 0x89de]
mov rcx, r14
call fcn.140298bb0
test eax, eax
je 0x14029e3c0
lea rdx, [r15 + 0x89df]
lea rbp, [r15 + 0x89e0]
mov rcx, r14
call fcn.140298bb0
lea edi, [rax*8]
mov rdx, rbp
mov rcx, r14
call fcn.140298bb0
lea edi, [rdi + rax*4]
mov rdx, rbp
mov rcx, r14
call fcn.140298bb0
lea edi, [rdi + rax*2]
mov rdx, rbp
mov rcx, r14
call fcn.140298bb0
add edi, eax
cmp edi, 7
lea eax, [rdi + 3]
jle 0x14029cddd
cmp edi, 0xd
je 0x1402a41a6
cmp edi, 0xe
mov eax, 0xb
je 0x14029cddd
cmp edi, 0xf
mov eax, 0x16
je 0x14029cddd
add edi, edi
mov rdx, rbp
mov rcx, r14
call fcn.140298bb0
lea eax, [rdi + rax - 4]
jmp 0x14029cddd
mov rdx, r15
mov rcx, r13
call fcn.140298c50
mov r8d, dword [rsp + 0x12c]
mov rdx, r15
mov rcx, r13
call fcn.140298e70
jmp 0x14029ce24
mov ebx, dword [r15 + 0x628]
mov dword [r15 + 0x638], 0
mov edx, dword [rsp + 0x124]
test dl, 0x80
jne 0x14029e120
test ebx, ebx
je 0x1402a0000
lea rax, [r13 + 0x7718]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x7708]
mov qword [rsp + 0x40], rax
test dl, 2
je 0x14029e7e0
mov eax, dword [r15 + 0x585c]
lea r9, [r15 + 0x84a0]
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84a0], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84b0], xmm0
shr eax, 8
and eax, 1
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84c0], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84d0], xmm0
test byte [r15 + 0x5859], 1
lea edx, [rax + 2]
cmovne eax, edx
lea r10, [0x140423560]
add eax, 0x55
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r8]
mov esi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub esi, eax
mov ecx, esi
shl esi, 0x11
cmp esi, edx
cmova eax, ecx
sbb rcx, rcx
and esi, ecx
xor r11, rcx
sub edx, esi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx esi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r8], sil
test dx, dx
jne 0x14029debd
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx esi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap esi
shr esi, 0xf
movzx ecx, byte [r10 + rcx]
sub esi, 0xffff
neg ecx
add ecx, 7
shl esi, cl
add edx, esi
and r11d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a17f0
mov byte [r15 + 0x75c0], 0
test byte [rsp + 0x48], 0xf
je 0x14029ff60
mov rax, qword [r13 + 0x8288]
movsxd rbx, ebx
lea rcx, [r13 + 0x72e8]
shl rbx, 6
mov qword [rsp + 0x190], r13
lea rbp, [0x140426a01]
mov r8d, 0xc
xor edi, edi
mov qword [rsp + 0x58], rcx
add rbx, qword [rax + 0x2a6e0]
mov rax, qword [rsp + 0x40]
lea rsi, [rax + 1]
lea rax, [r15 + 0x78a0]
mov r13, rax
jmp 0x14029df53
movsxd r8, r8d
mov byte [r15 + r8 + 0x75c0], 0
add edi, 1
cmp edi, 0x10
je 0x1402a0020
movzx r8d, byte [rbp]
add rbp, 1
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x59
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r12d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r12d, eax
mov ecx, r12d
shl r12d, 0x11
cmp r12d, edx
cmova eax, ecx
sbb rcx, rcx
and r12d, ecx
xor r11, rcx
sub edx, r12d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r12d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r12b
test dx, dx
jne 0x14029e024
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r12d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r12d
shr r12d, 0xf
movzx ecx, byte [r10 + rcx]
sub r12d, 0xffff
neg ecx
add ecx, 7
shl r12d, cl
add edx, r12d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
je 0x14029df32
movzx ecx, byte [rsp + 0x54]
mov eax, edi
mov dword [rsp + 0x38], 0xf
shl eax, 4
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], edi
mov r9d, 1
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x58]
cdqe
lea r8, [r13 + rax*2]
call fcn.14029b0c0
jmp 0x14029df3e
mov edi, dword [r15 + 0x57ac]
mov r12, qword [r13 + 0x7698]
lea r11d, [rax + rax*2]
mov r14d, r11d
lea r10d, [rdi*4]
movsxd r10, r10d
add r14d, dword [r12 + r10]
mov r12d, dword [r13 + 0x76b8]
movsx edi, byte [r8 + r10 + 2]
test r12d, r12d
lea r10, [rdx + r14*4]
je 0x14029e103
mov r11d, dword [r15 + 0x5838]
test r11d, r11d
je 0x1402a1680
and ebp, 0x80
jne 0x14029e103
mov r10d, dword [r10]
add edi, edi
mov dword [rsp + 0x134], r10d
shr r10d, 0x10
mov r11d, r10d
shr r11w, 0xf
add r10d, r11d
sar r10w, 1
mov word [rsp + 0x136], r10w
lea r10, [rsp + 0x134]
mov r11d, edi
or r11d, dword [r10]
je 0x14029c98b
xor r11d, r11d
test edi, edi
sete r11b
jmp 0x14029d0b1
test ebx, ebx
je 0x14029ff91
lea rax, [r13 + 0x77a8]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x7798]
mov qword [rsp + 0x40], rax
jmp 0x14029ddc5
mov r11, qword [r13 + 0x6d40]
movsxd r10, r9d
movsxd rbx, ecx
lea r11, [r11 + r10*4]
lea r10, [rbx*4]
movaps xmm0, xmmword [r15 + 0x7670]
movaps xmmword [r11], xmm0
add r11, r10
add r10, r11
movaps xmm0, xmmword [r15 + 0x7690]
movaps xmmword [r11], xmm0
movaps xmm0, xmmword [r15 + 0x76b0]
movaps xmmword [r10], xmm0
movaps xmm0, xmmword [r15 + 0x76d0]
movaps xmmword [r10 + rbx*4], xmm0
mov r10, qword [r13 + 0x76a0]
test r8d, 0x800
mov r10d, dword [r10 + rax*4]
mov rax, qword [r15 + 0x8960]
lea rax, [rax + r10*2]
je 0x1402a02e3
pxor xmm0, xmm0
movdqa xmmword [rax], xmm0
movsxd rdx, edx
movzx r10d, byte [r15 + 0x778c]
mov rax, rdx
add rax, qword [r13 + 0x6d80]
mov byte [rax], r10b
movzx r10d, byte [r15 + 0x778e]
mov byte [rax + 1], r10b
movzx r10d, byte [r15 + 0x779c]
mov byte [rax + 2], r10b
movzx r10d, byte [r15 + 0x779e]
mov byte [rax + 3], r10b
jmp 0x14029d677
mov dword [r15 + 0x75cc], 0
mov dword [r15 + 0x75d4], 0
mov dword [r15 + 0x75dc], 0
mov dword [r15 + 0x75e4], 0
mov dword [r15 + 0x75f4], 0
mov dword [r15 + 0x75fc], 0
mov dword [r15 + 0x7604], 0
mov dword [r15 + 0x760c], 0
mov dword [r15 + 0x761c], 0
mov dword [r15 + 0x7624], 0
mov dword [r15 + 0x762c], 0
mov dword [r15 + 0x7634], 0
mov dword [r15 + 0x638], 0
mov rax, qword [r13 + 0x6d28]
mov edx, dword [r15 + 0x628]
mov byte [rax + rdi], dl
movsxd rax, dword [r15 + 0x5818]
mov edx, dword [r15 + 0x75cc]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [r13 + 0x7510]
mov dword [rax], edx
mov edx, dword [r15 + 0x75d4]
mov dword [rax + 4], edx
mov edx, dword [r15 + 0x75dc]
mov dword [rax + 8], edx
mov edx, dword [r15 + 0x75e4]
mov dword [rax + 0xc], edx
mov edx, dword [r15 + 0x75f4]
mov dword [rax + 0x10], edx
mov edx, dword [r15 + 0x75fc]
mov dword [rax + 0x14], edx
mov edx, dword [r15 + 0x761c]
mov dword [rax + 0x20], edx
mov edx, dword [r15 + 0x7624]
mov dword [rax + 0x24], edx
mov ecx, dword [r13 + 0x72f8]
test ecx, ecx
jne 0x14029ccd1
mov edx, dword [r15 + 0x7604]
mov dword [rsp + 0x50], 0
mov dword [rax + 0x18], edx
mov edx, dword [r15 + 0x760c]
mov dword [rax + 0x1c], edx
mov edx, dword [r15 + 0x762c]
mov dword [rax + 0x28], edx
mov edx, dword [r15 + 0x7634]
mov dword [rax + 0x2c], edx
jmp 0x14029ccd1
test dl, 7
jne 0x14029d99d
mov eax, dword [r15 + 0x5844]
lea rcx, [r15 + 0x8970]
add eax, 0x18f
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
mov edx, dword [rsp + 0x124]
shl eax, 0x18
or edx, eax
mov dword [rsp + 0x124], edx
jmp 0x14029d99d
lea rdx, [r15 + 0x89d0]
mov rcx, r14
call fcn.140298bb0
lea edi, [rax + rax*2]
jmp 0x14029db06
lea rdx, [r15 + 0x89e0]
mov rcx, r14
call fcn.140298bb0
add eax, 1
jmp 0x14029cddd
lea r8, [rsp + 0x124]
mov rdx, r15
mov rcx, r13
call fcn.14016bd50
mov rdi, qword [rsp + 0x40]
mov qword [r15 + 0x77e8], 0
mov qword [r15 + 0x77f8], 0
mov qword [r15 + 0x7808], 0
mov qword [r15 + 0x7818], 0
mov qword [r15 + 0x7838], 0
mov edi, dword [rdi + 0x48]
mov qword [r15 + 0x7848], 0
mov qword [r15 + 0x7858], 0
mov qword [r15 + 0x7868], 0
and dword [rsp + 0x60], edi
mov edx, dword [rsp + 0x124]
jmp 0x14029d5fc
mov eax, dword [r15 + 0x5844]
mov rcx, r14
add eax, 0x18f
cdqe
lea rdx, [r15 + rax + 0x89c0]
call fcn.140298bb0
test eax, eax
je 0x14029d241
or dword [rsp + 0x124], 0x1000000
lea r12, [r15 + 0x8a04]
lea rdi, [0x140426a00]
lea rbp, [r15 + 0x8a05]
mov edx, 0xc
mov esi, 2
mov qword [rsp + 0x190], r13
lea eax, [rdx - 1]
lea ecx, [rdx - 8]
cdqe
movsxd rcx, ecx
movsx eax, byte [r15 + rax + 0x5778]
movsx ecx, byte [r15 + rcx + 0x5778]
cmp eax, ecx
cmovg eax, ecx
test eax, eax
cmovs eax, esi
lea r10, [0x140423560]
mov r9d, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx r11d, byte [r12]
mov ebx, r8d
and r8d, 0xc0
lea ecx, [r11d + r8d*2]
movzx r8d, byte [r10 + rcx + 0x200]
sub ebx, r8d
mov ecx, ebx
shl ebx, 0x11
cmp ebx, r9d
cmova r8d, ecx
sbb rcx, rcx
and ebx, ecx
xor r11, rcx
sub r9d, ebx
movzx ecx, byte [r10 + r8]
shl r8d, cl
movzx ebx, byte [r10 + r11 + 0x480]
shl r9d, cl
mov byte [r12], bl
test r9w, r9w
jne 0x14029e57d
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebx, word [rcx]
lea ecx, [r9d - 1]
xor ecx, r9d
shr ecx, 0xf
bswap ebx
shr ebx, 0xf
movzx ecx, byte [r10 + rcx]
sub ebx, 0xffff
neg ecx
add ecx, 7
shl ebx, cl
add r9d, ebx
and r11d, 1
mov dword [r14], r9d
mov dword [r14 + 4], r8d
jne 0x14029e7a3
lea r10, [0x140423560]
mov r9d, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx r13d, byte [rbp]
mov r11d, r8d
and r8d, 0xc0
lea ecx, [r13d + r8d*2]
movzx r8d, byte [r10 + rcx + 0x200]
sub r11d, r8d
mov ecx, r11d
shl r11d, 0x11
cmp r11d, r9d
cmova r8d, ecx
sbb rcx, rcx
and r11d, ecx
xor r13, rcx
sub r9d, r11d
movzx ecx, byte [r10 + r8]
shl r8d, cl
movzx r11d, byte [r10 + r13 + 0x480]
shl r9d, cl
mov byte [rbp], r11b
test r9w, r9w
jne 0x14029e632
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [r9d - 1]
xor ecx, r9d
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r10 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add r9d, r11d
mov dword [r14], r9d
mov dword [r14 + 4], r8d
lea r10, [0x140423560]
mov r9d, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx r11d, byte [rbp]
mov ebx, r8d
and r8d, 0xc0
lea ecx, [r11d + r8d*2]
movzx r8d, byte [r10 + rcx + 0x200]
sub ebx, r8d
mov ecx, ebx
shl ebx, 0x11
cmp ebx, r9d
cmova r8d, ecx
sbb rcx, rcx
and ebx, ecx
xor r11, rcx
sub r9d, ebx
movzx ecx, byte [r10 + r8]
shl r8d, cl
movzx ebx, byte [r10 + r11 + 0x480]
shl r9d, cl
mov byte [rbp], bl
test r9w, r9w
jne 0x14029e6d3
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebx, word [rcx]
lea ecx, [r9d - 1]
xor ecx, r9d
shr ecx, 0xf
bswap ebx
shr ebx, 0xf
movzx ecx, byte [r10 + rcx]
sub ebx, 0xffff
neg ecx
add ecx, 7
shl ebx, cl
add r9d, ebx
and r11d, 1
and r13d, 1
mov dword [r14], r9d
mov dword [r14 + 4], r8d
lea ebx, [r13 + r11*2]
lea r10, [0x140423560]
mov r9d, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx r11d, byte [rbp]
mov r13d, r8d
and r8d, 0xc0
lea ecx, [r11d + r8d*2]
movzx r8d, byte [r10 + rcx + 0x200]
sub r13d, r8d
mov ecx, r13d
shl r13d, 0x11
cmp r13d, r9d
cmova r8d, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub r9d, r13d
movzx ecx, byte [r10 + r8]
shl r8d, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl r9d, cl
mov byte [rbp], r13b
test r9w, r9w
jne 0x14029e78a
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [r9d - 1]
xor ecx, r9d
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add r9d, r13d
and r11d, 1
mov dword [r14], r9d
mov dword [r14 + 4], r8d
lea ecx, [rbx + r11*4]
cmp eax, ecx
setle al
movzx eax, al
add eax, ecx
mov ecx, eax
movsxd rdx, edx
add rdi, 4
lea rdx, [r15 + rdx + 0x5770]
shl ecx, 8
add eax, ecx
mov word [rdx + 8], ax
mov word [rdx + 0x10], ax
lea rax, [0x140426a10]
cmp rdi, rax
je 0x14029d56c
movzx edx, byte [rdi]
jmp 0x14029e4bb
mov eax, edx
movsxd rbx, ebx
lea rsi, [0x140426a00]
and eax, 7
mov rdi, rbx
cmp eax, 1
sbb eax, eax
shl rdi, 8
shl rbx, 6
mov ecx, eax
lea rax, [r15 + 0x78a0]
and edx, 0x1000000
and ecx, 3
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x58], rax
lea rax, [r13 + 0x72e8]
mov dword [rsp + 0x60], edx
xor edi, edi
xor r12d, r12d
xor ebx, ebx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x48]
bt eax, ebx
jae 0x14029f020
mov r8d, dword [rsp + 0x60]
mov rax, qword [r13 + 0x8288]
test r8d, r8d
je 0x14029f052
mov rcx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x90]
add r11, qword [rax + rcx*8 + 0x2a710]
movzx ecx, byte [rsp + 0x54]
mov eax, edi
shl eax, cl
mov rcx, qword [rsp + 0x58]
cdqe
lea rax, [rcx + rax*2]
mov qword [rsp + 0x88], rax
mov rax, qword [r13 + 0x8290]
cmp dword [rax + 0xc], 3
jne 0x14029f511
movzx eax, byte [rsi]
mov ecx, eax
sub eax, 1
cdqe
lea edx, [rcx - 8]
mov dword [rsp + 0xa0], ecx
cmp byte [r15 + rax + 0x75c0], 0
movsxd rdx, edx
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea rbp, [0x140423560]
add eax, 0x3f4
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r8d, byte [r9]
mov r10d, eax
and eax, 0xc0
lea ecx, [r8d + eax*2]
movzx eax, byte [rbp + rcx + 0x200]
sub r10d, eax
mov ecx, r10d
shl r10d, 0x11
cmp r10d, edx
cmova eax, ecx
sbb rcx, rcx
and r10d, ecx
xor r8, rcx
sub edx, r10d
movzx ecx, byte [rbp + rax]
shl eax, cl
movzx r10d, byte [rbp + r8 + 0x480]
shl edx, cl
mov byte [r9], r10b
test dx, dx
jne 0x14029e982
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r10d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r10d
shr r10d, 0xf
movzx ecx, byte [rbp + rcx]
sub r10d, 0xffff
neg ecx
add ecx, 7
shl r10d, cl
add edx, r10d
and r8d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x14029f511
movsxd r10, dword [rsp + 0xa0]
xor edx, edx
xor ecx, ecx
lea rax, [r15 + r10 + 0x75c0]
mov word [rax], dx
mov word [rax + 8], cx
nop
add ebx, 1
add r12d, 4
add rsi, 4
add edi, 0x40
cmp ebx, 4
jne 0x14029e842
mov rax, qword [r13 + 0x8290]
mov eax, dword [rax + 0xc]
cmp eax, 3
je 0x14029fca0
cmp eax, 2
je 0x1402a0d90
test byte [rsp + 0x48], 0x30
je 0x14029ebb1
mov eax, dword [r15 + 0x585c]
lea rbx, [r15 + 0x78a0]
sar eax, 6
and eax, 1
test byte [r15 + 0x5858], 0x40
lea edx, [rax + 2]
cmovne eax, edx
lea r9, [0x140423560]
add eax, 0x61
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r10d, byte [r8]
mov r11d, eax
and eax, 0xc0
lea ecx, [r10d + eax*2]
movzx eax, byte [r9 + rcx + 0x200]
sub r11d, eax
mov ecx, r11d
shl r11d, 0x11
cmp r11d, edx
cmova eax, ecx
sbb rcx, rcx
and r11d, ecx
xor r10, rcx
sub edx, r11d
movzx ecx, byte [r9 + rax]
shl eax, cl
movzx r11d, byte [r9 + r10 + 0x480]
shl edx, cl
mov byte [r8], r11b
test dx, dx
jne 0x14029eab6
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r9 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add edx, r11d
and r10d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a39b5
mov byte [r15 + 0x75e8], 0
mov eax, dword [r15 + 0x585c]
sar eax, 7
and eax, 1
test byte [r15 + 0x5858], 0x80
lea edx, [rax + 2]
cmovne eax, edx
lea r9, [0x140423560]
add eax, 0x61
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r10d, byte [r8]
mov r11d, eax
and eax, 0xc0
lea ecx, [r10d + eax*2]
movzx eax, byte [r9 + rcx + 0x200]
sub r11d, eax
mov ecx, r11d
shl r11d, 0x11
cmp r11d, edx
cmova eax, ecx
sbb rcx, rcx
and r11d, ecx
xor r10, rcx
sub edx, r11d
movzx ecx, byte [r9 + rax]
shl eax, cl
movzx r11d, byte [r9 + r10 + 0x480]
shl edx, cl
mov byte [r8], r11b
test dx, dx
jne 0x14029eb94
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r9 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add edx, r11d
and r10d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a3964
mov byte [r15 + 0x7610], 0
test byte [rsp + 0x48], 0x20
je 0x14029f550
mov rax, qword [rsp + 0x40]
lea r12, [0x140426a00]
mov r8d, 0x34
xor ebp, ebp
mov qword [rsp + 0x190], r13
add rax, 1
mov qword [rsp + 0x48], rax
lea rax, [r15 + 0x78a0]
mov qword [rsp + 0x58], rax
lea rax, [r15 + 0x62c]
mov qword [rsp + 0x40], rax
lea rax, [r13 + 0x72e8]
mov qword [rsp + 0x60], rax
mov rax, r13
mov rdx, qword [rax + 0x8288]
mov eax, dword [rsp + 0x124]
add ebp, 1
mov rdi, qword [rsp + 0x40]
mov ebx, ebp
and eax, 7
cmp eax, 1
movsxd rcx, dword [rdi]
sbb eax, eax
shl ebx, 4
and eax, 3
add eax, ebp
shl rcx, 6
cdqe
mov rdi, rcx
add rdi, qword [rdx + rax*8 + 0x2a6e0]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
cmp byte [r15 + rax + 0x75c0], 0
movsxd rdx, edx
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov esi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub esi, eax
mov ecx, esi
shl esi, 0x11
cmp esi, edx
cmova eax, ecx
sbb rcx, rcx
and esi, ecx
xor r11, rcx
sub edx, esi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx esi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], sil
test dx, dx
jne 0x14029ed08
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx esi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap esi
shr esi, 0xf
movzx ecx, byte [r10 + rcx]
sub esi, 0xffff
neg ecx
add ecx, 7
shl esi, cl
add edx, esi
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a17a0
movsxd r8, r8d
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x11]
lea esi, [rbx + 1]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x14029edff
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a1750
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x12]
lea esi, [rbx + 2]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x14029eef3
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a1700
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x13]
add ebx, 3
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov esi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub esi, eax
mov ecx, esi
shl esi, 0x11
cmp esi, edx
cmova eax, ecx
sbb rcx, rcx
and esi, ecx
xor r11, rcx
sub edx, esi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx esi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], sil
test dx, dx
jne 0x14029efda
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx esi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap esi
shr esi, 0xf
movzx ecx, byte [r10 + rcx]
sub esi, 0xffff
neg ecx
add ecx, 7
shl esi, cl
add edx, esi
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a16b0
mov byte [r15 + r8 + 0x75c0], 0
add r12, 0x10
add qword [rsp + 0x40], 4
cmp ebp, 2
je 0x14029f040
movzx r8d, byte [r12 + 0x10]
mov rax, qword [rsp + 0x190]
jmp 0x14029ec08
movzx eax, byte [rsi]
xor r11d, r11d
xor ebp, ebp
lea rax, [r15 + rax + 0x75c0]
mov word [rax], r11w
mov word [rax + 8], bp
jmp 0x14029e9b0
mov r13, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x68]
jmp 0x14029e29f
movzx r8d, byte [rsi]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x98]
add rcx, qword [rax + rdx*8 + 0x2a6e0]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
mov qword [rsp + 0x88], rcx
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x5d
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov ebp, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub ebp, eax
mov ecx, ebp
shl ebp, 0x11
cmp ebp, edx
cmova eax, ecx
sbb rcx, rcx
and ebp, ecx
xor r11, rcx
sub edx, ebp
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx ebp, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], bpl
test dx, dx
jne 0x14029f137
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [r10 + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add edx, ebp
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a1935
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [rsi + 1]
lea eax, [r12 + 1]
mov dword [rsp + 0xa0], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x5d
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov ebp, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub ebp, eax
mov ecx, ebp
shl ebp, 0x11
cmp ebp, edx
cmova eax, ecx
sbb rcx, rcx
and ebp, ecx
xor r11, rcx
sub edx, ebp
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx ebp, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], bpl
test dx, dx
jne 0x14029f226
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [r10 + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add edx, ebp
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a18e0
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [rsi + 2]
lea eax, [r12 + 2]
mov dword [rsp + 0xa0], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x5d
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov ebp, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub ebp, eax
mov ecx, ebp
shl ebp, 0x11
cmp ebp, edx
cmova eax, ecx
sbb rcx, rcx
and ebp, ecx
xor r11, rcx
sub edx, ebp
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx ebp, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], bpl
test dx, dx
jne 0x14029f315
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [r10 + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add edx, ebp
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a1885
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [rsi + 3]
lea eax, [r12 + 3]
mov dword [rsp + 0xa0], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x5d
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov ebp, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub ebp, eax
mov ecx, ebp
shl ebp, 0x11
cmp ebp, edx
cmova eax, ecx
sbb rcx, rcx
and ebp, ecx
xor r11, rcx
sub edx, ebp
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx ebp, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], bpl
test dx, dx
jne 0x14029f404
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx ebp, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap ebp
shr ebp, 0xf
movzx ecx, byte [r10 + rcx]
sub ebp, 0xffff
neg ecx
add ecx, 7
shl ebp, cl
add edx, ebp
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a1830
mov byte [r15 + r8 + 0x75c0], 0
jmp 0x14029e9b0
test edx, 0x1000000
je 0x14029d9ae
cmp dword [r13 + 0x7310], 0x96
mov eax, dword [r15 + 0x57c8]
jbe 0x1402a25a2
test eax, eax
je 0x14029f489
test eax, 0x1000000
jne 0x14029f489
and eax, 4
cmp eax, 1
sbb eax, eax
not eax
and eax, 0x40
mov byte [r15 + 0x7623], al
mov byte [r15 + 0x761b], al
mov byte [r15 + 0x75fb], al
mov byte [r15 + 0x75f3], al
mov byte [r15 + 0x75d3], al
mov byte [r15 + 0x75cb], al
mov eax, dword [r15 + 0x57cc]
test eax, eax
je 0x14029f4d2
test eax, 0x1000000
jne 0x14029f4d2
and eax, 4
cmp eax, 1
sbb eax, eax
not eax
and eax, 0x40
mov byte [r15 + 0x7633], al
mov byte [r15 + 0x762b], al
mov byte [r15 + 0x760b], al
mov byte [r15 + 0x7603], al
mov byte [r15 + 0x75e3], al
mov byte [r15 + 0x75db], al
mov eax, dword [r15 + 0x57c0]
test eax, eax
je 0x14029d9ae
test eax, 0x1000000
jne 0x14029d9ae
shl eax, 0x1d
sar eax, 0x1f
and eax, 0x40404040
mov dword [r15 + 0x75c4], eax
mov dword [r15 + 0x75ec], eax
mov dword [r15 + 0x7614], eax
jmp 0x14029d9ae
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r9d, 5
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x38], 0x40
mov rdx, r15
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x28], rax
call fcn.14029b0c0
jmp 0x14029e9b0
mov dword [r15 + 0x75f4], 0
mov dword [r15 + 0x75fc], 0
mov dword [r15 + 0x7604], 0
mov dword [r15 + 0x760c], 0
mov dword [r15 + 0x761c], 0
mov dword [r15 + 0x7624], 0
mov dword [r15 + 0x762c], 0
mov dword [r15 + 0x7634], 0
mov rdi, qword [rsp + 0x68]
jmp 0x14029e29f
mov edx, dword [r15 + 0x57e0]
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], 0
mov r9d, dword [r15 + 0x5774]
mov r8d, dword [r15 + 0x57e8]
call fcn.14018de20
test eax, eax
mov dword [r15 + 0x5774], eax
jns 0x14029d5dc
jmp 0x14029dc87
cmp dword [r15 + 0x620], 3
je 0x1402a33b0
lea rdi, [rsp + 0x130]
mov rbx, qword [0x140442190]
lea rax, [r15 + 0x8970]
lea r11, [r15 + 0x89d5]
lea rbp, [r15 + 0x89d6]
lea r12, [r15 + 0x89d7]
xor r9d, r9d
mov qword [rsp + 0xb0], rdi
mov r10, rdi
lea rsi, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx edi, byte [r11]
mov r14d, edx
and edx, 0xc0
lea ecx, [edi + edx*2]
movzx edx, byte [rsi + rcx + 0x200]
sub r14d, edx
mov ecx, r14d
shl r14d, 0x11
cmp r14d, r8d
cmova edx, ecx
sbb rcx, rcx
and r14d, ecx
xor rdi, rcx
sub r8d, r14d
movzx ecx, byte [rsi + rdx]
shl edx, cl
movzx r14d, byte [rsi + rdi + 0x480]
shl r8d, cl
mov byte [r11], r14b
test r8w, r8w
jne 0x14029f6d1
mov rcx, qword [rax + 0x18]
add qword [rax + 0x18], 2
movzx r14d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r14d
shr r14d, 0xf
movzx ecx, byte [rsi + rcx]
sub r14d, 0xffff
neg ecx
add ecx, 7
shl r14d, cl
add r8d, r14d
mov dword [rax + 4], edx
xor edx, edx
and edi, 1
mov dword [rax], r8d
je 0x14029f920
movsxd rdx, edx
movzx ecx, byte [rbx + rdx*4 + 2]
movzx edx, word [rbx + rdx*4]
mov dword [r10 + r9*2], ecx
mov word [r15 + r9 + 0x7898], dx
add r9, 2
cmp r9, 8
jne 0x14029f637
mov eax, dword [r15 + 0x5e68]
test eax, eax
je 0x1402a41bb
lea rbx, [r15 + 0x77a7]
lea r12, [r15 + 0x5e60]
xor edi, edi
xor ebp, ebp
mov r14d, 0x1000
jmp 0x14029f7dd
mov eax, 0xffffffff
mov byte [rbx - 0x12], al
mov byte [rbx - 0x13], al
mov byte [rbx - 0x1a], al
movzx eax, word [r15 + 0x789a]
test ah, 1
jne 0x14029f76d
mov edx, r14d
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x14029f851
mov eax, 0xffffffff
mov byte [rbx - 0x10], al
mov byte [rbx - 0x11], al
mov byte [rbx - 0x18], al
movzx eax, word [r15 + 0x789c]
test ah, 1
jne 0x14029f797
mov edx, r14d
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x14029f881
mov eax, 0xffffffff
mov byte [rbx - 2], al
mov byte [rbx - 3], al
mov byte [rbx - 0xa], al
movzx eax, word [r15 + 0x789e]
test ah, 1
jne 0x14029f7c0
mov edx, r14d
mov ecx, edi
shl edx, cl
test edx, eax
jne 0x14029f8b0
mov eax, 0xffffffff
mov byte [rbx], al
mov byte [rbx - 1], al
mov byte [rbx - 8], al
mov eax, dword [r15 + 0x5e68]
add ebp, 1
add rbx, 0x28
add edi, 2
add r12, 4
cmp eax, ebp
jbe 0x1402a0320
movzx eax, word [r15 + 0x7898]
test ah, 1
jne 0x14029f743
mov edx, r14d
mov ecx, edi
shl edx, cl
test edx, eax
je 0x14029f735
mov ecx, dword [r15 + 0x583c]
mov esi, dword [r12]
shl esi, cl
cmp esi, 1
jbe 0x14029f8e0
xor r8d, r8d
mov edx, ebp
mov rcx, r15
call fcn.14029a7a0
cmp esi, eax
ja 0x14029f73a
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], esi
lea r8, str.Reference__d____d_n
mov r9d, eax
mov edx, 0x10
call fcn.14036cf30
mov dword [rsp + 0x50], 0xffffffff
jmp 0x14029ccd1
mov ecx, dword [r15 + 0x583c]
mov esi, dword [r12]
shl esi, cl
cmp esi, 1
jbe 0x14029f8f0
mov r8d, 4
mov edx, ebp
mov rcx, r15
call fcn.14029a7a0
cmp esi, eax
ja 0x14029f764
jmp 0x14029f828
mov ecx, dword [r15 + 0x583c]
mov esi, dword [r12]
shl esi, cl
cmp esi, 1
jbe 0x14029f900
mov r8d, 8
mov edx, ebp
mov rcx, r15
call fcn.14029a7a0
cmp esi, eax
ja 0x14029f78e
jmp 0x14029f828
mov ecx, dword [r15 + 0x583c]
mov esi, dword [r12]
shl esi, cl
cmp esi, 1
jbe 0x14029f910
mov r8d, 0xc
mov edx, ebp
mov rcx, r15
call fcn.14029a7a0
cmp esi, eax
ja 0x14029f7b8
jmp 0x14029f828
xor eax, eax
jmp 0x14029f73a
xor eax, eax
jmp 0x14029f764
xor eax, eax
jmp 0x14029f78e
xor eax, eax
jmp 0x14029f7b8
lea rsi, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx edi, byte [rbp]
mov r14d, edx
and edx, 0xc0
lea ecx, [edi + edx*2]
movzx edx, byte [rsi + rcx + 0x200]
sub r14d, edx
mov ecx, r14d
shl r14d, 0x11
cmp r14d, r8d
cmova edx, ecx
sbb rcx, rcx
and r14d, ecx
xor rdi, rcx
sub r8d, r14d
movzx ecx, byte [rsi + rdx]
shl edx, cl
movzx r14d, byte [rsi + rdi + 0x480]
shl r8d, cl
mov byte [rbp], r14b
test r8w, r8w
jne 0x14029f9bb
mov rcx, qword [rax + 0x18]
add qword [rax + 0x18], 2
movzx r14d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r14d
shr r14d, 0xf
movzx ecx, byte [rsi + rcx]
sub r14d, 0xffff
neg ecx
add ecx, 7
shl r14d, cl
add r8d, r14d
and edi, 1
mov dword [rax + 4], edx
mov dword [rax], r8d
mov edx, 1
je 0x14029f6e2
lea rdi, [0x140423560]
mov esi, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx edx, byte [r12]
mov r14d, r8d
and r8d, 0xc0
lea ecx, [edx + r8d*2]
movzx r8d, byte [rdi + rcx + 0x200]
sub r14d, r8d
mov ecx, r14d
shl r14d, 0x11
cmp r14d, esi
cmova r8d, ecx
sbb rcx, rcx
and r14d, ecx
xor rdx, rcx
sub esi, r14d
movzx ecx, byte [rdi + r8]
shl r8d, cl
movzx r14d, byte [rdi + rdx + 0x480]
shl esi, cl
mov byte [r12], r14b
test si, si
jne 0x14029fa6d
mov rcx, qword [rax + 0x18]
add qword [rax + 0x18], 2
movzx r14d, word [rcx]
lea ecx, [esi - 1]
xor ecx, esi
shr ecx, 0xf
bswap r14d
shr r14d, 0xf
movzx ecx, byte [rdi + rcx]
sub r14d, 0xffff
neg ecx
add ecx, 7
shl r14d, cl
add esi, r14d
and edx, 1
mov dword [rax], esi
mov dword [rax + 4], r8d
neg edx
add edx, 3
jmp 0x14029f6e2
test dl, 0x10
jne 0x1402a1550
mov r12d, dword [r15 + 0x5e68]
test r12d, r12d
je 0x14029d5fc
lea r14, [r15 + 0x5e60]
mov qword [rsp + 0x78], r15
xor ebp, ebp
mov r10d, 0x1000
mov r12, r15
mov qword [rsp + 0x190], r13
jmp 0x14029fb4a
mov ecx, dword [r15 + 0x583c]
mov r13d, dword [r14]
shl r13d, cl
cmp r13d, 1
jbe 0x14029fba0
mov r8d, esi
mov edx, ebp
mov rcx, r15
mov dword [rsp + 0x58], r10d
call fcn.14029a7a0
cmp r13d, eax
jbe 0x1402a3bcb
mov edx, eax
mov r10d, dword [rsp + 0x58]
shl edx, 8
add eax, edx
mov edx, dword [rsp + 0x124]
mov word [rbx + 0x778c], ax
mov word [rbx + 0x7794], ax
mov word [rbx + 0x779c], ax
mov word [rbx + 0x77a4], ax
add esi, 4
add edi, 1
add rbx, 2
cmp esi, 8
jne 0x14029fb53
mov eax, dword [r15 + 0x5e68]
add ebp, 1
add r14, 4
add r12, 0x28
cmp eax, ebp
jbe 0x1402a2dac
lea edi, [rbp + rbp]
mov rbx, r12
xor esi, esi
mov eax, r10d
mov ecx, edi
shl eax, cl
test eax, edx
jne 0x14029fac0
mov eax, 0xffffffff
mov r11d, 0xffffffff
mov r13d, 0xffffffff
mov word [rbx + 0x779c], ax
mov eax, 0xffffffff
mov word [rbx + 0x778c], r11w
mov word [rbx + 0x7794], r13w
mov word [rbx + 0x77a4], ax
jmp 0x14029fb21
xor eax, eax
jmp 0x14029fb05
test ebp, ebp
lea r12, [0x1404249e0]
jne 0x14029d150
mov ebp, dword [r15 + 0x57bc]
mov r14d, ebp
and r14d, 0x3000
je 0x14029d150
movsxd r12, dword [r15 + 0x57a8]
mov r14d, dword [r15 + 0x57d8]
and r14d, 2
lea r14d, [r14 + r12*4 + 1]
movsxd r14, r14d
movsx r8d, byte [r8 + r14]
lea r14d, [rax + rax]
and r14d, dword [r15 + 0x57d8]
lea eax, [rax + r14 + 3]
mov r14, qword [r13 + 0x7698]
add eax, dword [r14 + r12*4]
lea r12, [rdx + rax*4]
mov eax, dword [r13 + 0x76b8]
test eax, eax
je 0x14029fc90
mov r14d, dword [r15 + 0x5838]
test r14d, r14d
je 0x1402a392e
and ebp, 0x80
jne 0x14029fc90
mov eax, dword [r12]
mov ebp, 2
mov dword [rsp + 0x138], eax
movzx eax, word [rsp + 0x13a]
mov edx, eax
sar dx, 0xf
idiv bp
jmp 0x14029d135
and r11d, 0x80
je 0x14029c980
mov ecx, dword [rcx]
sar r9d, 1
mov dword [rsp + 0x130], ecx
lea rcx, [rsp + 0x130]
shl word [rsp + 0x132], 1
jmp 0x14029c980
xor r14d, r14d
test r8d, r8d
sete r14b
jmp 0x14029d150
mov eax, dword [rsp + 0x124]
movsxd rbx, dword [r15 + 0x62c]
test al, 2
je 0x1402a1985
mov eax, dword [r15 + 0x585c]
lea r9, [r15 + 0x84e0]
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84e0], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x84f0], xmm0
shr eax, 9
and eax, 1
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8500], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8510], xmm0
test byte [r15 + 0x5859], 2
mov edx, eax
lea eax, [rax + 2]
cmove eax, edx
lea r10, [0x140423560]
add eax, 0x1cc
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r8]
mov esi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub esi, eax
mov ecx, esi
shl esi, 0x11
cmp esi, edx
cmova eax, ecx
sbb rcx, rcx
and esi, ecx
xor r11, rcx
sub edx, esi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx esi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r8], sil
test dx, dx
jne 0x14029fda9
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx esi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap esi
shr esi, 0xf
movzx ecx, byte [r10 + rcx]
sub esi, 0xffff
neg ecx
add ecx, 7
shl esi, cl
add edx, esi
and r11d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a3ebb
mov byte [r15 + 0x75e8], 0
test byte [rsp + 0x48], 0xf
je 0x1402a3a06
mov rax, qword [r13 + 0x8288]
movsxd rbp, ebx
lea rdi, [r13 + 0x72e8]
shl rbp, 6
mov qword [rsp + 0x190], r13
lea rsi, [0x140426a11]
mov ebx, 0x10
mov r8d, 0x34
mov qword [rsp + 0x58], rdi
add rbp, qword [rax + 0x2a6e8]
mov rax, qword [rsp + 0x40]
lea r12, [rax + 1]
lea rax, [r15 + 0x78a0]
mov r13, rax
jmp 0x14029fe41
movsxd r8, r8d
mov byte [r15 + r8 + 0x75c0], 0
add ebx, 1
cmp ebx, 0x20
je 0x1402a0ac0
movzx r8d, byte [rsi]
add rsi, 1
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1d0
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov edi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub edi, eax
mov ecx, edi
shl edi, 0x11
cmp edi, edx
cmova eax, ecx
sbb rcx, rcx
and edi, ecx
xor r11, rcx
sub edx, edi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx edi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], dil
test dx, dx
jne 0x14029ff07
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx edi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap edi
shr edi, 0xf
movzx ecx, byte [r10 + rcx]
sub edi, 0xffff
neg ecx
add ecx, 7
shl edi, cl
add edx, edi
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
je 0x14029fe21
movzx ecx, byte [rsp + 0x54]
mov eax, ebx
mov dword [rsp + 0x38], 0xf
shl eax, 4
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ebx
mov r9d, 7
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x58]
cdqe
lea r8, [r13 + rax*2]
call fcn.14029b0c0
jmp 0x14029fe2d
mov dword [r15 + 0x75cc], 0
mov dword [r15 + 0x75d4], 0
mov dword [r15 + 0x75dc], 0
mov dword [r15 + 0x75e4], 0
jmp 0x14029e9c7
lea rax, [r13 + 0x78c8]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x78b8]
mov qword [rsp + 0x40], rax
jmp 0x14029ddc5
and r8d, 0x40
je 0x14029d740
mov eax, dword [r15 + 0x5818]
movzx edx, word [r15 + 0x789a]
shl eax, 2
cdqe
add rax, qword [r13 + 0x76f0]
shr dx, 1
mov byte [rax + 1], dl
movzx edx, word [r15 + 0x789c]
shr dx, 1
mov byte [rax + 2], dl
movzx edx, word [r15 + 0x789e]
shr dx, 1
mov byte [rax + 3], dl
jmp 0x14029d740
lea rax, [r13 + 0x7838]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x7828]
mov qword [rsp + 0x40], rax
jmp 0x14029ddc5
mov r13, qword [rsp + 0x190]
jmp 0x14029e9c7
test eax, eax
je 0x14029d5fc
lea rbx, [rsp + 0x12c]
xor r11d, r11d
mov qword [rsp + 0x190], r13
mov rsi, r15
mov r14, r15
mov rdi, r15
mov qword [rsp + 0x78], rbx
lea rbx, [rsp + 0x130]
mov r13d, r11d
mov qword [rsp + 0x80], rbx
jmp 0x1402a0217
xor ebx, ebx
cmp ecx, eax
sete bl
xor r8d, r8d
cmp ecx, r10d
sete r8b
add ebx, r8d
xor r8d, r8d
cmp ecx, r9d
sete r8b
add r8d, ebx
cmp r8d, 1
jle 0x1402a0270
movsx ebp, word [rsi + 0x7650]
movsx ecx, word [rdx]
movsx eax, word [rsi + 0x766c]
movsx edx, word [rdx + 2]
mov ebx, ebp
cmp eax, ebx
cmovg ebp, eax
cmovg eax, ebx
cmp eax, ecx
cmovl eax, ecx
cmp ebp, eax
cmovg ebp, eax
movsx ebx, word [rsi + 0x7652]
movsx eax, word [rsi + 0x766e]
mov ecx, ebx
cmp eax, ecx
cmovg ebx, eax
cmovg eax, ecx
cmp eax, edx
cmovl eax, edx
cmp ebx, eax
cmovg ebx, eax
movzx r12d, byte [rdi + 0x77e7]
movzx eax, byte [rdi + 0x77d9]
mov rcx, r15
movzx edx, byte [rdi + 0x77e6]
mov r9, qword [rsp + 0x78]
add eax, r12d
mov dword [rsp + 0x58], eax
movzx eax, byte [rdi + 0x77d8]
lea r8d, [rdx + rax]
mov edx, 0x28
call fcn.14029ba60
mov r9, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x58]
mov r12d, eax
mov edx, 0x2f
mov rcx, r15
call fcn.14029ba60
cmp r12d, 0x80000000
je 0x14029d780
cmp eax, 0x80000000
je 0x14029d780
movzx edx, word [rsp + 0x130]
movzx ecx, byte [rsp + 0x12c]
add ebp, r12d
add eax, ebx
movzx ebp, bp
shl eax, 0x10
add eax, ebp
shl edx, 8
add edx, ecx
movzx edx, dx
mov rcx, rdx
shl rcx, 0x10
add rdx, rcx
mov rcx, rdx
shl rcx, 0x20
add rdx, rcx
mov qword [rdi + 0x77e8], rdx
mov qword [rdi + 0x77f8], rdx
mov qword [rdi + 0x7808], rdx
mov qword [rdi + 0x7818], rdx
mov rdx, rax
shl rdx, 0x20
add rax, rdx
mov edx, dword [rsp + 0x124]
mov qword [rsi + 0x7670], rax
mov qword [rsi + 0x7678], rax
mov qword [rsi + 0x7690], rax
mov qword [rsi + 0x7698], rax
mov qword [rsi + 0x76b0], rax
mov qword [rsi + 0x76b8], rax
mov qword [rsi + 0x76d0], rax
mov qword [rsi + 0x76d8], rax
mov eax, dword [r15 + 0x5e68]
add r13d, 1
add rdi, 0x50
add rsi, 0xa0
add r14, 0x28
cmp r13d, eax
jae 0x1402a1670
lea ecx, [r13 + r13]
mov ebx, 0x1000
shl ebx, cl
test ebx, edx
je 0x1402a01fb
movsx eax, byte [r14 + 0x7788]
movsx ecx, byte [r14 + 0x778c]
lea rdx, [rsi + 0x7660]
movsx r10d, byte [r14 + 0x7784]
movsx r9d, byte [r14 + 0x778b]
cmp eax, 0xfffffffe
jne 0x1402a0071
lea rdx, [rsi + 0x764c]
movsx eax, byte [r14 + 0x7783]
jmp 0x1402a0071
je 0x1402a2584
cmp r9d, 0xfffffffe
setne r8b
cmp r10d, 0xfffffffe
sete cl
test r8b, cl
je 0x1402a009c
cmp eax, 0xfffffffe
jne 0x1402a009c
movsx ebp, word [rsi + 0x766c]
movsx ebx, word [rsi + 0x766e]
jmp 0x1402a00e7
mov rcx, qword [r15 + 0x7868]
mov qword [rax], rcx
movzx ecx, word [r15 + 0x783e]
mov word [rax + 0xc], cx
movzx ecx, word [r15 + 0x784e]
mov word [rax + 0xa], cx
movzx ecx, word [r15 + 0x785e]
mov word [rax + 8], cx
jmp 0x14029d700
mov r10, qword [r15 + 0x7818]
mov qword [rax], r10
movzx r10d, word [r15 + 0x77ee]
mov word [rax + 0xc], r10w
movzx r10d, word [r15 + 0x77fe]
mov word [rax + 0xa], r10w
movzx r10d, word [r15 + 0x780e]
mov word [rax + 8], r10w
jmp 0x14029e1cb
mov edi, dword [rsp + 0x60]
test edi, edi
je 0x1402a0355
mov rdx, qword [r13 + 0x8290]
mov esi, dword [rdx + 0x48]
test esi, esi
je 0x1402a3b9e
xor edi, edi
movabs rdx, 0x70007000700070
test qword [r15 + 0x7898], rdx
sete dil
mov dword [rsp + 0x60], edi
test eax, eax
je 0x1402a08ec
lea rax, [r15 + 0x7668]
mov qword [rsp + 0x190], r13
mov dword [rsp + 0xd8], 0
mov r13, r15
mov qword [rsp + 0xf8], rax
lea rax, [r15 + 0x778b]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x12c]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xc8], rax
movsxd rdx, dword [rsp + 0xd8]
mov eax, 0x1000
mov qword [rsp + 0x58], 0
lea ecx, [rdx + rdx]
lea rdi, [rdx*8]
shl eax, cl
mov qword [rsp + 0x108], rdi
mov dword [rsp + 0xe4], eax
mov eax, 0x3000
shl eax, cl
lea rcx, [rdx + rdx*4]
mov dword [rsp + 0x104], eax
mov eax, 0xc
lea r12, [rcx*8]
lea rbp, [r13 + r12]
mov rdi, r12
lea edx, [rax + 1]
mov rbx, qword [rsp + 0x58]
cdqe
movsxd rdx, edx
movzx edx, byte [rdx + rbp + 0x7780]
mov byte [rax + rbp + 0x7780], dl
movzx edx, word [r13 + rbx + 0x7898]
test dh, 1
je 0x1402a0470
lea rax, [rax + rdi + 0x3be8]
lea rax, [r13 + rax*2]
mov dword [rax], 0
mov dword [rax + 0x10], 0
add qword [rsp + 0x58], 2
mov rax, qword [rsp + 0x58]
cmp rax, 8
je 0x1402a08b0
lea rbx, [0x140426a00]
movzx eax, byte [rbx + rax*2]
jmp 0x1402a040a
movzx ecx, dx
test dword [rsp + 0xe4], ecx
je 0x1402a0800
mov eax, edx
mov rsi, qword [rsp + 0xb0]
and eax, 0x18
cmp ax, 1
sbb eax, eax
add eax, 2
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x58]
mov ebx, dword [rsi + rax*2]
test ebx, ebx
jle 0x1402a044e
mov esi, edx
add eax, eax
mov dword [rsp + 0x78], 0
and esi, 8
mov dword [rsp + 0xa0], eax
lea rax, [0x140426a00]
mov word [rsp + 0xd0], si
mov esi, edx
and edx, 0x20
and esi, 0x10
mov word [rsp + 0x102], dx
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xe8], si
jmp 0x1402a059d
mov r8d, dword [rsp + 0x128]
mov word [r12 + 0x24], si
mov ecx, ebx
mov word [r12 + 0x20], si
mov word [r12 + 4], si
mov word [r12 + 0x26], bx
mov word [r12 + 0x22], bx
mov word [r12 + 6], bx
mov byte [r14 + 0x12], r8b
mov byte [r14 + 0x10], r8b
mov byte [r14 + 2], r8b
mov eax, dword [rsp + 0x12c]
mov byte [r14 + 0x13], al
mov byte [r14 + 0x11], al
mov r9d, eax
mov byte [r14 + 3], al
mov rax, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
add dword [rsp + 0xa0], esi
mov rsi, qword [rsp + 0x58]
add dword [rsp + 0x78], 1
add rax, rdi
mov word [r13 + rax*4 + 0x7640], dx
mov word [r13 + rax*4 + 0x7642], cx
mov byte [r13 + rax*2 + 0x77d0], r8b
mov byte [r13 + rax*2 + 0x77d1], r9b
mov eax, dword [rsp + 0x78]
cmp dword [rbx + rsi*2], eax
jle 0x1402a044e
movsxd rax, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x190]
movzx edx, byte [rbx + rax]
mov r11d, dword [r11 + 0x76b8]
movsxd rax, edx
lea ecx, [rdx - 1]
mov esi, edx
mov rbx, rax
mov qword [rsp + 0xa8], rax
add rax, rdi
lea r12, [r13 + rax*4 + 0x7640]
lea r14, [r13 + rax*2 + 0x77d0]
lea eax, [rdx - 8]
movsx r8d, byte [rbx + rbp + 0x7780]
movsxd rcx, ecx
movsxd r9, eax
add eax, dword [rsp + 0x98]
lea r10, [rcx + rdi + 0x1d90]
movsx ebx, byte [r9 + rbp + 0x7780]
test r11d, r11d
lea r10, [r13 + r10*4]
cdqe
mov dword [rsp + 0x88], ebx
movsx ebx, byte [rcx + rbp + 0x7780]
movsx r15d, byte [rax + rbp + 0x7780]
mov dword [rsp + 0x80], ebx
lea rbx, [r9 + rdi + 0x1d90]
lea rbx, [r13 + rbx*4]
je 0x1402a0652
cmp r15d, 0xfffffffe
je 0x1402a0900
cmp r15d, 0xfffffffe
je 0x1402a07d0
lea rax, [rax + rdi + 0x1d90]
mov dword [rsp + 0x90], r15d
lea r11, [r13 + rax*4]
xor r15d, r15d
cmp r8d, dword [rsp + 0x90]
sete r15b
xor edx, edx
cmp r8d, dword [rsp + 0x88]
sete dl
add r15d, edx
xor edx, edx
cmp r8d, dword [rsp + 0x80]
sete dl
add edx, r15d
cmp edx, 1
jle 0x1402a0834
movsx esi, word [rbx]
movsx ebx, word [rbx + 2]
movsx edx, word [r11]
movsx eax, word [r10]
mov r8d, esi
cmp eax, r8d
cmovg esi, eax
cmovg eax, r8d
cmp eax, edx
cmovl eax, edx
cmp esi, eax
cmovg esi, eax
movsx edx, word [r11 + 2]
movsx r8d, word [r10 + 2]
mov eax, ebx
cmp r8d, eax
cmovg ebx, r8d
cmovg r8d, eax
cmp r8d, edx
cmovl r8d, edx
cmp ebx, r8d
cmovg ebx, r8d
add rcx, rdi
add r9, rdi
movzx r15d, byte [r13 + rcx*2 + 0x77d1]
movzx eax, byte [r13 + r9*2 + 0x77d1]
movzx edx, byte [r13 + rcx*2 + 0x77d0]
mov rcx, r13
add eax, r15d
mov dword [rsp + 0x80], eax
movzx eax, byte [r13 + r9*2 + 0x77d0]
mov r9, qword [rsp + 0xc8]
lea r8d, [rdx + rax]
mov edx, 0x28
call fcn.14029ba60
mov r9, qword [rsp + 0xc0]
mov r8d, dword [rsp + 0x80]
mov r15d, eax
mov edx, 0x2f
mov rcx, r13
call fcn.14029ba60
cmp r15d, 0x80000000
je 0x14029d780
cmp eax, 0x80000000
je 0x14029d780
add esi, r15d
add ebx, eax
cmp word [rsp + 0xd0], 0
mov edx, esi
jne 0x1402a04f3
cmp word [rsp + 0xe8], 0
je 0x1402a0880
mov r8d, dword [rsp + 0x128]
mov word [r12 + 4], si
mov ecx, ebx
mov word [r12 + 6], bx
mov byte [r14 + 2], r8b
mov eax, dword [rsp + 0x12c]
mov byte [r14 + 3], al
mov r9d, eax
jmp 0x1402a0543
sub edx, 9
movsxd rdx, edx
lea rax, [rdx + rdi + 0x1d90]
lea r11, [r13 + rax*4]
movsx eax, byte [rdx + rbp + 0x7780]
mov dword [rsp + 0x90], eax
jmp 0x1402a0671
add rax, rdi
lea rdx, [r13 + rax*4 + 0x7640]
lea rax, [r13 + rax*2 + 0x77d0]
mov qword [rdx], 0
mov qword [rdx + 0x20], 0
mov dword [rax], 0
mov dword [rax + 0x10], 0
jmp 0x1402a044e
je 0x1402a0a90
cmp dword [rsp + 0x88], 0xfffffffe
sete dl
cmp dword [rsp + 0x80], 0xfffffffe
setne r8b
test dl, r8b
je 0x1402a06a9
cmp dword [rsp + 0x90], 0xfffffffe
jne 0x1402a06a9
movsx esi, word [r10]
movsx ebx, word [r10 + 2]
jmp 0x1402a06f4
cmp word [rsp + 0x102], 0
jne 0x1402a0a60
mov ecx, ebx
movzx r8d, byte [rsp + 0x128]
movzx r9d, byte [rsp + 0x12c]
jmp 0x1402a0543
add dword [rsp + 0xd8], 1
add qword [rsp + 0xf8], 0xa0
mov eax, dword [rsp + 0xd8]
add qword [rsp + 0xf0], 0x28
cmp dword [r13 + 0x5e68], eax
ja 0x1402a03b1
mov r15, r13
mov r13, qword [rsp + 0x190]
mov edx, dword [rsp + 0x124]
jmp 0x14029d5fc
cmp edx, 0x13
jle 0x1402a07d0
and esi, 7
cmp sil, 4
jne 0x1402a07d0
mov rax, qword [rsp + 0xf0]
cmp byte [rax], 0xfe
je 0x1402a07d0
mov rax, qword [rsp + 0x190]
mov rsi, qword [rsp + 0xf8]
mov rax, qword [rax + 0x6cf0]
mov r11, rsi
mov r15, qword [rax + 0x60]
mov dword [rsi], 0
mov eax, dword [r13 + 0x5838]
test eax, eax
je 0x1402a4061
test byte [r13 + 0x57c8], 0x80
jne 0x1402a07d0
xor eax, eax
cmp edx, 0x23
mov esi, dword [rsp + 0x104]
setg al
mov dword [rsp + 0x90], 0xffffffff
add rax, 0x15ec
movsxd rax, dword [r13 + rax*4 + 4]
test dword [r15 + rax*4], esi
mov dword [rsp + 0x110], eax
mov qword [rsp + 0x118], rax
je 0x1402a0671
mov rsi, qword [rsp + 0x190]
mov r15, qword [rsp + 0x108]
sar edx, 2
mov eax, edx
mov dword [rsp + 0x114], edx
and eax, 3
add r15, qword [rsi + 0x6cf0]
mov rdx, qword [rsi + 0x7698]
imul eax, dword [rsi + 0x76a8]
mov qword [rsp + 0x90], r15
mov r15, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x90]
mov edx, dword [rdx + r15*4]
mov r15, qword [rsp + 0xf8]
lea edx, [rax + rdx + 3]
mov rax, qword [rsi + 0x48]
mov esi, 2
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [r15], dx
movzx eax, word [rax + 2]
mov edx, eax
sar dx, 0xf
idiv si
mov edx, dword [rsp + 0x114]
mov rsi, qword [rsp + 0x90]
and edx, 2
mov word [r15 + 2], ax
mov eax, dword [rsp + 0x110]
lea eax, [rdx + rax*4 + 1]
mov rdx, qword [rsi + 0x88]
cdqe
movsx eax, byte [rdx + rax]
add eax, eax
mov dword [rsp + 0x90], eax
jmp 0x1402a0671
mov eax, dword [rsp + 0x128]
mov word [r12 + 0x20], si
mov ecx, ebx
mov word [r12 + 0x22], bx
mov r8d, eax
mov byte [r14 + 0x10], al
mov eax, dword [rsp + 0x12c]
mov r9d, eax
mov byte [r14 + 0x11], al
jmp 0x1402a0543
cmp r8d, dword [rsp + 0x80]
je 0x1402a0868
cmp r8d, dword [rsp + 0x88]
je 0x1402a3a44
movsx esi, word [r11]
movsx ebx, word [r11 + 2]
jmp 0x1402a06f4
mov r13, qword [rsp + 0x190]
mov eax, dword [rsp + 0x124]
movsxd rbx, dword [r15 + 0x630]
test al, 2
je 0x1402a1f80
mov eax, dword [r15 + 0x585c]
lea r9, [r15 + 0x8520]
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8520], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8530], xmm0
shr eax, 0xa
and eax, 1
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8540], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x8550], xmm0
test byte [r15 + 0x5859], 4
mov edx, eax
lea eax, [rax + 2]
cmove eax, edx
lea r10, [0x140423560]
add eax, 0x1d8
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r8]
mov esi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub esi, eax
mov ecx, esi
shl esi, 0x11
cmp esi, edx
cmova eax, ecx
sbb rcx, rcx
and esi, ecx
xor r11, rcx
sub edx, esi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx esi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r8], sil
test dx, dx
jne 0x1402a0bd1
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx esi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap esi
shr esi, 0xf
movzx ecx, byte [r10 + rcx]
sub esi, 0xffff
neg ecx
add ecx, 7
shl esi, cl
add edx, esi
and r11d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a3f58
mov byte [r15 + 0x7610], 0
test byte [rsp + 0x48], 0xf
je 0x14029f57c
mov rax, qword [r13 + 0x8288]
shl rbx, 6
lea rdi, [r13 + 0x72e8]
mov qword [rsp + 0x190], r13
lea rsi, [r15 + 0x78a0]
lea r12, [0x140426a21]
mov ebp, 0x20
mov r8d, 0x5c
add rbx, qword [rax + 0x2a6f0]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rdi
add rax, 1
mov r13, rax
jmp 0x1402a0c71
movsxd r8, r8d
mov byte [r15 + r8 + 0x75c0], 0
add ebp, 1
cmp ebp, 0x30
je 0x14029f040
movzx r8d, byte [r12]
add r12, 1
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1dc
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov edi, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub edi, eax
mov ecx, edi
shl edi, 0x11
cmp edi, edx
cmova eax, ecx
sbb rcx, rcx
and edi, ecx
xor r11, rcx
sub edx, edi
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx edi, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], dil
test dx, dx
jne 0x1402a0d37
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx edi, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap edi
shr edi, 0xf
movzx ecx, byte [r10 + rcx]
sub edi, 0xffff
neg ecx
add ecx, 7
shl edi, cl
add edx, edi
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
je 0x1402a0c50
movzx ecx, byte [rsp + 0x54]
mov eax, ebp
mov dword [rsp + 0x38], 0xf
shl eax, 4
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ebp
mov r9d, 0xb
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x40]
cdqe
lea r8, [rsi + rax*2]
call fcn.14029b0c0
jmp 0x1402a0c5c
test byte [rsp + 0x48], 0x30
je 0x1402a0f5e
mov eax, dword [r15 + 0x585c]
lea rbx, [r15 + 0x78a0]
sar eax, 6
and eax, 1
test byte [r15 + 0x5858], 0x40
lea edx, [rax + 2]
cmovne eax, edx
lea r9, [0x140423560]
add eax, 0x61
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r10d, byte [r8]
mov r11d, eax
and eax, 0xc0
lea ecx, [r10d + eax*2]
movzx eax, byte [r9 + rcx + 0x200]
sub r11d, eax
mov ecx, r11d
shl r11d, 0x11
cmp r11d, edx
cmova eax, ecx
sbb rcx, rcx
and r11d, ecx
xor r10, rcx
sub edx, r11d
movzx ecx, byte [r9 + rax]
shl eax, cl
movzx r11d, byte [r9 + r10 + 0x480]
shl edx, cl
mov byte [r8], r11b
test dx, dx
jne 0x1402a0e63
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r9 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add edx, r11d
and r10d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a402c
mov byte [r15 + 0x75e8], 0
mov eax, dword [r15 + 0x585c]
sar eax, 7
and eax, 1
test byte [r15 + 0x5858], 0x80
lea edx, [rax + 2]
cmovne eax, edx
lea r9, [0x140423560]
add eax, 0x61
mov edx, dword [r15 + 0x8970]
cdqe
lea r8, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r10d, byte [r8]
mov r11d, eax
and eax, 0xc0
lea ecx, [r10d + eax*2]
movzx eax, byte [r9 + rcx + 0x200]
sub r11d, eax
mov ecx, r11d
shl r11d, 0x11
cmp r11d, edx
cmova eax, ecx
sbb rcx, rcx
and r11d, ecx
xor r10, rcx
sub edx, r11d
movzx ecx, byte [r9 + rax]
shl eax, cl
movzx r11d, byte [r9 + r10 + 0x480]
shl edx, cl
mov byte [r8], r11b
test dx, dx
jne 0x1402a0f41
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r9 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add edx, r11d
and r10d, 1
mov dword [r15 + 0x8970], edx
mov dword [r14 + 4], eax
jne 0x1402a3ff7
mov byte [r15 + 0x7610], 0
test byte [rsp + 0x48], 0x20
je 0x14029f550
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x54]
lea rdi, [0x140426a00]
mov r8d, 0x34
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x190], r13
mov qword [rsp + 0x58], rdi
add rax, 1
mov qword [rsp + 0x78], rax
lea rax, [r15 + 0x78a0]
mov qword [rsp + 0x88], rax
mov eax, 0x10
shl eax, cl
cdqe
add rax, rax
mov qword [rsp + 0x40], rax
lea rax, [r15 + 0x62c]
mov qword [rsp + 0x70], rax
lea rax, [r13 + 0x72e8]
mov qword [rsp + 0x80], rax
add dword [rsp + 0x48], 1
mov rbx, qword [rsp + 0x88]
mov esi, dword [rsp + 0x48]
mov eax, esi
shl eax, 8
shl eax, cl
cdqe
lea rbp, [rbx + rax*2]
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rax + 0x8288]
mov eax, dword [rsp + 0x124]
movsxd rcx, dword [rbx]
mov ebx, esi
and eax, 7
cmp eax, 1
sbb eax, eax
shl rcx, 6
shl ebx, 4
and eax, 3
add eax, esi
xor esi, esi
cdqe
add rcx, qword [rdx + rax*8 + 0x2a6e0]
mov qword [rsp + 0x60], rcx
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r12d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r12d, eax
mov ecx, r12d
shl r12d, 0x11
cmp r12d, edx
cmova eax, ecx
sbb rcx, rcx
and r12d, ecx
xor r11, rcx
sub edx, r12d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r12d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r12b
test dx, dx
jne 0x1402a110d
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r12d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r12d
shr r12d, 0xf
movzx ecx, byte [r10 + rcx]
sub r12d, 0xffff
neg ecx
add ecx, 7
shl r12d, cl
add edx, r12d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a26f4
movsxd r8, r8d
mov byte [r15 + r8 + 0x75c0], 0
lea r11d, [rbx + 1]
add rbp, qword [rsp + 0x40]
movsxd rax, r11d
movzx r8d, byte [rdi + rax]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r12d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r12d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r12, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r12 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a120c
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r12d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a26b5
mov byte [r15 + r8 + 0x75c0], 0
lea r11d, [rbx + 2]
add rbp, qword [rsp + 0x40]
movsxd rax, r11d
movzx r8d, byte [rdi + rax]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r12d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r12d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r12, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r12 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a1308
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r12d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a2676
mov byte [r15 + r8 + 0x75c0], 0
lea r11d, [rbx + 3]
add rbp, qword [rsp + 0x40]
movsxd rax, r11d
movzx r8d, byte [rdi + rax]
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x65
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r12d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r12d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r12, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r12 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a1404
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r12d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a2732
mov byte [r15 + r8 + 0x75c0], 0
add esi, 1
add ebx, 8
cmp esi, 2
je 0x1402a1440
movsxd rax, ebx
add rbp, qword [rsp + 0x40]
movzx r8d, byte [rdi + rax]
jmp 0x1402a103c
add qword [rsp + 0x58], 0x10
add qword [rsp + 0x70], 4
cmp dword [rsp + 0x48], 2
mov rax, qword [rsp + 0x58]
je 0x14029f040
movzx r8d, byte [rax + 0x10]
movzx ecx, byte [rsp + 0x54]
jmp 0x1402a0fd9
add ebp, 1
sar ebp, 1
neg ebp
jmp 0x14029da68
jne 0x14029d168
test r9d, r9d
jne 0x1402a4194
movsx edx, word [rcx]
movsx eax, word [rcx + 2]
jmp 0x14029d1b1
mov rax, qword [rsp + 0x68]
mov rdx, qword [r13 + 0x76d8]
mov r12d, dword [r15 + 0x57c8]
lea rsi, [rdx + rax]
xor eax, eax
test r12d, r12d
je 0x1402a14cf
movsxd rax, dword [r15 + 0x57b4]
cmp byte [rdx + rax], 0
setne al
movzx eax, al
mov ebp, dword [r15 + 0x57c0]
test ebp, ebp
je 0x1402a14e8
movsxd rcx, dword [r15 + 0x57ac]
cmp byte [rdx + rcx], 1
sbb eax, 0xffffffff
add eax, 0x40
lea rbx, [r15 + 0x8970]
cdqe
lea rdx, [r15 + rax + 0x89c0]
mov rcx, rbx
call fcn.140298bb0
xor edx, edx
test eax, eax
mov r9d, eax
jne 0x1402a3a50
mov byte [rsi], dl
mov edx, dword [r15 + 0x57e0]
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], 1
mov r8d, dword [r15 + 0x57e8]
call fcn.14018de20
test eax, eax
js 0x14029dc87
mov dword [r15 + 0x5770], eax
mov edx, dword [rsp + 0x124]
jmp 0x14029d5fc
mov ebp, dword [r15 + 0x5e68]
test ebp, ebp
je 0x14029d5fc
lea rbx, [r15 + 0x779c]
lea r12, [r15 + 0x5e60]
mov ebp, 1
xor esi, esi
mov r14d, 0x1000
jmp 0x1402a15ff
mov dword [rbx - 0x10], 0xffffffff
mov dword [rbx - 8], 0xffffffff
mov eax, r14d
mov ecx, ebp
shl eax, cl
test dword [rsp + 0x124], eax
je 0x1402a1630
mov ecx, dword [r15 + 0x583c]
mov edi, dword [r12]
shl edi, cl
cmp edi, 1
jbe 0x1402a1660
mov r8d, 8
mov edx, esi
mov rcx, r15
call fcn.14029a7a0
cmp edi, eax
jbe 0x1402a3bbe
imul eax, eax, 0x1010101
mov dword [rbx], eax
mov dword [rbx + 8], eax
mov eax, dword [r15 + 0x5e68]
add esi, 1
add rbx, 0x28
add r12, 4
add ebp, 2
mov edx, dword [rsp + 0x124]
cmp eax, esi
jbe 0x1402a2771
lea ecx, [rsi + rsi]
mov eax, r14d
shl eax, cl
test eax, edx
je 0x1402a1580
mov ecx, dword [r15 + 0x583c]
mov edi, dword [r12]
shl edi, cl
cmp edi, 1
ja 0x1402a1640
xor eax, eax
mov dword [rbx - 0x10], eax
mov dword [rbx - 8], eax
jmp 0x1402a158e
mov dword [rbx], 0xffffffff
mov dword [rbx + 8], 0xffffffff
jmp 0x1402a15db
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.14029a7a0
cmp eax, edi
jae 0x1402a3bbe
imul eax, eax, 0x1010101
jmp 0x1402a1623
xor eax, eax
jmp 0x1402a15d6
mov r13, qword [rsp + 0x190]
jmp 0x14029d5fc
and ebp, 0x80
je 0x14029e103
mov r10d, dword [r10]
sar edi, 1
mov dword [rsp + 0x134], r10d
lea r10, [rsp + 0x134]
shl word [rsp + 0x136], 1
jmp 0x14029e103
movzx ecx, byte [rsp + 0x54]
mov qword [rsp + 0x30], rdi
mov eax, ebp
mov rdi, qword [rsp + 0x48]
shl eax, 8
mov dword [rsp + 0x38], 0xf
add eax, 0x30
mov dword [rsp + 0x20], ebx
mov r9d, 4
mov rdx, r15
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x58]
shl eax, cl
cdqe
mov rcx, qword [rsp + 0x60]
lea r8, [rdi + rax*2]
call fcn.14029b0c0
jmp 0x14029eff4
movzx ecx, byte [rsp + 0x54]
mov eax, ebp
mov dword [rsp + 0x20], esi
shl eax, 8
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x38], 0xf
add eax, 0x20
mov qword [rsp + 0x30], rdi
mov r9d, 4
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
lea r8, [rsi + rax*2]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
call fcn.14029b0c0
jmp 0x14029ef0d
movzx ecx, byte [rsp + 0x54]
mov eax, ebp
mov dword [rsp + 0x20], esi
shl eax, 8
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x38], 0xf
add eax, 0x10
mov qword [rsp + 0x30], rdi
mov r9d, 4
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
lea r8, [rsi + rax*2]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
call fcn.14029b0c0
jmp 0x14029ee19
movzx ecx, byte [rsp + 0x54]
mov rsi, qword [rsp + 0x48]
mov eax, ebp
shl eax, 8
mov dword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x20], ebx
mov r9d, 4
mov rdx, r15
mov qword [rsp + 0x28], rsi
mov rsi, qword [rsp + 0x58]
shl eax, cl
mov rcx, qword [rsp + 0x60]
cdqe
lea r8, [rsi + rax*2]
call fcn.14029b0c0
jmp 0x14029ed25
mov rax, qword [rsp + 0x40]
lea rdx, [r13 + 0x76d0]
lea rcx, [r13 + 0x72e8]
mov dword [rsp + 0x38], 0x10
mov dword [rsp + 0x28], 0x30
mov r8, r15
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x30], rax
call fcn.14029a930
jmp 0x14029deda
movzx ecx, byte [rsp + 0x54]
lea eax, [rdi + 0x30]
mov dword [rsp + 0x38], 0x10
mov r9d, 2
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x88]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [r12 + 3]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x58]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x78]
call fcn.14029b0c0
jmp 0x14029e9b0
movzx ecx, byte [rsp + 0x54]
lea eax, [rdi + 0x20]
mov dword [rsp + 0x38], 0x10
mov r9d, 2
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x88]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [r12 + 2]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x58]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x78]
call fcn.14029b0c0
jmp 0x14029f32f
movzx ecx, byte [rsp + 0x54]
lea eax, [rdi + 0x10]
mov dword [rsp + 0x38], 0x10
mov r9d, 2
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x88]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [r12 + 1]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x58]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x78]
call fcn.14029b0c0
jmp 0x14029f240
movzx ecx, byte [rsp + 0x54]
mov eax, edi
mov dword [rsp + 0x38], 0x10
mov dword [rsp + 0x20], r12d
mov r9d, 2
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x88]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x58]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x78]
call fcn.14029b0c0
jmp 0x14029f151
mov edx, eax
lea r12, [0x140426a00]
mov qword [rsp + 0x190], r13
and edx, 7
cmp edx, 1
sbb edx, edx
and eax, 0x1000000
xor ebp, ebp
and edx, 3
mov dword [rsp + 0x58], eax
mov rax, rbx
add edx, 1
shl rbx, 6
shl rax, 8
movsxd rsi, edx
mov qword [rsp + 0x70], rbx
xor edi, edi
mov qword [rsp + 0x60], rsi
lea rsi, [r15 + 0x78a0]
xor ebx, ebx
mov qword [rsp + 0x90], rax
mov eax, 0x34
mov qword [rsp + 0x78], rsi
lea rsi, [r13 + 0x72e8]
mov qword [rsp + 0x88], rsi
mov esi, dword [rsp + 0x48]
bt esi, ebp
jae 0x1402a1b59
mov r10d, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x190]
test r10d, r10d
mov rdx, qword [rsi + 0x8288]
je 0x1402a1b70
mov rsi, qword [rsp + 0x60]
lea ecx, [rax - 8]
movsxd rcx, ecx
mov rsi, qword [rdx + rsi*8 + 0x2a710]
lea edx, [rax - 1]
movsxd rdx, edx
cmp byte [r15 + rdx + 0x75c0], 0
setne dl
cmp byte [r15 + rcx + 0x75c0], 0
movzx edx, dl
lea r8d, [rdx + 2]
cmovne edx, r8d
lea r10, [0x140423560]
add edx, 0x3f8
mov r8d, dword [r15 + 0x8970]
movsxd rdx, edx
lea r9, [r15 + rdx + 0x89c0]
mov edx, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, edx
and edx, 0xc0
lea ecx, [r11d + edx*2]
movzx edx, byte [r10 + rcx + 0x200]
sub r13d, edx
mov ecx, r13d
shl r13d, 0x11
cmp r13d, r8d
cmova edx, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub r8d, r13d
movzx ecx, byte [r10 + rdx]
shl edx, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl r8d, cl
mov byte [r9], r13b
test r8w, r8w
jne 0x1402a1b05
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add r8d, r13d
and r11d, 1
mov dword [r14], r8d
mov dword [r14 + 4], edx
jne 0x1402a3ef8
cdqe
xor r8d, r8d
xor r9d, r9d
lea rax, [r15 + rax + 0x75c0]
mov word [rax], r8w
mov word [rax + 8], r9w
nop
add ebp, 1
add r12, 4
add ebx, 0x40
add edi, 4
cmp ebp, 4
je 0x1402a0ac0
mov esi, dword [rsp + 0x48]
movzx eax, byte [r12 + 0x10]
bt esi, ebp
jb 0x1402a1a00
lea rax, [r15 + rax + 0x75c0]
xor edx, edx
xor ecx, ecx
mov word [rax], dx
mov word [rax + 8], cx
jmp 0x1402a1b30
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
add rsi, qword [rdx + rcx*8 + 0x2a6e0]
lea edx, [rax - 1]
lea ecx, [rdi + 0x10]
movsxd rdx, edx
mov dword [rsp + 0x98], ecx
lea ecx, [rax - 8]
cmp byte [r15 + rdx + 0x75c0], 0
movsxd rcx, ecx
setne dl
cmp byte [r15 + rcx + 0x75c0], 0
movzx edx, dl
lea r8d, [rdx + 2]
cmovne edx, r8d
lea r10, [0x140423560]
add edx, 0x1d4
mov r8d, dword [r15 + 0x8970]
movsxd rdx, edx
lea r9, [r15 + rdx + 0x89c0]
mov edx, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, edx
and edx, 0xc0
lea ecx, [r11d + edx*2]
movzx edx, byte [r10 + rcx + 0x200]
sub r13d, edx
mov ecx, r13d
shl r13d, 0x11
cmp r13d, r8d
cmova edx, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub r8d, r13d
movzx ecx, byte [r10 + rdx]
shl edx, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl r8d, cl
mov byte [r9], r13b
test r8w, r8w
jne 0x1402a1c67
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add r8d, r13d
and r11d, 1
mov dword [r14], r8d
mov dword [r14 + 4], edx
jne 0x1402a3e6a
cdqe
mov byte [r15 + rax + 0x75c0], 0
movzx r8d, byte [r12 + 0x11]
lea eax, [rdi + 0x11]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1d4
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a1d66
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3e19
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x12]
lea eax, [rdi + 0x12]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1d4
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a1e63
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3dc8
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x13]
lea eax, [rdi + 0x13]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1d4
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a1f60
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3d77
mov byte [r15 + r8 + 0x75c0], 0
jmp 0x1402a1b30
mov edx, eax
lea r12, [0x140426a00]
mov qword [rsp + 0x190], r13
and edx, 7
cmp edx, 1
sbb edx, edx
and eax, 0x1000000
xor ebp, ebp
and edx, 3
mov dword [rsp + 0x58], eax
mov rax, rbx
add edx, 2
shl rbx, 6
shl rax, 8
movsxd rsi, edx
mov qword [rsp + 0x70], rbx
xor edi, edi
mov qword [rsp + 0x60], rsi
lea rsi, [r15 + 0x78a0]
xor ebx, ebx
mov qword [rsp + 0x90], rax
mov eax, 0x5c
mov qword [rsp + 0x78], rsi
lea rsi, [r13 + 0x72e8]
mov qword [rsp + 0x88], rsi
mov esi, dword [rsp + 0x48]
bt esi, ebp
jae 0x1402a2155
mov r13d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x190]
test r13d, r13d
mov rdx, qword [rcx + 0x8288]
je 0x1402a2170
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rdx + rcx*8 + 0x2a710]
lea edx, [rax - 1]
movsxd rdx, edx
cmp byte [r15 + rdx + 0x75c0], 0
mov qword [rsp + 0x48], rcx
lea ecx, [rax - 8]
movsxd rcx, ecx
setne dl
cmp byte [r15 + rcx + 0x75c0], 0
movzx edx, dl
lea r8d, [rdx + 2]
cmovne edx, r8d
lea r10, [0x140423560]
add edx, 0x3fc
mov r8d, dword [r15 + 0x8970]
movsxd rdx, edx
lea r9, [r15 + rdx + 0x89c0]
mov edx, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, edx
and edx, 0xc0
lea ecx, [r11d + edx*2]
movzx edx, byte [r10 + rcx + 0x200]
sub r13d, edx
mov ecx, r13d
shl r13d, 0x11
cmp r13d, r8d
cmova edx, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub r8d, r13d
movzx ecx, byte [r10 + rdx]
shl edx, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl r8d, cl
mov byte [r9], r13b
test r8w, r8w
jne 0x1402a2105
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add r8d, r13d
and r11d, 1
mov dword [r14], r8d
mov dword [r14 + 4], edx
jne 0x1402a3f95
cdqe
xor r10d, r10d
xor r11d, r11d
lea rax, [r15 + rax + 0x75c0]
mov word [rax], r10w
mov word [rax + 8], r11w
nop
add ebp, 1
add r12, 4
add ebx, 0x40
add edi, 4
cmp ebp, 4
je 0x14029f040
bt esi, ebp
movzx eax, byte [r12 + 0x20]
jb 0x1402a1ffb
lea rax, [r15 + rax + 0x75c0]
xor r8d, r8d
xor r9d, r9d
mov word [rax], r8w
mov word [rax + 8], r9w
jmp 0x1402a2130
mov r10, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
add rcx, qword [rdx + r10*8 + 0x2a6e0]
lea edx, [rax - 1]
movsxd rdx, edx
cmp byte [r15 + rdx + 0x75c0], 0
mov qword [rsp + 0x48], rcx
lea ecx, [rdi + 0x20]
mov dword [rsp + 0x98], ecx
lea ecx, [rax - 8]
setne dl
movsxd rcx, ecx
movzx edx, dl
cmp byte [r15 + rcx + 0x75c0], 0
lea r8d, [rdx + 2]
cmovne edx, r8d
lea r10, [0x140423560]
add edx, 0x1e0
mov r8d, dword [r15 + 0x8970]
movsxd rdx, edx
lea r9, [r15 + rdx + 0x89c0]
mov edx, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, edx
and edx, 0xc0
lea ecx, [r11d + edx*2]
movzx edx, byte [r10 + rcx + 0x200]
sub r13d, edx
mov ecx, r13d
shl r13d, 0x11
cmp r13d, r8d
cmova edx, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub r8d, r13d
movzx ecx, byte [r10 + rdx]
shl edx, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl r8d, cl
mov byte [r9], r13b
test r8w, r8w
jne 0x1402a226c
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add r8d, r13d
and r11d, 1
mov dword [r14], r8d
mov dword [r14 + 4], edx
jne 0x1402a3d21
cdqe
mov byte [r15 + rax + 0x75c0], 0
movzx r8d, byte [r12 + 0x21]
lea eax, [rdi + 0x21]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1e0
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a236b
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3ccb
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x22]
lea eax, [rdi + 0x22]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1e0
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a2468
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3c75
mov byte [r15 + r8 + 0x75c0], 0
movzx r8d, byte [r12 + 0x23]
lea eax, [rdi + 0x23]
mov dword [rsp + 0x98], eax
lea eax, [r8 - 1]
lea edx, [r8 - 8]
cdqe
movsxd rdx, edx
cmp byte [r15 + rax + 0x75c0], 0
setne al
cmp byte [r15 + rdx + 0x75c0], 0
movzx eax, al
lea ecx, [rax + 2]
cmovne eax, ecx
lea r10, [0x140423560]
add eax, 0x1e0
mov edx, dword [r15 + 0x8970]
cdqe
lea r9, [r15 + rax + 0x89c0]
mov eax, dword [r15 + 0x8974]
movzx r11d, byte [r9]
mov r13d, eax
and eax, 0xc0
lea ecx, [r11d + eax*2]
movzx eax, byte [r10 + rcx + 0x200]
sub r13d, eax
mov ecx, r13d
shl r13d, 0x11
cmp r13d, edx
cmova eax, ecx
sbb rcx, rcx
and r13d, ecx
xor r11, rcx
sub edx, r13d
movzx ecx, byte [r10 + rax]
shl eax, cl
movzx r13d, byte [r10 + r11 + 0x480]
shl edx, cl
mov byte [r9], r13b
test dx, dx
jne 0x1402a2565
mov rcx, qword [r14 + 0x18]
add qword [r14 + 0x18], 2
movzx r13d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r13d
shr r13d, 0xf
movzx ecx, byte [r10 + rcx]
sub r13d, 0xffff
neg ecx
add ecx, 7
shl r13d, cl
add edx, r13d
and r11d, 1
mov dword [r14], edx
mov dword [r14 + 4], eax
jne 0x1402a3c1f
mov byte [r15 + r8 + 0x75c0], 0
jmp 0x1402a2130
cmp ecx, r9d
je 0x1402a0297
cmp ecx, r10d
je 0x1402a4181
movsx ebp, word [rdx]
movsx ebx, word [rdx + 2]
jmp 0x1402a00e7
test eax, eax
je 0x1402a25e6
test eax, 0x1000000
jne 0x1402a25e6
mov eax, edx
and eax, 7
cmp eax, 1
sbb eax, eax
not eax
and eax, 0x40
mov byte [r15 + 0x7623], al
mov byte [r15 + 0x761b], al
mov byte [r15 + 0x75fb], al
mov byte [r15 + 0x75f3], al
mov byte [r15 + 0x75d3], al
mov byte [r15 + 0x75cb], al
mov eax, dword [r15 + 0x57cc]
test eax, eax
je 0x1402a2631
test eax, 0x1000000
jne 0x1402a2631
mov eax, edx
and eax, 7
cmp eax, 1
sbb eax, eax
not eax
and eax, 0x40
mov byte [r15 + 0x7633], al
mov byte [r15 + 0x762b], al
mov byte [r15 + 0x760b], al
mov byte [r15 + 0x7603], al
mov byte [r15 + 0x75e3], al
mov byte [r15 + 0x75db], al
mov eax, dword [r15 + 0x57c0]
test eax, eax
je 0x14029d9ae
test eax, 0x1000000
jne 0x14029d9ae
mov eax, edx
and eax, 7
cmp eax, 1
sbb eax, eax
not eax
and eax, 0x40404040
mov dword [r15 + 0x75c4], eax
mov dword [r15 + 0x75ec], eax
mov dword [r15 + 0x7614], eax
jmp 0x14029d9ae
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 4
mov dword [rsp + 0x38], 0xf
mov dword [rsp + 0x20], r11d
mov r8, rbp
mov rdx, r15
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.14029b0c0
jmp 0x1402a1322
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 4
mov dword [rsp + 0x38], 0xf
mov dword [rsp + 0x20], r11d
mov r8, rbp
mov rdx, r15
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.14029b0c0
jmp 0x1402a1226
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 4
mov dword [rsp + 0x38], 0xf
mov dword [rsp + 0x20], ebx
mov r8, rbp
mov rdx, r15
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.14029b0c0
jmp 0x1402a112a
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 4
mov dword [rsp + 0x38], 0xf
mov dword [rsp + 0x20], r11d
mov r8, rbp
mov rdx, r15
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.14029b0c0
jmp 0x1402a141e
test eax, eax
je 0x14029d5fc
lea rax, [r15 + 0x7668]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x90], r15
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x190], r13
mov r14, r15
mov qword [rsp + 0x80], rax
movzx eax, byte [0x140426a00]
lea ecx, [rax - 8]
sub eax, 1
cdqe
movsxd rdi, ecx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], rdi
lea rdi, [rsp + 0x12c]
mov qword [rsp + 0xc0], rdi
jmp 0x1402a2a8b
mov rax, qword [rsp + 0x78]
test r12, r12
movsx r8d, byte [rax + r12*2 + 0x778c]
je 0x1402a44bf
movsx eax, byte [rax + 0x779b]
cmp r8d, eax
je 0x1402a2b30
lea rax, [0x140426a00]
mov rdi, qword [rsp + 0x88]
movzx eax, byte [rax + r12]
lea r11, [rdi*8]
lea rdx, [r14 + r11]
lea r9d, [rax - 8]
lea ecx, [rax - 1]
mov ebp, eax
movsxd r9, r9d
movsxd rcx, ecx
movsx edi, byte [rdx + r9 + 0x7780]
lea r10, [r11 + rcx + 0x1d90]
lea r11, [r11 + r9 + 0x1d90]
lea rsi, [r14 + r11*4]
lea r11d, [rax - 4]
lea r10, [r14 + r10*4]
mov dword [rsp + 0xb0], edi
movsx edi, byte [rdx + rcx + 0x7780]
movsxd r11, r11d
movsx edx, byte [rdx + r11 + 0x7780]
mov dword [rsp + 0xa8], edi
mov rdi, qword [rsp + 0x190]
mov edi, dword [rdi + 0x76b8]
test edi, edi
je 0x1402a2898
cmp edx, 0xfffffffe
je 0x1402a2be2
cmp edx, 0xfffffffe
je 0x1402a2b60
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0xa0], edx
lea rax, [r11 + rax*8 + 0x1d90]
lea r11, [r14 + rax*4]
xor ebp, ebp
cmp r8d, dword [rsp + 0xa0]
sete bpl
xor eax, eax
cmp r8d, dword [rsp + 0xb0]
sete al
add ebp, eax
xor eax, eax
cmp r8d, dword [rsp + 0xa8]
sete al
add eax, ebp
cmp eax, 1
jle 0x1402a2ba0
movsx edi, word [rsi]
movsx esi, word [rsi + 2]
movsx edx, word [r11]
movsx eax, word [r10]
mov r8d, edi
cmp eax, r8d
cmovg edi, eax
cmovg eax, r8d
cmp eax, edx
cmovl eax, edx
cmp edi, eax
cmovg edi, eax
movsx eax, word [r11 + 2]
movsx edx, word [r10 + 2]
mov r11d, esi
cmp edx, r11d
cmovg esi, edx
cmovg edx, r11d
cmp edx, eax
cmovl edx, eax
cmp esi, edx
cmovg esi, edx
mov rax, qword [rsp + 0x98]
lea rax, [rax + rax*4]
shl rax, 3
add rcx, rax
add r9, rax
movzx edx, byte [r14 + rcx*2 + 0x77d1]
movzx ebp, byte [r14 + r9*2 + 0x77d1]
lea eax, [rdx + rbp]
movzx edx, byte [r14 + rcx*2 + 0x77d0]
mov rcx, r14
mov dword [rsp + 0xa0], eax
movzx eax, byte [r14 + r9*2 + 0x77d0]
mov r9, qword [rsp + 0xc0]
lea r8d, [rdx + rax]
mov edx, 0x28
call fcn.14029ba60
mov r8d, dword [rsp + 0xa0]
lea r9, [rsp + 0x130]
mov ebp, eax
mov edx, 0x2f
mov rcx, r14
call fcn.14029ba60
cmp ebp, 0x80000000
je 0x14029d780
cmp eax, 0x80000000
je 0x14029d780
movzx edx, word [rsp + 0x130]
movzx ecx, byte [rsp + 0x12c]
lea r10d, [rbp + rdi]
add esi, eax
movzx r10d, r10w
shl esi, 0x10
lea eax, [r10 + rsi]
shl edx, 8
add edx, ecx
movzx edx, dx
mov rcx, rdx
shl rcx, 0x10
add rdx, rcx
mov rcx, rdx
shl rcx, 0x20
add rdx, rcx
mov qword [r15 + 0x77e8], rdx
mov qword [r15 + 0x77f8], rdx
mov rdx, rax
shl rdx, 0x20
add rax, rdx
mov edx, dword [rsp + 0x124]
mov qword [rbx + 0x7670], rax
mov qword [rbx + 0x7678], rax
mov qword [rbx + 0x7690], rax
mov qword [rbx + 0x7698], rax
add r12, 8
add r13d, 1
add r15, 0x20
add rbx, 0x40
cmp r12, 0x10
jne 0x1402a2ad5
add dword [rsp + 0x58], 1
add qword [rsp + 0x90], 0x50
mov eax, dword [rsp + 0x58]
add qword [rsp + 0x80], 0xa0
add qword [rsp + 0x78], 0x28
cmp dword [r14 + 0x5e68], eax
jbe 0x1402a3be4
mov edi, dword [rsp + 0x58]
mov eax, 0x3000
mov r15, qword [rsp + 0x90]
xor r12d, r12d
lea r13d, [rdi + rdi]
mov ecx, r13d
shl eax, cl
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x80]
lea rbx, [rax - 0x7668]
movsxd rax, edi
mov qword [rsp + 0x98], rax
lea rax, [rax + rax*4]
mov qword [rsp + 0x88], rax
mov eax, 0x1000
mov ecx, r13d
shl eax, cl
test eax, edx
jne 0x1402a27e0
mov qword [r15 + 0x77e8], 0
mov qword [r15 + 0x77f8], 0
mov qword [rbx + 0x7670], 0
mov qword [rbx + 0x7678], 0
mov qword [rbx + 0x7690], 0
mov qword [rbx + 0x7698], 0
jmp 0x1402a2a44
mov rax, qword [rsp + 0x80]
movsx edi, word [rax + 0x44]
movsx esi, word [rax + 0x46]
lea rax, [0x140426a00]
movzx r9d, byte [rax + r12]
lea ecx, [r9 - 1]
sub r9d, 8
movsxd r9, r9d
movsxd rcx, ecx
jmp 0x1402a2938
mov rdi, qword [rsp + 0x88]
sub eax, 9
cdqe
lea rdx, [rdi*8]
lea r11, [rax + rdx + 0x1d90]
add rdx, r14
movsx eax, byte [rax + rdx + 0x7780]
lea r11, [r14 + r11*4]
mov dword [rsp + 0xa0], eax
jmp 0x1402a28bc
je 0x1402a3abf
cmp dword [rsp + 0xa8], 0xfffffffe
setne al
cmp dword [rsp + 0xb0], 0xfffffffe
sete r8b
test al, r8b
je 0x1402a2d60
cmp dword [rsp + 0xa0], 0xfffffffe
jne 0x1402a2d60
movsx edi, word [r10]
movsx esi, word [r10 + 2]
jmp 0x1402a2938
cmp eax, 0x13
jle 0x1402a2b60
and ebp, 7
cmp bpl, 4
jne 0x1402a2b60
mov rdi, qword [rsp + 0x78]
cmp byte [rdi + 0x778b], 0xfe
je 0x1402a2b60
mov rdi, qword [rsp + 0x190]
mov rdx, qword [rdi + 0x6cf0]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rdx + 0x60]
mov dword [rdi], 0
mov r11, rdi
mov edx, dword [r14 + 0x5838]
test edx, edx
jne 0x1402a42a8
test byte [r14 + 0x57c8], 0x80
je 0x1402a2b60
mov rdx, qword [rsp + 0x190]
sar eax, 5
mov edi, dword [rdx + 0x7954]
mov edx, dword [r14 + 0x5814]
and edx, 1
mov dword [rsp + 0xa0], edi
add edi, dword [r14 + 0x57b4]
lea eax, [rax + rdx*2]
mov dword [rsp + 0xe4], eax
sar eax, 2
imul eax, dword [rsp + 0xa0]
mov dword [rsp + 0xd8], edi
mov dword [rsp + 0xa0], 0xffffffff
add eax, edi
mov edi, dword [rsp + 0xb8]
cdqe
test dword [rbp + rax*4], edi
je 0x1402a28bc
mov rdx, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x190]
mov rax, qword [rdx + 0x6cf0]
mov rdx, qword [rsp + 0x98]
lea rdi, [rax + rdx*8]
movsxd rdx, dword [rsp + 0xd8]
mov rax, qword [rbp + 0x7698]
mov qword [rsp + 0xa0], rdi
mov edi, dword [rsp + 0xe4]
mov edx, dword [rax + rdx*4]
mov eax, dword [rbp + 0x76a8]
mov rbp, qword [rsp + 0xa0]
imul eax, edi
lea edx, [rdx + rax + 3]
mov rax, qword [rbp + 0x48]
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [r11], dx
movzx eax, word [rax + 2]
mov edx, dword [rsp + 0xd8]
add eax, eax
mov word [r11 + 2], ax
mov eax, edi
mov rdi, qword [rsp + 0xa0]
and eax, 0xfffffffe
lea eax, [rax + rdx*4 + 1]
mov rdx, qword [rdi + 0x88]
cdqe
movzx edx, byte [rdx + rax]
sar dl, 1
movsx eax, dl
mov dword [rsp + 0xa0], eax
jmp 0x1402a28bc
movsx edi, word [rsi]
movsx esi, word [rsi + 2]
movsx edx, word [r11]
movsx eax, word [r10]
mov r8d, edi
cmp eax, r8d
cmovg edi, eax
cmovg eax, r8d
cmp eax, edx
cmovl eax, edx
cmp edi, eax
cmovg edi, eax
movsx edx, word [r10 + 2]
movsx eax, word [r11 + 2]
mov r10d, esi
cmp edx, r10d
cmovg esi, edx
cmovg edx, r10d
cmp edx, eax
cmovl edx, eax
cmp esi, edx
cmovg esi, edx
jmp 0x1402a2938
test eax, eax
mov r13, qword [rsp + 0x190]
je 0x14029d5fc
lea rax, [rsp + 0x12c]
xor r14d, r14d
mov qword [rsp + 0x198], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x90], r15
mov r15d, r14d
mov qword [rsp + 0xc8], rax
mov r14, qword [rsp + 0x198]
lea rax, [rsp + 0x130]
mov qword [rsp + 0xd0], rax
nop
lea eax, [r15 + r15]
movsxd r12, r15d
mov r11, qword [rsp + 0x90]
mov edi, 0x3000
mov rbx, qword [rsp + 0x78]
xor r13d, r13d
mov ecx, eax
mov dword [rsp + 0x80], eax
lea rax, [r12 + r12*4]
shl edi, cl
mov rsi, r11
mov dword [rsp + 0xa0], r15d
shl rax, 3
mov dword [rsp + 0xc0], edi
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x88], rax
add rax, r14
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x80]
lea ecx, [rax + r13]
mov eax, 0x1000
shl eax, cl
test eax, edx
je 0x1402a3100
mov rax, qword [rsp + 0x58]
movsx ebp, byte [rax + r13*2 + 0x778c]
lea eax, [r13*4]
test eax, eax
mov rax, qword [rsp + 0x58]
je 0x1402a44f4
movsx eax, byte [rax + 0x7788]
cmp eax, 0xfffffffe
je 0x1402a31d0
mov rdi, qword [rsp + 0x78]
lea rdx, [rdi + 0x7660]
cmp ebp, eax
je 0x1402a31a0
lea rax, [0x140426a00]
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x88]
mov r15, qword [rsp + 0x190]
movzx eax, byte [rax + r13*4]
lea r8d, [rax - 8]
mov r12d, eax
movsxd r8, r8d
movsx ecx, byte [r8 + r10 + 0x7780]
mov dword [rsp + 0xb8], ecx
lea ecx, [rax - 1]
movsxd rcx, ecx
lea rdx, [rcx + r11 + 0x1d90]
movsx edi, byte [rcx + r10 + 0x7780]
lea r9, [r14 + rdx*4]
lea rdx, [r8 + r11 + 0x1d90]
lea r11d, [rax - 6]
movsxd r11, r11d
mov dword [rsp + 0xb0], edi
lea rdi, [r14 + rdx*4]
movsx edx, byte [r11 + r10 + 0x7780]
mov r10d, dword [r15 + 0x76b8]
test r10d, r10d
je 0x1402a2f4e
cmp edx, 0xfffffffe
je 0x1402a3260
cmp edx, 0xfffffffe
je 0x1402a31f0
mov rax, qword [rsp + 0x88]
lea rax, [r11 + rax + 0x1d90]
lea r11, [r14 + rax*4]
xor r12d, r12d
cmp ebp, edx
sete r12b
xor eax, eax
cmp ebp, dword [rsp + 0xb8]
sete al
add r12d, eax
xor eax, eax
cmp ebp, dword [rsp + 0xb0]
sete al
add eax, r12d
cmp eax, 1
jle 0x1402a3220
movsx ebp, word [rdi]
movsx edi, word [rdi + 2]
movsx edx, word [r11]
movsx eax, word [r9]
mov r10d, ebp
cmp eax, r10d
cmovg ebp, eax
cmovg eax, r10d
cmp eax, edx
cmovl eax, edx
cmp ebp, eax
cmovg ebp, eax
movsx eax, word [r11 + 2]
movsx edx, word [r9 + 2]
mov r11d, edi
cmp edx, r11d
cmovg edi, edx
cmovg edx, r11d
cmp edx, eax
cmovl edx, eax
cmp edi, edx
cmovg edi, edx
mov rax, qword [rsp + 0x98]
mov r9, qword [rsp + 0xc8]
lea rax, [rax + rax*4]
shl rax, 3
add rcx, rax
add r8, rax
movzx edx, byte [r14 + rcx*2 + 0x77d1]
movzx r12d, byte [r14 + r8*2 + 0x77d1]
lea eax, [rdx + r12]
movzx edx, byte [r14 + rcx*2 + 0x77d0]
mov rcx, r14
mov r15d, eax
movzx eax, byte [r14 + r8*2 + 0x77d0]
lea r8d, [rdx + rax]
mov edx, 0x28
call fcn.14029ba60
mov r9, qword [rsp + 0xd0]
mov r12d, eax
mov r8d, r15d
mov edx, 0x2f
mov rcx, r14
call fcn.14029ba60
cmp r12d, 0x80000000
je 0x14029d780
cmp eax, 0x80000000
je 0x14029d780
movzx edx, word [rsp + 0x130]
movzx ecx, byte [rsp + 0x12c]
lea r11d, [r12 + rbp]
add edi, eax
movzx r11d, r11w
shl edi, 0x10
lea eax, [r11 + rdi]
shl edx, 8
add edx, ecx
movzx edx, dx
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [rsi + 0x77e8], edx
mov dword [rsi + 0x77f8], edx
mov dword [rsi + 0x7808], edx
mov dword [rsi + 0x7818], edx
mov rdx, rax
shl rdx, 0x20
add rax, rdx
mov qword [rbx + 0x7670], rax
mov qword [rbx + 0x7690], rax
mov qword [rbx + 0x76b0], rax
mov qword [rbx + 0x76d0], rax
add r13, 1
add rsi, 4
add rbx, 8
cmp r13, 2
je 0x1402a3160
mov edx, dword [rsp + 0x124]
jmp 0x1402a2e5c
mov dword [rsi + 0x77e8], 0
mov dword [rsi + 0x77f8], 0
mov dword [rsi + 0x7808], 0
mov dword [rsi + 0x7818], 0
mov qword [rbx + 0x7670], 0
mov qword [rbx + 0x7690], 0
mov qword [rbx + 0x76b0], 0
mov qword [rbx + 0x76d0], 0
jmp 0x1402a30dd
mov r15d, dword [rsp + 0xa0]
add qword [rsp + 0x90], 0x50
add qword [rsp + 0x78], 0xa0
add qword [rsp + 0x58], 0x28
add r15d, 1
cmp dword [r14 + 0x5e68], r15d
jbe 0x1402a3bf4
mov edx, dword [rsp + 0x124]
jmp 0x1402a2e00
movsx ebp, word [rdx]
movsx edi, word [rdx + 2]
lea rax, [0x140426a00]
movzx r8d, byte [rax + r13*4]
lea ecx, [r8 - 1]
sub r8d, 8
movsxd r8, r8d
movsxd rcx, ecx
jmp 0x1402a2fe2
mov rax, qword [rsp + 0x78]
lea rdx, [rax + 0x7654]
mov rax, qword [rsp + 0x58]
movsx eax, byte [rax + 0x7785]
jmp 0x1402a2eb5
mov rdx, qword [rsp + 0x88]
sub eax, 9
cdqe
lea rdx, [rax + rdx + 0x1d90]
lea r11, [r14 + rdx*4]
mov rdx, qword [rsp + 0xa8]
movsx edx, byte [rax + rdx + 0x7780]
jmp 0x1402a2f6b
je 0x1402a3a97
cmp dword [rsp + 0xb8], 0xfffffffe
sete al
cmp dword [rsp + 0xb0], 0xfffffffe
setne bpl
test al, bpl
je 0x1402a2f9b
cmp edx, 0xfffffffe
jne 0x1402a2f9b
movsx ebp, word [r9]
movsx edi, word [r9 + 2]
jmp 0x1402a2fe2
cmp eax, 0x13
jle 0x1402a31f0
and r12d, 7
cmp r12b, 4
jne 0x1402a31f0
mov rdx, qword [rsp + 0x58]
cmp byte [rdx + 0x778b], 0xfe
je 0x1402a31f0
mov rdx, qword [r15 + 0x6cf0]
mov r12, qword [rdx + 0x60]
mov rdx, qword [rsp + 0x78]
lea r11, [rdx + 0x7668]
mov dword [rdx + 0x7668], 0
mov edx, dword [r14 + 0x5838]
test edx, edx
jne 0x1402a43c3
test byte [r14 + 0x57c8], 0x80
je 0x1402a31f0
mov edx, dword [r15 + 0x7954]
mov r15d, dword [r14 + 0x5814]
sar eax, 5
and r15d, 1
mov r10d, edx
add edx, dword [r14 + 0x57b4]
lea eax, [rax + r15*2]
mov r15d, dword [rsp + 0xc0]
mov dword [rsp + 0xe4], eax
sar eax, 2
mov dword [rsp + 0xd8], edx
or edx, 0xffffffff
imul eax, r10d
add eax, dword [rsp + 0xd8]
cdqe
test dword [r12 + rax*4], r15d
je 0x1402a2f6b
mov r15, qword [rsp + 0x190]
mov r10, qword [rsp + 0x98]
movsxd rdx, dword [rsp + 0xd8]
mov rax, qword [r15 + 0x6cf0]
mov r12, r15
lea r10, [rax + r10*8]
mov rax, qword [r15 + 0x7698]
mov r15d, dword [rsp + 0xe4]
mov edx, dword [rax + rdx*4]
mov eax, dword [r12 + 0x76a8]
mov r12, qword [rsp + 0x78]
imul eax, r15d
lea edx, [rdx + rax + 3]
mov rax, qword [r10 + 0x48]
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [r12 + 0x7668], dx
movzx eax, word [rax + 2]
mov edx, dword [rsp + 0xd8]
add eax, eax
mov word [r12 + 0x766a], ax
mov eax, r15d
and eax, 0xfffffffe
lea eax, [rax + rdx*4 + 1]
mov rdx, qword [r10 + 0x88]
cdqe
movzx edx, byte [rdx + rax]
sar dl, 1
movsx edx, dl
jmp 0x1402a2f6b
lea rax, [rsp + 0x130]
lea r14, [r15 + 0x89e6]
mov rbp, qword [0x140441990]
lea r12, [r15 + 0x89e4]
lea rsi, [r15 + 0x8970]
lea rbx, [r15 + 0x89e5]
xor edi, edi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x58], r14
lea r9, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx eax, byte [r12]
mov r10d, edx
and edx, 0xc0
lea ecx, [eax + edx*2]
movzx edx, byte [r9 + rcx + 0x200]
sub r10d, edx
mov ecx, r10d
shl r10d, 0x11
cmp r10d, r8d
cmova edx, ecx
sbb rcx, rcx
and r10d, ecx
xor rax, rcx
sub r8d, r10d
movzx ecx, byte [r9 + rdx]
shl edx, cl
movzx r10d, byte [r9 + rax + 0x480]
shl r8d, cl
mov byte [r12], r10b
test r8w, r8w
jne 0x1402a3489
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r10d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r10d
shr r10d, 0xf
movzx ecx, byte [r9 + rcx]
sub r10d, 0xffff
neg ecx
add ecx, 7
shl r10d, cl
add r8d, r10d
and eax, 1
mov dword [rsi], r8d
mov dword [rsi + 4], edx
jne 0x1402a35c0
cdqe
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rbp + rax*4 + 2]
movzx eax, word [rbp + rax*4]
mov dword [rcx + rdi*2], edx
mov word [r15 + rdi + 0x7898], ax
add rdi, 2
cmp rdi, 8
jne 0x1402a33ea
movzx eax, word [r15 + 0x7898]
or ax, word [r15 + 0x789a]
or ax, word [r15 + 0x789c]
or ax, word [r15 + 0x789e]
test ah, 1
je 0x14029f709
lea r8, [rsp + 0x124]
mov rdx, r15
mov rcx, r13
call fcn.14016bd50
movzx eax, word [r15 + 0x7898]
mov byte [r15 + 0x77c6], 0xfe
mov byte [r15 + 0x779e], 0xfe
mov byte [r15 + 0x77b6], 0xfe
mov byte [r15 + 0x778e], 0xfe
shr ax, 1
movzx eax, al
mov edx, eax
shl edx, 8
add eax, edx
mov word [r15 + 0x787c], ax
mov word [r15 + 0x7884], ax
movzx eax, word [r15 + 0x789a]
shr ax, 1
movzx eax, al
mov edx, eax
shl edx, 8
add eax, edx
mov word [r15 + 0x787e], ax
mov word [r15 + 0x7886], ax
movzx eax, word [r15 + 0x789c]
shr ax, 1
movzx eax, al
mov edx, eax
shl edx, 8
add eax, edx
mov word [r15 + 0x788c], ax
mov word [r15 + 0x7894], ax
movzx eax, word [r15 + 0x789e]
shr ax, 1
movzx eax, al
mov edx, eax
shl edx, 8
add eax, edx
mov word [r15 + 0x788e], ax
mov word [r15 + 0x7896], ax
jmp 0x14029f709
lea r8, [0x140423560]
mov edx, dword [r15 + 0x8970]
mov eax, dword [r15 + 0x8974]
movzx r9d, byte [rbx]
mov r10d, eax
and eax, 0xc0
lea ecx, [r9d + eax*2]
movzx eax, byte [r8 + rcx + 0x200]
sub r10d, eax
mov ecx, r10d
shl r10d, 0x11
cmp r10d, edx
cmova eax, ecx
sbb rcx, rcx
and r10d, ecx
xor r9, rcx
sub edx, r10d
movzx ecx, byte [r8 + rax]
shl eax, cl
movzx r10d, byte [r8 + r9 + 0x480]
shl edx, cl
mov byte [rbx], r10b
test dx, dx
jne 0x1402a3659
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r10d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r10d
shr r10d, 0xf
movzx ecx, byte [r8 + rcx]
sub r10d, 0xffff
neg ecx
add ecx, 7
shl r10d, cl
add edx, r10d
and r9d, 1
mov dword [rsi], edx
mov dword [rsi + 4], eax
je 0x1402a3ae9
lea r8, [0x140423560]
mov edx, dword [r15 + 0x8970]
mov eax, dword [r15 + 0x8974]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [r11]
mov r10d, eax
and eax, 0xc0
lea ecx, [r9d + eax*2]
movzx eax, byte [r8 + rcx + 0x200]
sub r10d, eax
mov ecx, r10d
shl r10d, 0x11
cmp r10d, edx
cmova eax, ecx
sbb rcx, rcx
and r10d, ecx
xor r9, rcx
sub edx, r10d
movzx ecx, byte [r8 + rax]
shl eax, cl
movzx r10d, byte [r8 + r9 + 0x480]
shl edx, cl
mov byte [r11], r10b
test dx, dx
jne 0x1402a3706
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r10d, word [rcx]
lea ecx, [edx - 1]
xor ecx, edx
shr ecx, 0xf
bswap r10d
shr r10d, 0xf
movzx ecx, byte [r8 + rcx]
sub r10d, 0xffff
neg ecx
add ecx, 7
shl r10d, cl
add edx, r10d
and r9d, 1
mov dword [rsi + 4], eax
mov dword [rsi], edx
lea rax, [r15 + 0x89e7]
je 0x1402a3c14
lea r9, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx r10d, byte [rax]
mov r11d, edx
and edx, 0xc0
lea ecx, [r10d + edx*2]
movzx edx, byte [r9 + rcx + 0x200]
sub r11d, edx
mov ecx, r11d
shl r11d, 0x11
cmp r11d, r8d
cmova edx, ecx
sbb rcx, rcx
and r11d, ecx
xor r10, rcx
sub r8d, r11d
movzx ecx, byte [r9 + rdx]
shl edx, cl
movzx r11d, byte [r9 + r10 + 0x480]
shl r8d, cl
mov byte [rax], r11b
test r8w, r8w
jne 0x1402a37ba
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r9 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add r8d, r11d
and r10d, 1
mov dword [rsi], r8d
mov dword [rsi + 4], edx
mov r11d, 7
jne 0x1402a41f4
lea r9, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx r10d, byte [rax]
mov r14d, edx
and edx, 0xc0
lea ecx, [r10d + edx*2]
movzx edx, byte [r9 + rcx + 0x200]
sub r14d, edx
mov ecx, r14d
shl r14d, 0x11
cmp r14d, r8d
cmova edx, ecx
sbb rcx, rcx
and r14d, ecx
xor r10, rcx
sub r8d, r14d
movzx ecx, byte [r9 + rdx]
shl edx, cl
movzx r14d, byte [r9 + r10 + 0x480]
shl r8d, cl
mov byte [rax], r14b
test r8w, r8w
jne 0x1402a386e
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r14d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r14d
shr r14d, 0xf
movzx ecx, byte [r9 + rcx]
sub r14d, 0xffff
neg ecx
add ecx, 7
shl r14d, cl
add r8d, r14d
and r10d, 1
mov dword [rsi], r8d
mov dword [rsi + 4], edx
lea r11d, [r11 + r10*2]
lea r9, [0x140423560]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx r10d, byte [rax]
mov r14d, edx
and edx, 0xc0
lea ecx, [r10d + edx*2]
movzx edx, byte [r9 + rcx + 0x200]
sub r14d, edx
mov ecx, r14d
shl r14d, 0x11
cmp r14d, r8d
cmova edx, ecx
sbb rcx, rcx
and r14d, ecx
xor r10, rcx
sub r8d, r14d
movzx ecx, byte [r9 + rdx]
shl edx, cl
movzx r14d, byte [r9 + r10 + 0x480]
shl r8d, cl
mov byte [rax], r14b
test r8w, r8w
jne 0x1402a391a
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r14d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r14d
shr r14d, 0xf
movzx ecx, byte [r9 + rcx]
sub r14d, 0xffff
neg ecx
add ecx, 7
shl r14d, cl
add r8d, r14d
mov eax, r10d
mov dword [rsi], r8d
mov dword [rsi + 4], edx
and eax, 1
add eax, r11d
jmp 0x1402a3498
and ebp, 0x80
je 0x14029fc90
mov eax, dword [r12]
xor r14d, r14d
lea r12, [rsp + 0x138]
mov dword [rsp + 0x138], eax
shl word [rsp + 0x13a], 1
shr r8d, 1
sete r14b
jmp 0x14029d150
movzx ecx, byte [rsp + 0x54]
mov eax, 0x200
mov r8, qword [0x140441b20]
lea rdx, [r13 + 0x76d0]
mov dword [rsp + 0x38], 4
mov dword [rsp + 0x28], 0x32
mov dword [rsp + 0x20], 3
mov qword [rsp + 0x30], r8
mov r8, r15
shl eax, cl
lea rcx, [r13 + 0x72e8]
cdqe
lea r9, [rbx + rax*2]
call fcn.14029a930
jmp 0x14029ebb1
movzx ecx, byte [rsp + 0x54]
mov eax, 0x100
mov r8, qword [0x140441b20]
lea rdx, [r13 + 0x76d0]
mov dword [rsp + 0x38], 4
mov dword [rsp + 0x28], 0x31
mov dword [rsp + 0x20], 3
mov qword [rsp + 0x30], r8
mov r8, r15
shl eax, cl
lea rcx, [r13 + 0x72e8]
cdqe
lea r9, [rbx + rax*2]
call fcn.14029a930
jmp 0x14029ead3
mov dword [r15 + 0x75f4], 0
mov dword [r15 + 0x75fc], 0
mov dword [r15 + 0x7604], 0
mov dword [r15 + 0x760c], 0
jmp 0x1402a0ac8
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], ebp
jmp 0x14029f830
movsx esi, word [rbx]
movsx ebx, word [rbx + 2]
jmp 0x1402a06f4
lea rdi, [r15 + 0x8a03]
mov rcx, rbx
mov rdx, rdi
call fcn.140298bb0
test eax, eax
mov edx, 1
mov r9d, 1
je 0x1402a1511
mov rdx, rdi
mov rcx, rbx
call fcn.140298bb0
cmp eax, 1
sbb edx, edx
add edx, 3
cmp eax, 1
sbb r9d, r9d
add r9d, 3
jmp 0x1402a1511
cmp ebp, dword [rsp + 0xb0]
je 0x1402a324f
cmp ebp, dword [rsp + 0xb8]
je 0x1402a41e8
movsx ebp, word [r11]
movsx edi, word [r11 + 2]
jmp 0x1402a2fe2
cmp r8d, dword [rsp + 0xa8]
je 0x1402a2bd4
cmp r8d, dword [rsp + 0xb0]
je 0x1402a41dc
movsx edi, word [r11]
movsx esi, word [r11 + 2]
jmp 0x1402a2938
lea r10, [0x140423560]
lea r9, [r15 + 0x89e7]
mov r8d, dword [r15 + 0x8970]
mov edx, dword [r15 + 0x8974]
movzx eax, byte [r9]
mov r11d, edx
and edx, 0xc0
lea ecx, [eax + edx*2]
movzx edx, byte [r10 + rcx + 0x200]
sub r11d, edx
mov ecx, r11d
shl r11d, 0x11
cmp r11d, r8d
cmova edx, ecx
sbb rcx, rcx
and r11d, ecx
xor rax, rcx
sub r8d, r11d
movzx ecx, byte [r10 + rdx]
shl edx, cl
movzx r11d, byte [r10 + rax + 0x480]
shl r8d, cl
mov byte [r9], r11b
test r8w, r8w
jne 0x1402a3b8d
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [r8d - 1]
xor ecx, r8d
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r10 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add r8d, r11d
and eax, 1
mov dword [rsi], r8d
mov dword [rsi + 4], edx
add eax, 1
jmp 0x1402a3498
xor edi, edi
movabs rdx, 0x170017001700170
test qword [r15 + 0x7898], rdx
sete dil
mov dword [rsp + 0x60], edi
jmp 0x1402a0355
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], edi
jmp 0x14029f830
mov r12d, r13d
mov r13, qword [rsp + 0x190]
mov rcx, qword [r13 + 8]
mov dword [rsp + 0x20], r12d
jmp 0x14029f830
mov r13, qword [rsp + 0x190]
mov r15, r14
jmp 0x14029d5fc
mov r13, qword [rsp + 0x190]
mov r15, r14
jmp 0x1402a08ec
lea ebx, [rbx + rsi + 0x34]
mov dword [r15 + 0x628], ebx
jmp 0x14029da90
mov r11d, 3
jmp 0x1402a37d0
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x230]
mov dword [rsp + 0x38], 0x10
mov r9d, 0xc
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x23]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a2130
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x220]
mov dword [rsp + 0x38], 0x10
mov r9d, 0xc
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a2482
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x210]
mov dword [rsp + 0x38], 0x10
mov r9d, 0xc
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x21]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a2385
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x200]
mov dword [rsp + 0x38], 0x10
mov r9d, 0xc
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x20]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a2288
mov qword [rsp + 0x30], rsi
mov rsi, qword [rsp + 0x40]
lea eax, [rbx + 0x130]
movzx ecx, byte [rsp + 0x54]
mov dword [rsp + 0x38], 0x10
mov r9d, 8
mov rdx, r15
mov qword [rsp + 0x28], rsi
lea esi, [rdi + 0x13]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x78]
shl eax, cl
cdqe
mov rcx, qword [rsp + 0x88]
lea r8, [rsi + rax*2]
call fcn.14029b0c0
jmp 0x1402a1b30
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x120]
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x30], rsi
mov r9d, 8
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x40]
cdqe
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x12]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a1e7d
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x110]
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x30], rsi
mov r9d, 8
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x40]
cdqe
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x11]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a1d80
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x100]
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x30], rsi
mov r9d, 8
mov rdx, r15
shl eax, cl
mov rcx, qword [rsp + 0x40]
cdqe
mov qword [rsp + 0x28], rcx
lea ecx, [rdi + 0x10]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
lea r8, [rcx + rax*2]
mov rcx, qword [rsp + 0x88]
call fcn.14029b0c0
jmp 0x1402a1c83
mov rax, qword [rsp + 0x40]
lea rdx, [r13 + 0x76d0]
lea rcx, [r13 + 0x72e8]
mov dword [rsp + 0x38], 0x10
mov dword [rsp + 0x28], 0x31
mov r8, r15
mov dword [rsp + 0x20], 6
mov qword [rsp + 0x30], rax
call fcn.14029a930
jmp 0x14029fdc6
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x100]
mov dword [rsp + 0x38], 0x40
mov r9d, 9
shl eax, cl
mov rcx, qword [rsp + 0x88]
movsxd rdx, eax
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea eax, [rdi + 0x10]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x78]
lea r8, [rax + rdx*2]
mov rdx, r15
call fcn.14029b0c0
jmp 0x1402a1b30
mov rax, qword [rsp + 0x40]
lea rdx, [r13 + 0x76d0]
lea rcx, [r13 + 0x72e8]
mov dword [rsp + 0x38], 0x10
mov dword [rsp + 0x28], 0x32
mov r8, r15
mov dword [rsp + 0x20], 0xa
mov qword [rsp + 0x30], rax
call fcn.14029a930
jmp 0x1402a0bee
movzx ecx, byte [rsp + 0x54]
lea eax, [rbx + 0x200]
mov dword [rsp + 0x38], 0x40
mov r9d, 0xd
shl eax, cl
mov rcx, qword [rsp + 0x88]
movsxd rdx, eax
mov rax, qword [rsp + 0x48]
add rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea eax, [rdi + 0x20]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x78]
lea r8, [rax + rdx*2]
mov rdx, r15
call fcn.14029b0c0
jmp 0x1402a2130
movzx ecx, byte [rsp + 0x54]
mov eax, 0x200
lea rdx, [r13 + 0x76d0]
mov dword [rsp + 0x20], 0x32
mov r8, r15
shl eax, cl
lea rcx, [r13 + 0x72e8]
cdqe
lea r9, [rbx + rax*2]
call fcn.14029bd90
jmp 0x1402a0f5e
movzx ecx, byte [rsp + 0x54]
mov eax, 0x100
lea rdx, [r13 + 0x76d0]
mov dword [rsp + 0x20], 0x31
mov r8, r15
shl eax, cl
lea rcx, [r13 + 0x72e8]
cdqe
lea r9, [rbx + rax*2]
call fcn.14029bd90
jmp 0x1402a0e80
test byte [r13 + 0x57c8], 0x80
je 0x1402a07d0
mov rax, qword [rsp + 0x190]
sar edx, 5
mov eax, dword [rax + 0x7954]
mov dword [rsp + 0x90], eax
add eax, dword [r13 + 0x57b4]
mov dword [rsp + 0x110], eax
mov eax, dword [r13 + 0x5814]
and eax, 1
lea edx, [rdx + rax*2]
mov eax, dword [rsp + 0x104]
mov dword [rsp + 0x114], edx
sar edx, 2
imul edx, dword [rsp + 0x90]
mov dword [rsp + 0x90], 0xffffffff
add edx, dword [rsp + 0x110]
movsxd rdx, edx
test dword [r15 + rdx*4], eax
je 0x1402a0671
mov rdx, qword [rsp + 0x190]
mov r15, qword [rsp + 0x108]
add r15, qword [rdx + 0x6cf0]
movsxd rdx, dword [rsp + 0x110]
mov qword [rsp + 0x90], r15
mov r15, qword [rsp + 0x190]
mov rax, qword [r15 + 0x7698]
mov edx, dword [rax + rdx*4]
mov eax, dword [rsp + 0x114]
imul eax, dword [r15 + 0x76a8]
mov r15, qword [rsp + 0x90]
lea edx, [rdx + rax + 3]
mov rax, qword [r15 + 0x48]
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [rsi], dx
movzx eax, word [rax + 2]
mov edx, dword [rsp + 0x110]
add eax, eax
mov word [rsi + 2], ax
mov eax, dword [rsp + 0x114]
mov rsi, qword [rsp + 0x90]
and eax, 0xfffffffe
lea eax, [rax + rdx*4 + 1]
mov rdx, qword [rsi + 0x88]
cdqe
movzx eax, byte [rdx + rax]
sar al, 1
movsx eax, al
mov dword [rsp + 0x90], eax
jmp 0x1402a0671
movsx ebp, word [rsi + 0x7650]
movsx ebx, word [rsi + 0x7652]
jmp 0x1402a00e7
test edi, edi
jne 0x1402a41cc
movsx edx, word [r10]
movsx eax, word [r10 + 2]
jmp 0x14029d1b1
xor r8d, r8d
mov edx, 0x20
mov rcx, r15
call fcn.14029a420
jmp 0x14029cb51
mov edx, dword [rsp + 0x60]
test edx, edx
jne 0x1402a0328
jmp 0x1402a08ec
movsx edx, word [r12]
movsx eax, word [r12 + 2]
jmp 0x14029d1b1
movsx edi, word [rsi]
movsx esi, word [rsi + 2]
jmp 0x1402a2938
movsx ebp, word [rdi]
movsx edi, word [rdi + 2]
jmp 0x1402a2fe2
lea r10, [0x140423560]
mov r9d, dword [r15 + 0x8970]
mov r8d, dword [r15 + 0x8974]
movzx edx, byte [rax]
mov r11d, r8d
and r8d, 0xc0
lea ecx, [edx + r8d*2]
movzx r8d, byte [r10 + rcx + 0x200]
sub r11d, r8d
mov ecx, r11d
shl r11d, 0x11
cmp r11d, r9d
cmova r8d, ecx
sbb rcx, rcx
and r11d, ecx
xor rdx, rcx
sub r9d, r11d
movzx ecx, byte [r10 + r8]
shl r8d, cl
movzx r11d, byte [r10 + rdx + 0x480]
shl r9d, cl
mov byte [rax], r11b
test r9w, r9w
jne 0x1402a4294
mov rcx, qword [rsi + 0x18]
add qword [rsi + 0x18], 2
movzx r11d, word [rcx]
lea ecx, [r9d - 1]
xor ecx, r9d
shr ecx, 0xf
bswap r11d
shr r11d, 0xf
movzx ecx, byte [r10 + rcx]
sub r11d, 0xffff
neg ecx
add ecx, 7
shl r11d, cl
add r9d, r11d
mov eax, edx
mov dword [rsi], r9d
mov dword [rsi + 4], r8d
and eax, 1
add eax, 0xb
jmp 0x1402a3498
test byte [r14 + 0x57c8], 0x80
jne 0x1402a2b60
xor edx, edx
cmp eax, 0x23
mov dword [rsp + 0xa0], 0xffffffff
setg dl
add rdx, 0x15ec
movsxd rdx, dword [r14 + rdx*4 + 4]
mov rdi, rdx
mov dword [rsp + 0xe4], edx
mov qword [rsp + 0xd8], rdx
mov edx, dword [rsp + 0xb8]
test dword [rbp + rdi*4], edx
je 0x1402a28bc
sar eax, 2
mov rbp, qword [rsp + 0x98]
mov edi, eax
mov rax, qword [rsp + 0x190]
mov rax, qword [rax + 0x6cf0]
lea rax, [rax + rbp*8]
mov rbp, qword [rsp + 0x190]
mov qword [rsp + 0xa0], rax
mov eax, edi
mov rdx, qword [rbp + 0x7698]
and eax, 3
imul eax, dword [rbp + 0x76a8]
mov rbp, qword [rsp + 0xd8]
mov edx, dword [rdx + rbp*4]
mov rbp, qword [rsp + 0x80]
lea edx, [rax + rdx + 3]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd8], rbp
mov rax, qword [rax + 0x48]
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [rbp], dx
movzx eax, word [rax + 2]
mov ebp, 2
mov edx, eax
sar dx, 0xf
idiv bp
mov rbp, qword [rsp + 0xd8]
mov word [rbp + 2], ax
mov eax, edi
mov edi, dword [rsp + 0xe4]
and eax, 2
lea eax, [rax + rdi*4 + 1]
mov rdi, qword [rsp + 0xa0]
cdqe
mov rdx, qword [rdi + 0x88]
movsx edx, byte [rdx + rax]
lea eax, [rdx + rdx]
mov dword [rsp + 0xa0], eax
jmp 0x1402a28bc
test byte [r14 + 0x57c8], 0x80
jne 0x1402a31f0
xor edx, edx
cmp eax, 0x23
mov r10d, dword [rsp + 0xc0]
setg dl
add rdx, 0x15ec
movsxd r15, dword [r14 + rdx*4 + 4]
or edx, 0xffffffff
test dword [r12 + r15*4], r10d
mov dword [rsp + 0xd8], r15d
mov qword [rsp + 0xe8], r15
je 0x1402a2f6b
sar eax, 2
mov rdx, qword [rsp + 0x98]
mov r10, qword [rsp + 0x190]
mov r15d, eax
mov rax, qword [rsp + 0x190]
mov dword [rsp + 0xe4], r15d
mov rax, qword [rax + 0x6cf0]
lea r12, [rax + rdx*8]
mov eax, r15d
mov rdx, qword [r10 + 0x7698]
mov r15, qword [rsp + 0xe8]
and eax, 3
imul eax, dword [r10 + 0x76a8]
mov r10d, 2
mov edx, dword [rdx + r15*4]
mov r15, qword [rsp + 0x78]
lea edx, [rax + rdx + 3]
mov rax, qword [r12 + 0x48]
lea rax, [rax + rdx*4]
movzx edx, word [rax]
mov word [r15 + 0x7668], dx
movzx eax, word [rax + 2]
mov edx, eax
sar dx, 0xf
idiv r10w
mov edx, dword [rsp + 0xd8]
mov word [r15 + 0x766a], ax
mov eax, dword [rsp + 0xe4]
and eax, 2
lea eax, [rax + rdx*4 + 1]
mov rdx, qword [r12 + 0x88]
cdqe
movsx edx, byte [rdx + rax]
add edx, edx
jmp 0x1402a2f6b
movsx eax, byte [rax + 0x7784]
cmp r8d, eax
jne 0x1402a2807
mov rax, qword [rsp + 0x80]
mov r9, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
movsx edi, word [rax - 0x18]
movsx esi, word [rax - 0x16]
jmp 0x1402a2938
movsx eax, byte [rax + 0x778b]
cmp ebp, eax
jne 0x1402a2ebd
mov rax, qword [rsp + 0x78]
movsx ebp, word [rax + 0x766c]
movsx edi, word [rax + 0x766e]
jmp 0x1402a31a7