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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xb8
mov r10, qword [rbp + 0x6f]
mov rax, rcx
mov r15, rdx
mov qword [rbp + 0x3f], r10
mov rdx, qword [rbp + 0x67]
mov r11, r9
mov r9, r8
mov ebx, 1
mov r8, qword [rbp + 0x7f]
mov ecx, dword [rdx + 8]
mov rsi, qword [rdx + 0x10]
mov rdi, qword [r8]
lea r8, [rax + r15]
shl rbx, cl
mov rcx, qword [rbp + 0x87]
sub rbx, 0x10
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x41], rsi
mov qword [rsp + 0x18], rcx
mov qword [rbp - 0x19], rcx
mov qword [rsp], rdi
mov qword [rbp - 0x51], r8
cmp rax, 8
jb 0x140041d59
lea rax, [r8 - 7]
mov qword [rbp - 0x39], rax
jmp 0x140041d5d
mov qword [rbp - 0x39], r15
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r14d, 0x40
cmovl eax, r14d
mov qword [rbp - 0x31], rax
add rax, r15
mov qword [rbp + 0x6f], rax
lea rax, [r15 + 8]
cmp rax, r8
jae 0x140042b3d
mov rcx, qword [rbp + 0x77]
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], r13
nop dword [rax]
sub r8, r15
mov dword [rbp - 0x59], 0
cmp r15, rbx
mov qword [rbp + 0x87], r8
lea rax, [rsi + r15]
mov r14, rbx
mov rsi, qword [r10 + 0x58]
cmovb r14, r15
cmp rax, rbx
mov r13, rbx
cmovb r13, rax
mov rax, qword [rdx + 0x50]
mov qword [rbp + 0x5f], rax
mov rax, r15
movsxd r15, dword [rcx]
and rax, r11
mov rbx, qword [rax + r9]
lea r12, [rax + r9]
mov rcx, qword [rbp + 0x47]
sub rcx, r15
movzx edi, byte [rax + r9]
movabs rax, 0xbd1e35a7bd000000
imul rbx, rax
shr rbx, 0x30
cmp rcx, qword [rbp + 0x47]
jae 0x140041edc
mov r11d, r11d
and r11, rcx
add r11, r9
cmp dil, byte [r11]
jne 0x140041edc
mov rax, r8
xor ecx, ecx
shr rax, 3
mov rdx, r12
test rax, rax
je 0x140041e61
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r8, qword [rdx]
mov r9, qword [r10 + rdx]
cmp r8, r9
jne 0x140041ec2
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140041e40
mov r8, qword [rbp + 0x87]
and r8d, 7
je 0x140041e83
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140041e83
inc rcx
sub r8, 1
jne 0x140041e70
mov qword [rsp + 8], rcx
mov r9, rcx
cmp r9, 4
jb 0x140041ed8
imul r11, r9, 0x87
add r11, 0x78f
mov qword [rsp + 0x10], r11
cmp r11, 0x7e4
jbe 0x140041ed8
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x69], r15
mov r15, qword [rbp + 0x47]
mov dword [rsi + rbx*4], r15d
jmp 0x140042142
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rcx
mov qword [rsp + 8], r9
jmp 0x140041e8b
mov r9, qword [rbp + 0x4f]
mov edx, dword [rsi + rbx*4]
mov r15, qword [rbp + 0x47]
mov r8, qword [rbp + 0x57]
mov dword [rsi + rbx*4], r15d
mov rbx, r15
mov r11d, r8d
sub rbx, rdx
and r11, rdx
add r11, r9
cmp dil, byte [r11]
jne 0x1400429f7
test rbx, rbx
je 0x1400429f7
cmp rbx, r14
ja 0x1400429f7
mov rdi, qword [rbp + 0x87]
xor ecx, ecx
mov rax, rdi
mov rdx, r12
shr rax, 3
test rax, rax
je 0x140041f4d
mov r10, r11
sub r10, r12
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140041fb3
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140041f33
mov r8, rdi
and r8d, 7
je 0x140041f73
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140041f73
inc rcx
sub r8, 1
jne 0x140041f60
mov qword [rsp + 8], rcx
mov r9, rcx
cmp r9, 4
jb 0x140041fc9
bsr eax, ebx
imul r11, r9, 0x87
imul ecx, eax, 0x1e
sub r11, rcx
add r11, 0x780
mov qword [rsp + 0x10], r11
cmp r11, 0x7e4
jbe 0x140041fc9
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x69], rbx
jmp 0x140042149
xor r8, r9
tzcnt r9, r8
shr r9, 3
add r9, rcx
mov qword [rsp + 8], r9
jmp 0x140041f7b
mov r10, qword [rbp + 0x3f]
mov rbx, qword [r10 + 0x50]
mov rdx, qword [rbx + 0x28]
mov r14, qword [rbx + 0x30]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x1400429e5
imul ecx, dword [r12], 0x1e35a7bd
lea rax, [rdx + 1]
mov r9, qword [rbp + 0x67]
mov qword [rbx + 0x28], rax
mov rax, qword [r9 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x1400429e5
mov rax, qword [r9 + 0x70]
mov r10d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x1400429ef
mov rdi, qword [r9 + 0x58]
mov eax, r10d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r10d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14004207e
mov r11, r12
sub r11, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r11]
cmp r9, rax
jne 0x14004218b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140042060
mov r8, r10
and r8d, 7
je 0x1400420a3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x1400420a3
inc rcx
sub r8, 1
jne 0x140042090
mov qword [rsp + 8], rcx
mov r9, rcx
mov r12, qword [rbp + 0x67]
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r10
jbe 0x1400429ef
test r9, r9
je 0x1400429ef
mov rax, qword [r12 + 0x68]
mov r8, r10
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r10 + rdi]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rsi
add r8, r13
cmp r8, qword [rbp + 0x5f]
ja 0x1400429ef
bsr eax, r8d
imul r11, r9, 0x87
imul ecx, eax, 0x1e
sub r11, rcx
add r11, 0x780
mov qword [rsp + 0x10], r11
cmp r11, 0x7e4
jb 0x1400429ef
sub r10d, r9d
mov qword [rbp - 0x69], r8
lea rax, [r14 + 1]
mov dword [rbp - 0x59], r10d
mov qword [rbx + 0x30], rax
mov rdi, qword [rbp + 0x87]
mov qword [rbp - 0x71], r9
cmp r11, 0x7e4
jbe 0x1400429ef
lea rdx, [r15 + 1]
mov dword [rbp + 0x6f], 0
mov qword [rbp + 0x5f], rdx
dec rdi
cmp dword [r12 + 4], 5
mov qword [rbp + 0x87], rdi
jge 0x1400421a4
lea rax, [r9 - 1]
mov r11, rdi
cmp rax, rdi
cmovb r11, rax
jmp 0x1400421a7
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
mov qword [rsp + 8], r9
jmp 0x1400420ab
xor r11d, r11d
mov r8, qword [rbp - 0x49]
mov rax, qword [rbp - 0x41]
cmp rdx, r8
mov r9, qword [rbp + 0x67]
mov r12, r8
mov rbx, qword [rbp + 0x57]
cmovb r12, rdx
add rax, rdx
mov qword [rsp + 0x20], r11
cmp rax, r8
mov qword [rsp + 0x28], 0
mov rcx, r8
mov qword [rsp + 0x30], 0x7e4
mov r8, qword [rbp + 0x4f]
cmovb rcx, rax
mov rax, qword [r9 + 0x50]
mov qword [rbp - 0x29], rcx
mov rcx, rdx
and rcx, rbx
mov qword [rbp - 0x21], rax
mov rax, qword [rbp + 0x3f]
lea r13, [rcx + r8]
mov rdi, qword [r13]
mov dword [rbp - 0x79], 0
mov rsi, qword [rax + 0x58]
lea rax, [rcx + r11]
movzx r14d, byte [rax + r8]
mov rcx, rdx
movabs rax, 0xbd1e35a7bd000000
imul rdi, rax
mov rax, qword [rbp + 0x77]
shr rdi, 0x30
movsxd r15, dword [rax]
sub rcx, r15
cmp rcx, rdx
jae 0x14004239b
mov eax, ebx
and rcx, rax
lea rax, [rcx + r11]
cmp r14b, byte [rax + r8]
jne 0x14004239b
mov rax, qword [rbp + 0x87]
lea rbx, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400422a5
mov r10, rbx
sub r10, r13
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140042387
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140042280
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x1400422c3
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x1400422c3
inc rcx
sub r8, 1
jne 0x1400422b1
mov rax, rcx
mov rdx, qword [rbp + 0x5f]
cmp rax, 4
jb 0x14004239b
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, 0x7e4
jbe 0x14004239b
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], rcx
mov dword [rsi + rdi*4], edx
mov rdi, qword [rbp + 0x87]
mov r12, qword [rbp + 0x67]
mov rax, qword [rsp + 0x10]
mov r15, qword [rbp + 0x47]
add rax, 0xaf
mov r13, qword [rsp]
cmp qword [rsp + 0x30], rax
jb 0x140042640
mov ecx, dword [rbp + 0x6f]
inc r15
movups xmm0, xmmword [rsp + 0x20]
inc ecx
inc rdx
movups xmm1, xmmword [rsp + 0x30]
inc r13
mov qword [rbp + 0x47], r15
mov qword [rbp + 0x5f], rdx
mov qword [rsp], r13
mov dword [rbp + 0x6f], ecx
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm1
cmp ecx, 4
jge 0x14004263a
lea rax, [rdx + 7]
cmp rax, qword [rbp - 0x51]
jae 0x14004263a
mov rax, qword [rbp - 0x61]
mov r9, qword [rbp - 0x71]
mov qword [rsp + 0x10], rax
mov qword [rsp + 8], r9
jmp 0x140042169
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400422c6
mov ecx, dword [rsi + rdi*4]
mov rbx, rdx
mov eax, dword [rbp + 0x57]
mov r8d, ecx
and r8, rax
mov dword [rsi + rdi*4], edx
sub rbx, rcx
mov rcx, qword [rbp + 0x4f]
lea rax, [r8 + r11]
cmp r14b, byte [rax + rcx]
jne 0x140042301
test rbx, rbx
je 0x140042301
mov rdi, qword [rbp + 0x87]
cmp rbx, r12
ja 0x140042308
lea r11, [r8 + rcx]
xor eax, eax
mov rcx, rdi
mov rdx, r13
shr rcx, 3
test rcx, rcx
je 0x14004241a
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140042478
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x140042400
mov r8, rdi
and r8d, 7
je 0x140042439
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140042439
inc rax
sub r8, 1
jne 0x140042426
mov rdx, rax
cmp rdx, 4
jb 0x140042489
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jbe 0x140042489
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x5f]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rax
jmp 0x140042308
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rax
jmp 0x14004243c
mov rax, qword [rbp + 0x3f]
mov r12, qword [rbp + 0x67]
mov rbx, qword [rax + 0x50]
mov rdx, qword [rbx + 0x28]
mov r14, qword [rbx + 0x30]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x140042631
imul ecx, dword [r13], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
mov rax, qword [r12 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x140042631
mov rax, qword [r12 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, rdi
ja 0x140042631
mov rdi, qword [r12 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x14004253e
mov r10, r13
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14004260d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140042520
mov r8, r11
and r8d, 7
je 0x140042563
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140042563
inc rcx
sub r8, 1
jne 0x140042550
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140042621
test r9, r9
je 0x140042621
mov rax, qword [r12 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x29]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x21]
ja 0x140042621
mov rdx, qword [rbp + 0x5f]
mov rdi, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14004230c
mov qword [rsp + 0x30], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x20], r9
mov qword [rbx + 0x30], rax
mov dword [rbp - 0x79], r11d
mov qword [rsp + 0x28], r8
jmp 0x14004230c
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140042566
mov rdx, qword [rbp + 0x5f]
mov rdi, qword [rbp + 0x87]
jmp 0x14004230c
mov rdx, qword [rbp + 0x5f]
jmp 0x14004230c
mov r12, qword [rbp - 0x71]
jmp 0x140042645
mov r12, qword [rsp + 8]
mov rax, qword [rbp - 0x31]
mov r9, qword [rbp - 0x49]
mov rbx, qword [rbp - 0x69]
mov r10, qword [rbp + 0x77]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x41]
add rax, r15
add r11, r15
cmp rax, r9
mov qword [rbp + 0x6f], r11
cmovb r9, rax
cmp rbx, r9
ja 0x1400426f1
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x140042691
xor r8d, r8d
jmp 0x1400426f5
cmp rbx, r8
jne 0x14004269e
mov r8d, 1
jmp 0x1400426f5
cmp rdx, 7
jae 0x1400426b9
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400426f5
cmp rcx, 7
jae 0x1400426d1
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400426f5
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x1400426e2
mov r8d, 2
jmp 0x1400426f5
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400426f5
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14004271c
test r8, r8
je 0x14004271c
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov eax, dword [rbp - 0x69]
mov dword [r10], eax
mov r11, qword [rsp + 0x18]
mov esi, dword [rbp - 0x59]
mov r9, qword [rbp + 0x67]
mov r14d, dword [rbp - 0x71]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [r11], r13d
mov dword [r11 + 4], eax
mov r15d, dword [r9 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004274e
xor edi, edi
jmp 0x1400427c7
mov r11d, dword [r9 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x18]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea r9d, [r14 + rsi]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd rdx, r9d
cmp r13, 6
jae 0x1400427f1
movzx r10d, r13w
mov ecx, 0x17
jmp 0x140042862
cmp r13, 0x82
jae 0x14004281b
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x140042862
mov ecx, 0x17
cmp r13, 0x842
jae 0x140042838
lea eax, [r13 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x140042862
cmp r13, 0x1842
jae 0x140042849
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x140042862
mov r10d, 0x16
cmp r13, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004286e
sub dx, 2
jmp 0x1400428ac
cmp rdx, 0x86
jae 0x140042893
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x1400428ac
cmp rdx, 0x846
jae 0x1400428a9
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400428ac
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x1400428eb
cmp r10w, 8
jae 0x1400428eb
cmp dx, 0x10
jae 0x1400428eb
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004291d
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov r10, qword [rbp + 0x47]
xor edi, edi
mov rax, qword [rbp + 0x97]
mov r8, qword [rbp - 0x39]
mov word [r11 + 0xc], r9w
add r11, 0x10
lea r9, [r12 + r10]
mov qword [rsp + 0x18], r11
add qword [rax], r13
lea rdx, [r10 + 2]
cmp r9, r8
mov qword [rsp], rdi
mov rax, r12
mov qword [rbp + 0x47], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x140042988
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + r10]
cmp rdx, rax
mov eax, 2
cmova r12, rax
lea rdx, [r10 + r12]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x1400429d9
mov r10, qword [rbp + 0x4f]
movabs r9, 0xbd1e35a7bd000000
mov r11, qword [rbp + 0x57]
mov rdi, qword [rbp + 0x3f]
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
and rax, r11
mov rcx, qword [rax + r10]
mov rax, qword [rdi + 0x58]
imul rcx, r9
shr rcx, 0x30
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400429b0
mov r9, qword [rbp + 0x47]
mov rdi, qword [rsp]
mov r15, r9
mov qword [rbp + 0x47], r9
jmp 0x140042afb
mov r9, qword [rbp + 0x4f]
mov r8, qword [rbp + 0x57]
jmp 0x1400429fb
mov r8, qword [rbp + 0x57]
mov r9, qword [rbp + 0x4f]
mov r10, qword [rbp + 0x3f]
mov rdi, qword [rsp]
inc r15
mov r11, qword [rbp + 0x6f]
inc rdi
mov qword [rsp], rdi
mov qword [rbp + 0x47], r15
cmp r15, r11
jbe 0x140042afb
mov rax, qword [rbp - 0x31]
mov rdx, qword [rbp - 0x51]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r15, rax
jbe 0x140042a95
lea rax, [r15 + 0x10]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140042afb
add rdi, 4
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp], rdi
movabs rdi, 0xbd1e35a7bd000000
nop word [rax + rax]
mov rax, r15
and rax, r8
mov rcx, qword [rax + r9]
mov rax, qword [r10 + 0x58]
imul rcx, rdi
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 4
cmp r15, rdx
jb 0x140042a70
jmp 0x140042af3
lea rax, [r15 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r15, rdx
jae 0x140042afb
add rdi, 2
mov rax, rdx
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp], rdi
movabs rdi, 0xbd1e35a7bd000000
nop word [rax + rax]
mov rax, r15
and rax, r8
mov rcx, qword [rax + r9]
mov rax, qword [r10 + 0x58]
imul rcx, rdi
shr rcx, 0x30
mov dword [rax + rcx*4], r15d
add r15, 2
cmp r15, rdx
jb 0x140042ad0
mov rdi, qword [rsp]
mov qword [rbp + 0x47], r15
mov r8, qword [rbp - 0x51]
lea rax, [r15 + 8]
mov r9, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x67]
mov r11, qword [rbp + 0x57]
mov r10, qword [rbp + 0x3f]
mov rcx, qword [rbp + 0x77]
mov rbx, qword [rbp - 0x49]
mov rsi, qword [rbp - 0x41]
cmp rax, r8
jb 0x140041da0
mov rcx, qword [rsp + 0x18]
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rax, qword [rbp + 0x7f]
sub r8, r15
sub rcx, qword [rbp - 0x19]
add r8, rdi
sar rcx, 4
mov qword [rax], r8
mov rax, qword [rbp + 0x8f]
add qword [rax], rcx
add rsp, 0xb8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov rbx, qword [rbp + 0x5f]
mov rax, rcx
mov r11, qword [rbp + 0x7f]
mov rdi, r9
mov r9, r8
mov qword [rsp + 8], r11
mov r8d, 1
mov qword [rbp - 0x39], r11
mov ecx, dword [rbx + 8]
mov r10, rdx
shl r8, cl
add rdx, rax
mov rcx, qword [rbx + 0x10]
sub r8, 0x10
mov qword [rbp - 0x41], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x69], r8
mov qword [rbp - 0x71], rdx
mov rsi, qword [rcx]
mov qword [rbp + 0x57], rsi
cmp rax, 8
jb 0x140042bec
lea rax, [rdx - 7]
mov qword [rbp - 0x61], rax
jmp 0x140042bf0
mov qword [rbp - 0x61], r10
cmp dword [rbx + 4], 9
mov eax, 0x200
mov r14d, 0x40
cmovl eax, r14d
mov qword [rbp - 0x59], rax
add rax, r10
mov qword [rsp + 0x20], rax
lea rax, [r10 + 8]
cmp rax, rdx
jae 0x14004395d
movdqa xmm2, xmmword [0x140139f60]
mov ecx, 3
mov rax, qword [rbp + 0x67]
movdqa xmm3, xmmword [0x140139f80]
mov qword [rsp + 0xd8], r12
movabs r12, 0xbd1e35a7bd000000
movd xmm4, ecx
mov rcx, qword [rbp + 0x6f]
mov qword [rsp + 0xd0], r13
psllq xmm2, xmm4
mov qword [rsp + 0xc8], r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rax + 0x58]
xor esi, esi
mov qword [rbp + 0x7f], rax
mov r11, rdx
sub r11, r10
mov qword [rsp + 0x50], rsi
mov ebx, esi
mov dword [rbp - 0x79], esi
cmp r10, r8
mov qword [rbp + 0x37], r11
mov r13, r8
mov qword [rsp], rbx
cmovb r13, r10
mov qword [rsp + 0x48], rbx
mov r15, r10
mov qword [rsp + 0x10], 0x7e4
and r15, rdi
movsxd rdi, dword [rcx]
mov rax, qword [r15 + r9]
lea rdx, [r15 + r9]
imul rax, r12
movzx r14d, byte [r15 + r9]
mov rcx, r10
shr rax, 0x30
mov r12d, esi
sub rcx, rdi
mov esi, 0x7e4
movq xmm0, rax
punpcklqdq xmm0, xmm0
cmp rcx, r10
jae 0x140042db0
mov ebx, dword [rbp + 0x4f]
and rbx, rcx
add rbx, r9
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x140042db0
mov rax, r11
xor ecx, ecx
shr rax, 3
mov r8, rdx
test rax, rax
je 0x140042d32
mov r11, rbx
sub r11, rdx
mov r9, qword [r8]
mov r10, qword [r11 + r8]
cmp r9, r10
jne 0x140042d9a
add r8, 8
add rcx, 8
sub rax, 1
jne 0x140042d14
mov r11, qword [rbp + 0x37]
mov r9, r11
and r9d, 7
je 0x140042d53
sub r8, rcx
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rbx], al
jne 0x140042d53
inc rcx
sub r9, 1
jne 0x140042d40
mov rax, rcx
mov r10, qword [rbp + 0x3f]
cmp rax, 4
jb 0x140042db0
mov rbx, qword [rbp + 0x47]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x140042db4
mov qword [rsp], rax
mov r12, rax
mov qword [rsp + 0x48], rax
mov rsi, rcx
add rax, r15
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x10], rcx
movzx r14d, byte [rax + rbx]
jmp 0x140042db4
mov r11, qword [rbp + 0x37]
xor r9, r10
tzcnt rax, r9
shr rax, 3
add rax, rcx
jmp 0x140042d56
mov rbx, qword [rbp + 0x47]
mov rcx, qword [rbp + 0x7f]
mov rax, r10
mov r9d, dword [rbp + 0x4f]
paddq xmm0, xmm2
shr rax, 3
pand xmm0, xmm3
and eax, 1
mov rdi, r10
movdqu xmmword [rbp - 0x51], xmm0
mov rax, qword [rbp + rax*8 - 0x51]
mov qword [rsp + 0x18], rax
movq rax, xmm0
mov ecx, dword [rcx + rax*4]
and r9, rcx
sub rdi, rcx
lea rax, [r9 + r12]
movzx ecx, byte [rax + rbx]
cmp r14d, ecx
jne 0x140042ec5
test rdi, rdi
je 0x140042ec5
cmp rdi, r13
ja 0x140042ec5
mov rbx, qword [rbp + 0x47]
xor ecx, ecx
add rbx, r9
mov r8, rdx
mov r9, r11
shr r9, 3
test r9, r9
je 0x140042e52
mov r11, rbx
sub r11, rdx
nop
mov r10, qword [r8]
mov rax, qword [r11 + r8]
cmp r10, rax
jne 0x140042fb0
add r8, 8
add rcx, 8
sub r9, 1
jne 0x140042e30
mov r11, qword [rbp + 0x37]
mov r9, r11
and r9d, 7
je 0x140042e73
sub r8, rcx
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx + rbx], al
jne 0x140042e73
inc rcx
sub r9, 1
jne 0x140042e60
mov r8, rcx
mov r10, qword [rbp + 0x3f]
cmp r8, 4
jb 0x140042ec5
bsr eax, edi
imul r9, r8, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp rsi, r9
jae 0x140042ec5
mov rbx, r8
mov qword [rsp + 0x10], r9
mov qword [rsp], rbx
lea rax, [r8 + r15]
mov qword [rsp + 0x48], rbx
mov r12, r8
mov rbx, qword [rbp + 0x47]
mov rsi, r9
mov qword [rsp + 0x50], rdi
movzx r14d, byte [rax + rbx]
mov rax, qword [rbp - 0x49]
mov rbx, r10
mov rdi, qword [rbp + 0x7f]
mov r15, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x47]
mov r8d, r15d
mov ecx, dword [rdi + rax*4]
and r8, rcx
sub rbx, rcx
lea rax, [r8 + r12]
movzx ecx, byte [rax + r9]
cmp r14d, ecx
jne 0x140042fd5
test rbx, rbx
je 0x140042fd5
cmp rbx, r13
ja 0x140042fd5
mov r14, qword [rbp + 0x37]
lea r11, [r8 + r9]
mov rax, r14
xor ecx, ecx
shr rax, 3
test rax, rax
je 0x140042f4e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov r8, qword [r10 + rdx]
cmp r9, r8
jne 0x140042fc4
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140042f30
mov r8, r14
and r8d, 7
je 0x140042f6c
movzx eax, byte [rdx]
cmp byte [rcx + r11], al
jne 0x140042f6c
inc rdx
inc rcx
sub r8, 1
jne 0x140042f57
mov rdx, rcx
mov r10, qword [rbp + 0x3f]
mov r9, qword [rbp + 0x47]
cmp rdx, 4
jb 0x140042fd5
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x140042fd5
mov rcx, rdx
mov qword [rsp], rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x50], rbx
jmp 0x140042fd9
xor rax, r10
tzcnt r8, rax
shr r8, 3
add r8, rcx
jmp 0x140042e76
xor r8, r9
tzcnt rdx, r8
shr rdx, 3
add rdx, rcx
jmp 0x140042f6f
mov rcx, qword [rsp]
cmp qword [rsp + 0x10], 0x7e4
mov rax, qword [rsp + 0x18]
mov dword [rdi + rax*4], r10d
lea rdi, [r10 + 1]
mov qword [rsp + 0x18], rdi
jbe 0x1400437e0
movdqa xmm2, xmmword [0x140139f60]
psllq xmm2, xmm4
mov dword [rbp + 0x7f], 0
mov r10, qword [rbp + 0x37]
mov rax, qword [rbp + 0x5f]
dec r10
mov qword [rbp + 0x37], r10
cmp dword [rax + 4], 5
jge 0x140043032
lea rax, [rcx - 1]
mov rsi, r10
cmp rax, r10
cmovb rsi, rax
jmp 0x140043034
xor esi, esi
mov r13, qword [rbp - 0x69]
mov r12, rdi
mov rax, qword [rbp + 0x67]
cmp rdi, r13
mov rbx, qword [rbp + 0x47]
mov edx, 0x7e4
cmovb r13, rdi
mov qword [rsp + 0x28], rsi
and r12, r15
mov qword [rsp + 0x30], 0
mov rax, qword [rax + 0x58]
lea r8, [r12 + r9]
mov qword [rsp + 0x20], rax
movabs rcx, 0xbd1e35a7bd000000
mov qword [rsp + 0x38], rdx
mov r14d, edx
lea rax, [r12 + rsi]
mov dword [rsp + 0x40], 0
movzx r15d, byte [rax + r9]
mov rax, qword [r8]
mov r9, qword [rsp + 0x18]
imul rax, rcx
shr rax, 0x30
movq xmm1, rax
mov rax, qword [rbp + 0x6f]
punpcklqdq xmm1, xmm1
movsxd rdi, dword [rax]
sub r9, rdi
cmp r9, qword [rsp + 0x18]
jae 0x14004316f
mov eax, dword [rbp + 0x4f]
and r9, rax
lea rax, [r9 + rsi]
movzx ecx, byte [rax + rbx]
cmp r15d, ecx
jne 0x14004316f
add rbx, r9
xor eax, eax
mov r9, r10
mov rdx, r8
shr r9, 3
test r9, r9
je 0x140043112
mov r11, rbx
sub r11, r8
nop
mov r10, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r10, rcx
jne 0x14004328e
add rdx, 8
add rax, 8
sub r9, 1
jne 0x1400430f0
mov r10, qword [rbp + 0x37]
mov r9, r10
and r9d, 7
je 0x140043132
sub rdx, rax
nop
movzx ecx, byte [rdx + rax]
cmp byte [rax + rbx], cl
jne 0x140043132
inc rax
sub r9, 1
jne 0x140043120
mov rcx, rax
mov rbx, qword [rbp + 0x47]
cmp rcx, 4
jb 0x14004316f
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x14004316f
mov qword [rsp + 0x38], rax
mov r14, rax
lea rax, [rcx + r12]
mov qword [rsp + 0x28], rcx
movzx r15d, byte [rax + rbx]
mov rsi, rcx
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x18]
movdqa xmm0, xmm2
mov rcx, qword [rsp + 0x20]
paddq xmm0, xmm1
mov r9d, dword [rbp + 0x4f]
pand xmm0, xmm3
mov rdi, qword [rsp + 0x18]
shr rax, 3
and eax, 1
movdqu xmmword [rbp - 0x31], xmm0
mov rax, qword [rbp + rax*8 - 0x31]
mov qword [rbp - 0x51], rax
movq rax, xmm0
mov ecx, dword [rcx + rax*4]
and r9, rcx
sub rdi, rcx
lea rax, [rsi + r9]
movzx ecx, byte [rax + rbx]
cmp r15d, ecx
jne 0x1400432bb
test rdi, rdi
je 0x1400432bb
cmp rdi, r13
ja 0x1400432bb
mov rbx, qword [rbp + 0x47]
xor ecx, ecx
add rbx, r9
mov rdx, r8
mov r9, r10
shr r9, 3
test r9, r9
je 0x140043222
mov r11, rbx
sub r11, r8
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r10, rax
jne 0x1400432a6
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140043200
mov r10, qword [rbp + 0x37]
mov r9, r10
and r9d, 7
je 0x140043242
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x140043242
inc rcx
sub r9, 1
jne 0x140043230
mov rdx, rcx
cmp rdx, 4
jb 0x1400432bb
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp r14, r9
jae 0x1400432bb
mov rbx, qword [rbp + 0x47]
lea rax, [rdx + r12]
mov rsi, rdx
mov qword [rsp + 0x28], rdx
mov r14, r9
mov qword [rsp + 0x38], r9
mov r12, r9
mov qword [rsp + 0x30], rdi
movzx r15d, byte [rax + rbx]
jmp 0x1400432c0
xor rcx, r10
mov r10, qword [rbp + 0x37]
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x140043135
xor rax, r10
mov r10, qword [rbp + 0x37]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140043245
mov r12, qword [rsp + 0x38]
mov rax, qword [rbp - 0x29]
mov rcx, qword [rsp + 0x20]
mov edx, dword [rbp + 0x4f]
mov rdi, qword [rsp + 0x18]
mov r9, qword [rbp + 0x47]
mov rbx, rdi
mov ecx, dword [rcx + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rsi + rdx]
movzx ecx, byte [rax + r9]
cmp r15d, ecx
jne 0x1400433a0
test rbx, rbx
je 0x1400433a0
cmp rbx, r13
ja 0x1400433a0
lea r11, [rdx + r9]
xor ecx, ecx
mov rdx, r10
shr rdx, 3
test rdx, rdx
je 0x140043342
mov r10, r11
sub r10, r8
nop dword [rax]
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x140043421
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x140043320
mov r10, qword [rbp + 0x37]
mov rdx, r10
and edx, 7
je 0x140043366
nop word [rax + rax]
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x140043366
inc r8
inc rcx
sub rdx, 1
jne 0x140043350
mov rdx, rcx
mov r9, qword [rbp + 0x47]
cmp rdx, 4
jb 0x1400433a0
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x1400433a0
mov qword [rsp + 0x28], rdx
mov r12, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rbp - 0x51]
mov rcx, qword [rsp + 0x20]
mov r10, qword [rbp + 0x3f]
mov r13, qword [rbp + 0x57]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x10]
add rax, 0xaf
cmp r12, rax
jb 0x14004343c
mov ecx, dword [rbp + 0x7f]
inc r10
movups xmm0, xmmword [rsp + 0x28]
inc ecx
inc rdi
movups xmm1, xmmword [rsp + 0x38]
inc r13
mov qword [rbp + 0x3f], r10
mov qword [rsp + 0x18], rdi
mov qword [rbp + 0x57], r13
mov dword [rbp + 0x7f], ecx
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm1
cmp ecx, 4
jge 0x140043435
lea rax, [rdi + 7]
cmp rax, qword [rbp - 0x71]
jae 0x140043435
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov r15, qword [rbp + 0x4f]
mov qword [rsp + 0x10], rax
mov qword [rsp], rcx
jmp 0x14004300d
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140043369
mov r12, qword [rsp + 0x48]
jmp 0x140043440
mov r12, qword [rsp]
mov rax, qword [rbp - 0x59]
mov r9, qword [rbp - 0x69]
mov rbx, qword [rsp + 0x50]
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x41]
add rax, r10
add r11, r10
mov r10, qword [rbp + 0x6f]
cmp rax, r9
mov qword [rsp + 0x20], r11
cmovb r9, rax
cmp rbx, r9
ja 0x1400434ee
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14004348e
xor r8d, r8d
jmp 0x1400434f2
cmp rbx, r8
jne 0x14004349b
mov r8d, 1
jmp 0x1400434f2
cmp rdx, 7
jae 0x1400434b6
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400434f2
cmp rcx, 7
jae 0x1400434ce
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400434f2
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x1400434df
mov r8d, 2
jmp 0x1400434f2
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x1400434f2
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14004351a
test r8, r8
je 0x14004351a
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov eax, dword [rsp + 0x50]
mov dword [r10], eax
mov r11, qword [rsp + 8]
mov esi, dword [rbp - 0x79]
mov rcx, qword [rbp + 0x5f]
mov r14d, dword [rsp + 0x48]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [r11], r13d
mov dword [r11 + 4], eax
mov r15d, dword [rcx + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004354d
xor edi, edi
jmp 0x1400435c6
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 8]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r11 + 0xe], r8w
lea r9d, [r14 + rsi]
mov eax, 0x3ff
mov dword [r11 + 8], edi
and r8w, ax
movsxd rdx, r9d
cmp r13, 6
jae 0x1400435f0
movzx r10d, r13w
mov eax, 0x17
jmp 0x140043660
cmp r13, 0x82
jae 0x14004361a
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140043660
cmp r13, 0x842
jae 0x140043637
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140043660
mov eax, 0x17
cmp r13, 0x1842
jae 0x14004364b
lea r10d, [rax - 2]
jmp 0x140043660
cmp r13, 0x5842
jae 0x14004365c
mov r10d, 0x16
jmp 0x140043660
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004366c
sub dx, 2
jmp 0x1400436aa
cmp rdx, 0x86
jae 0x140043691
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x1400436aa
cmp rdx, 0x846
jae 0x1400436a7
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400436aa
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x1400436e9
cmp r10w, 8
jae 0x1400436e9
cmp dx, 0x10
jae 0x1400436e9
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004371b
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0x8f]
xor esi, esi
mov rcx, qword [rbp + 0x3f]
mov r8, qword [rbp - 0x61]
mov word [r11 + 0xc], r9w
add r11, 0x10
add qword [rax], r13
mov rax, r12
lea r9, [r12 + rcx]
mov qword [rsp + 8], r11
cmp r9, r8
mov qword [rbp + 0x57], rsi
lea rdx, [rcx + 2]
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x140043782
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + rcx]
cmp rdx, rax
mov eax, 2
cmova r12, rax
lea rdx, [rcx + r12]
cmp r8, rdx
cmovb rdx, r8
cmp rdx, r8
jae 0x1400437d4
mov rbx, qword [rbp + 0x47]
movabs r11, 0xbd1e35a7bd000000
mov r15, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x67]
nop dword [rax]
mov rax, rdx
and rax, r15
mov rcx, qword [rax + rbx]
mov eax, edx
imul rcx, r11
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rsi + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400437a0
mov rsi, qword [rbp + 0x57]
mov r11, qword [rsp + 8]
mov r10, r9
mov qword [rbp + 0x3f], r9
jmp 0x140043912
mov rsi, qword [rbp + 0x57]
mov r10, rdi
mov r11, qword [rsp + 0x20]
inc rsi
mov qword [rbp + 0x57], rsi
mov qword [rbp + 0x3f], rdi
cmp rdi, r11
jbe 0x14004390d
mov rax, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x71]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp rdi, rax
jbe 0x140043890
lea rax, [rdi + 0x10]
movabs r12, 0xbd1e35a7bd000000
cmp rax, rdx
cmovb rdx, rax
cmp rdi, rdx
jae 0x140043886
add rsi, 4
mov rax, rdx
sub rax, rdi
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rbp + 0x57], rsi
mov rsi, qword [rbp + 0x67]
nop dword [rax + rax]
mov rax, r10
and rax, r15
mov rcx, qword [rax + r9]
mov eax, r10d
imul rcx, r12
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rsi + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], r10d
add r10, 4
cmp r10, rdx
jb 0x140043850
mov rsi, qword [rbp + 0x57]
mov qword [rbp + 0x3f], r10
mov r11, qword [rsp + 8]
jmp 0x14004391c
lea rax, [rdi + 8]
cmp rax, rdx
cmovb rdx, rax
cmp rdi, rdx
jae 0x14004390d
add rsi, 2
mov rax, rdx
sub rax, rdi
movabs r12, 0xbd1e35a7bd000000
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rbp + 0x57], rsi
mov rsi, qword [rbp + 0x67]
nop word [rax + rax]
mov rax, r10
and rax, r15
mov rcx, qword [rax + r9]
mov eax, r10d
imul rcx, r12
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rsi + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], r10d
add r10, 2
cmp r10, rdx
jb 0x1400438d0
mov rsi, qword [rbp + 0x57]
mov r11, qword [rsp + 8]
mov qword [rbp + 0x3f], r10
jmp 0x14004391c
mov r11, qword [rsp + 8]
movabs r12, 0xbd1e35a7bd000000
mov rdx, qword [rbp - 0x71]
lea rax, [r10 + 8]
mov r9, qword [rbp + 0x47]
cmp rax, rdx
mov rax, qword [rbp + 0x67]
mov rdi, qword [rbp + 0x4f]
mov rcx, qword [rbp + 0x6f]
mov r8, qword [rbp - 0x69]
jb 0x140042c70
mov rcx, qword [rbp + 0x77]
mov r15, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
sub r11, qword [rbp - 0x39]
sub rdx, r10
mov rax, qword [rbp + 0x87]
add rdx, rsi
sar r11, 4
mov qword [rcx], rdx
add qword [rax], r11
add rsp, 0xe0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x140142248]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r15, qword [rbp + 0xd8]
mov rax, rcx
mov rcx, qword [rbp + 0xe8]
mov r13, rdx
mov rbx, qword [rbp + 0xc0]
mov rdi, r9
mov r14, qword [rbp + 0xe0]
mov esi, 1
mov qword [rsp + 0x10], r9
mov r11, r8
mov r9, qword [rbp + 0xd0]
mov qword [rbp - 0x30], rcx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xb8]
mov r10, qword [r9]
mov qword [rsp], r8
mov r8, qword [rbp + 0xc8]
mov ecx, dword [rdx + 8]
shl rsi, cl
mov rcx, qword [rdx + 0x10]
sub rsi, 0x10
mov qword [rbp - 0x20], r9
lea r9, [rax + r13]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x18], rbx
mov qword [rbp - 0x70], r8
mov qword [rsp + 0x48], r15
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x18], r15
mov qword [rsp + 0x40], r10
mov qword [rbp - 0x78], r9
cmp rax, 8
jb 0x140043a60
lea rax, [r9 - 7]
mov qword [rbp - 0x40], rax
jmp 0x140043a64
mov qword [rbp - 0x40], r13
cmp dword [rdx + 4], 9
mov eax, 0x200
mov r12d, 0x40
cmovl eax, r12d
mov qword [rbp - 0x38], rax
add rax, r13
mov qword [rsp + 0x50], rax
lea rax, [r13 + 8]
cmp rax, r9
jae 0x140044f84
movdqa xmm2, xmmword [0x140139f60]
mov eax, 3
movdqa xmm4, xmmword [0x140139f90]
movabs r14, 0xbd1e35a7bd000000
movd xmm3, eax
mov rbx, qword [rbx + 0x58]
lea rax, [rcx + r13]
sub r9, r13
mov qword [rsp + 0x28], 0x7e4
cmp r13, rsi
mov qword [rsp + 8], r9
mov r12, rsi
mov qword [rsp + 0x58], rbx
cmovb r12, r13
mov rcx, rsi
cmp rax, rsi
mov r15, rdi
mov edi, 0x7e4
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
xor r10d, r10d
mov qword [rbp - 0x58], rax
and r15, r13
mov qword [rbp - 0x80], rcx
mov rax, qword [r11 + r15]
lea r13, [r11 + r15]
movsxd r11, dword [r8]
mov rcx, qword [rsp + 0x30]
movzx esi, byte [r13]
sub rcx, r11
mov r8, qword [rsp + 0x10]
imul rax, r14
xor r14d, r14d
mov qword [rsp + 0x20], r10
shr rax, 0x2f
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x68], r10
mov dword [rsp + 0x78], r10d
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, qword [rsp + 0x30]
jae 0x140043c22
mov r10, qword [rsp]
mov eax, r8d
and rcx, rax
add r10, rcx
movzx eax, byte [r10]
cmp esi, eax
jne 0x140043c22
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r13
test rax, rax
je 0x140043ba3
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x140043c0c
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x140043b80
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140043bc3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140043bc3
inc rcx
sub r8, 1
jne 0x140043bb0
mov rax, rcx
mov rdx, qword [rsp]
mov r8, qword [rsp + 0x10]
cmp rax, 4
jb 0x140043c26
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x140043c26
mov qword [rsp + 0x20], rax
mov r14, rax
mov qword [rsp + 0x60], rax
mov rdi, rcx
add rax, rdx
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x28], rcx
movzx esi, byte [rax + r15]
jmp 0x140043c26
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x140043bc6
mov rdx, qword [rsp]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x140043c30
mov rax, qword [rsp + 0x30]
shr rax, 3
and eax, 3
mov r11d, r8d
mov rcx, qword [rbp + rax*8 - 0x10]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x50], rcx
mov ecx, dword [rbx + rax*4]
mov rbx, qword [rsp + 0x30]
and r11, rcx
add r11, rdx
sub rbx, rcx
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140043d4e
test rbx, rbx
je 0x140043d4e
cmp rbx, r12
ja 0x140043d4e
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x140043ce3
mov r10, r11
sub r10, r13
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140044016
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140043cc0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140043d03
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140043d03
inc rcx
sub r8, 1
jne 0x140043cf0
mov rdx, rcx
cmp rdx, 4
jb 0x140043d4e
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x140043d4e
mov rax, qword [rsp]
mov r14, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x60], rdx
mov rdi, r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x68], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp - 8]
mov rcx, qword [rsp + 0x58]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x30]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140043e40
test rbx, rbx
je 0x140043e40
cmp rbx, r12
ja 0x140043e40
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140043dd3
mov r10, r11
sub r10, r13
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14004402f
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140043db0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140043df5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140043df5
inc rcx
inc rdx
sub r8, 1
jne 0x140043de0
mov r8, rdx
cmp r8, 4
jb 0x140043e40
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x140043e40
mov rax, qword [rsp]
mov r14, r8
add rax, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x68], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x58]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x30]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x140043f30
test rbx, rbx
je 0x140043f30
cmp rbx, r12
ja 0x140043f30
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140043ec3
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140044048
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140043ea0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140043ee5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140043ee5
inc rcx
inc rdx
sub r8, 1
jne 0x140043ed0
mov r8, rdx
cmp r8, 4
jb 0x140043f30
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rdi, rdx
jae 0x140043f30
mov rax, qword [rsp]
mov r14, r8
add rax, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x68], rbx
movzx esi, byte [rax + r15]
mov rax, qword [rbp + 8]
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x30]
mov ecx, dword [r15 + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r11 + r14]
cmp esi, eax
jne 0x14004407a
test rbx, rbx
je 0x14004407a
cmp rbx, r12
ja 0x14004407a
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140043fb3
mov r10, r11
sub r10, r13
nop dword [rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x140044061
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140043f90
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140043fd5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140043fd5
inc rcx
inc rdx
sub r8, 1
jne 0x140043fc0
mov r8, rdx
cmp r8, 4
jb 0x14004407a
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x14004407a
mov qword [rsp + 0x20], r8
mov r12, rax
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x68], rbx
jmp 0x14004407f
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140043d06
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140043df8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140043ee8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x140043fd8
mov r12, qword [rsp + 0x28]
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x38]
cmp r12, 0x7e4
jne 0x14004422a
mov rbx, qword [r8 + 0x50]
mov rdx, qword [rbx + 0x28]
mov r14, qword [rbx + 0x30]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x14004422a
imul ecx, dword [r13], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
mov rax, qword [r10 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x14004422a
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x14004422a
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x140044143
mov r10, r13
sub r10, rdx
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14004420c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140044120
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x140044163
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140044163
inc rcx
sub r8, 1
jne 0x140044150
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140044225
test r9, r9
je 0x140044225
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x80]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x58]
ja 0x140044225
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140044225
mov qword [rsp + 0x28], rax
mov rcx, r9
mov r12, qword [rsp + 0x28]
lea rax, [r14 + 1]
sub r11d, r9d
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0x18]
mov qword [rbx + 0x30], rax
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x78], r11d
jmp 0x14004422f
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140044166
mov r8, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rbp - 0x50]
mov r13, qword [rsp + 0x30]
mov dword [r15 + rax*4], r13d
cmp r12, 0x7e4
jbe 0x140044e0a
mov r9, qword [rsp + 8]
xor esi, esi
mov dword [rbp - 0x80], esi
dec r9
cmp dword [r10 + 4], 5
mov qword [rsp + 8], r9
jge 0x140044276
lea rax, [rcx - 1]
mov rdi, r9
cmp rax, r9
cmovb rdi, rax
mov qword [rbp - 0x10], rdi
jmp 0x14004427d
mov rdi, rsi
mov qword [rbp - 0x10], rsi
mov rax, qword [rbp - 0x60]
lea rbx, [r13 + 1]
mov edx, 0x7e4
mov qword [rbp - 8], rsi
mov qword [rbp], rdx
mov rdx, qword [rbp - 0x68]
cmp rbx, rdx
mov dword [rbp + 8], esi
mov r12, rdx
mov qword [rsp + 0x58], rbx
cmovb r12, rbx
mov rcx, rdx
inc rax
mov esi, 0x7e4
add rax, r13
cmp rax, rdx
mov rdx, qword [rsp]
cmovb rcx, rax
mov rax, qword [r10 + 0x50]
mov qword [rbp - 0x58], rax
mov rax, qword [r8 + 0x58]
mov r8, qword [rsp + 0x10]
mov qword [rsp + 0x50], rax
mov r15, r8
mov qword [rbp - 0x50], rcx
and r15, rbx
mov rax, qword [rdx + r15]
lea r13, [rdx + r15]
movzx r14d, byte [rdi + r13]
movabs rcx, 0xbd1e35a7bd000000
imul rax, rcx
mov rcx, rbx
shr rax, 0x2f
movq xmm1, rax
mov rax, qword [rbp - 0x70]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, rbx
jae 0x1400443ea
mov r10d, r8d
and r10, rcx
add r10, rdx
movzx eax, byte [r10 + rdi]
cmp r14d, eax
jne 0x1400443ea
mov r8, r9
xor eax, eax
shr r8, 3
mov rdx, r13
test r8, r8
je 0x14004436f
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x1400443d4
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140044350
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x140044393
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r10], cl
jne 0x140044393
inc rax
sub r8, 1
jne 0x140044380
mov rcx, rax
mov r8, qword [rsp + 0x10]
cmp rcx, 4
jb 0x1400443ef
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, rsi
jbe 0x1400443ef
mov qword [rbp - 8], r11
mov rsi, rax
mov r11, qword [rsp]
mov rdi, rcx
mov qword [rbp], rax
mov qword [rbp - 0x10], rcx
lea rax, [r11 + rcx]
movzx r14d, byte [rax + r15]
jmp 0x1400443f3
xor rcx, r9
mov r9, qword [rsp + 8]
tzcnt rcx, rcx
shr rcx, 3
add rcx, rax
jmp 0x140044396
mov r11, rdx
jmp 0x1400443f3
mov r11, qword [rsp]
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 + 0x10], xmm0
add rax, 2
cmp rax, 4
jb 0x140044400
mov rdx, qword [rsp + 0x50]
mov rax, rbx
shr rax, 3
and eax, 3
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x48], rcx
mov ecx, dword [rdx + rax*4]
mov eax, r8d
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x140044516
test rbx, rbx
je 0x140044516
cmp rbx, r12
ja 0x140044516
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400444b3
mov r10, r11
sub r10, r13
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1400446f1
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140044490
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x1400444d3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400444d3
inc rcx
sub r8, 1
jne 0x1400444c0
mov rdx, rcx
cmp rdx, 4
jb 0x140044516
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x140044516
mov rax, qword [rsp]
mov rdi, rdx
add rax, rdx
mov qword [rbp - 0x10], rdx
mov rsi, r8
mov qword [rbp], r8
mov qword [rbp - 8], rbx
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x50]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x58]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x1400445f8
test rbx, rbx
je 0x1400445f8
cmp rbx, r12
ja 0x1400445f8
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140044593
mov r10, r11
sub r10, r13
nop
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004470a
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140044570
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x1400445b5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400445b5
inc rcx
inc rdx
sub r8, 1
jne 0x1400445a0
mov r8, rdx
cmp r8, 4
jb 0x1400445f8
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x1400445f8
mov rax, qword [rsp]
mov rdi, r8
add rax, r8
mov qword [rbp - 0x10], r8
mov rsi, rdx
mov qword [rbp], rdx
mov qword [rbp - 8], rbx
movzx r14d, byte [rax + r15]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x50]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x58]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x14004473c
test rbx, rbx
je 0x14004473c
cmp rbx, r12
ja 0x14004473c
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x140044683
mov r10, r11
sub r10, r13
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140044723
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140044660
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x1400446a5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400446a5
inc rcx
inc rdx
sub r8, 1
jne 0x140044690
mov r8, rdx
cmp r8, 4
jb 0x14004473c
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004473c
mov rax, qword [rsp]
mov rdi, r8
add rax, r8
mov qword [rbp - 0x10], r8
mov rsi, rdx
mov qword [rbp], rdx
mov qword [rbp - 8], rbx
movzx r14d, byte [rax + r15]
mov r15, rdx
jmp 0x140044740
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400444d6
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400445b8
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400446a8
mov r15, qword [rbp]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x50]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x58]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [rdi + r11]
cmp r14d, eax
jne 0x140044818
test rbx, rbx
je 0x140044818
cmp rbx, r12
ja 0x140044818
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r13
test r8, r8
je 0x1400447c3
mov r10, r11
sub r10, r13
nop dword [rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x140044a12
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x1400447a0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x1400447e5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x1400447e5
inc rcx
inc rdx
sub r8, 1
jne 0x1400447d0
mov r8, rdx
cmp r8, 4
jb 0x140044818
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x140044818
mov qword [rbp - 0x10], r8
mov r15, rax
mov qword [rbp], rax
mov qword [rbp - 8], rbx
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x38]
cmp r15, 0x7e4
jne 0x140044994
mov rbx, qword [r8 + 0x50]
mov rdx, qword [rbx + 0x28]
mov r14, qword [rbx + 0x30]
mov rax, rdx
shr rax, 7
cmp r14, rax
jb 0x140044994
imul ecx, dword [r13], 0x1e35a7bd
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
mov rax, qword [r10 + 0x78]
shr rcx, 0x11
and ecx, 0x7ffe
movzx edx, byte [rcx + rax]
test dl, dl
je 0x140044994
mov rax, qword [r10 + 0x70]
mov r11d, edx
movzx esi, word [rax + rcx*2]
cmp rdx, r9
ja 0x140044994
mov rdi, qword [r10 + 0x58]
mov eax, r11d
imul rax, rsi
mov edx, dword [rdi + rdx*4 + 0x20]
mov r8d, r11d
xor ecx, ecx
shr r8, 3
add rdx, rax
add rdx, qword [rdi + 0xa8]
test r8, r8
je 0x1400448e3
mov r10, r13
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140044a2b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400448c0
mov r10, qword [rsp + 0x38]
mov r8, r11
and r8d, 7
je 0x140044903
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r13], al
jne 0x140044903
inc rcx
sub r8, 1
jne 0x1400448f0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004498f
test r9, r9
je 0x14004498f
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x50]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x58]
ja 0x14004498f
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14004498f
mov r15, rax
mov qword [rbp], rax
lea rax, [r14 + 1]
mov qword [rbp - 0x10], r9
sub r11d, r9d
mov qword [rbx + 0x30], rax
mov dword [rbp + 8], r11d
mov qword [rbp - 8], r8
mov r8, qword [rsp + 0x18]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov dword [rdx + rax*4], ecx
mov rax, qword [rsp + 0x28]
add rax, 0xaf
cmp r15, rax
jb 0x140044a4b
movups xmm0, xmmword [rbp - 0x10]
inc qword [rsp + 0x40]
mov r13, rcx
movups xmm1, xmmword [rbp]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rbp - 0x80]
inc ecx
mov dword [rbp - 0x80], ecx
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp ecx, 4
jge 0x140044a44
lea rax, [r13 + 8]
cmp rax, qword [rbp - 0x78]
jae 0x140044a44
mov r9, qword [rsp + 8]
mov rax, qword [rsp + 0x70]
dec r9
mov rcx, qword [rsp + 0x60]
xor esi, esi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
jmp 0x140044256
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x1400447e8
mov r10, qword [rsp + 0x38]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140044906
mov r12, qword [rsp + 0x60]
jmp 0x140044a55
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x20]
mov r9, qword [rbp - 0x68]
lea r11, [r12*2]
mov rax, qword [rbp - 0x60]
add r11, r13
add r11, qword [rbp - 0x38]
add rax, r13
mov rbx, qword [rsp + 0x68]
cmp rax, r9
mov qword [rsp + 0x50], r11
mov r11, qword [rbp - 0x70]
cmovb r9, rax
cmp rbx, r9
ja 0x140044b07
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r8, dword [r11 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x140044aa7
xor r8d, r8d
jmp 0x140044b0b
cmp rbx, r8
jne 0x140044ab4
mov r8d, 1
jmp 0x140044b0b
cmp rdx, 7
jae 0x140044acf
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140044b0b
cmp rcx, 7
jae 0x140044ae7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140044b0b
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x140044af8
mov r8d, 2
jmp 0x140044b0b
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140044b0b
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x140044b33
test r8, r8
je 0x140044b33
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [r11 + 4]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [r11 + 4], eax
mov eax, dword [rsp + 0x68]
mov dword [r11], eax
mov rcx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x78]
mov r14d, dword [rsp + 0x60]
mov r11, qword [rsp + 0x40]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r15d, dword [r10 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x140044b67
xor edi, edi
jmp 0x140044bdf
mov r11d, dword [r10 + 0x40]
mov edx, 1
lea r10, [r8 - 0x10]
lea ecx, [r11 + 2]
shl rdx, cl
sub rdx, r15
add r10, rdx
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x40]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rsp + 0x48]
lea edx, [r14 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], edi
cmp r11, 6
jae 0x140044c0e
movzx r10d, r11w
mov eax, 0x17
jmp 0x140044c7e
cmp r11, 0x82
jae 0x140044c38
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140044c7e
cmp r11, 0x842
jae 0x140044c55
lea eax, [r11 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140044c7e
mov eax, 0x17
cmp r11, 0x1842
jae 0x140044c69
lea r10d, [rax - 2]
jmp 0x140044c7e
cmp r11, 0x5842
jae 0x140044c7a
mov r10d, 0x16
jmp 0x140044c7e
movzx r10d, ax
cmp r9, 0xa
jae 0x140044c8b
sub r9w, 2
jmp 0x140044ccb
cmp r9, 0x86
jae 0x140044cb0
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140044ccb
cmp r9, 0x846
jae 0x140044cc7
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140044ccb
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140044d08
cmp r10w, 8
jae 0x140044d08
cmp r9w, 0x10
jae 0x140044d08
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140044d3c
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp - 0x30]
lea r9, [r12 + r13]
mov r8, qword [rbp - 0x40]
xor r10d, r10d
mov word [r15 + 0xc], dx
add r15, 0x10
mov qword [rsp + 0x48], r15
lea rdx, [r13 + 2]
add qword [rax], r11
mov rax, r12
cmp r9, r8
mov qword [rsp + 0x40], r10
mov qword [rbp - 0x48], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x140044d9b
lea rax, [rbx*4]
sub r13, rax
add r13, r12
cmp rdx, r13
cmova r13, rdx
cmp r8, r13
mov rdx, r13
cmovb rdx, r8
mov rbx, qword [rsp + 0x18]
cmp rdx, r8
jae 0x140044df9
mov r9, qword [rsp]
movabs r15, 0xbd1e35a7bd000000
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x10]
and rax, rdx
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r15
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [rbx + 0x58]
and ecx, 0x1ffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x140044dc0
mov r9, qword [rbp - 0x48]
mov r15, qword [rsp + 0x48]
mov r13, r9
mov qword [rsp + 0x30], r9
mov r9, qword [rbp - 0x78]
jmp 0x140044f4f
mov r10, qword [rsp + 0x40]
inc r13
mov r11, qword [rsp + 0x50]
inc r10
mov r9, qword [rbp - 0x78]
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x30], r13
cmp r13, r11
jbe 0x140044f45
mov rax, qword [rbp - 0x38]
lea rdx, [r9 - 7]
lea rax, [r11 + rax*4]
cmp r13, rax
jbe 0x140044ec7
mov r11, qword [rsp]
lea rax, [r13 + 0x10]
mov rdi, qword [rsp + 0x10]
cmp rax, rdx
movabs r14, 0xbd1e35a7bd000000
cmovb rdx, rax
cmp r13, rdx
jae 0x140044eb8
mov rax, rdx
add r10, 4
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x40], r10
mov rax, rdi
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, r14
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x58]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r13d
add r13, 4
cmp r13, rdx
jb 0x140044e82
mov qword [rsp + 0x30], r13
mov rbx, qword [rsp + 0x18]
mov r15, qword [rsp + 0x48]
jmp 0x140044f62
lea rax, [r13 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x140044f45
mov r11, qword [rsp]
mov rax, rdx
mov rdi, qword [rsp + 0x10]
sub rax, r13
dec rax
add r10, 2
and rax, 0xfffffffffffffffe
movabs r14, 0xbd1e35a7bd000000
add r10, rax
mov qword [rsp + 0x40], r10
mov rax, rdi
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, r14
and eax, 0x18
shr rcx, 0x2f
add ecx, eax
mov rax, qword [r8 + 0x58]
and ecx, 0x1ffff
mov dword [rax + rcx*4], r13d
add r13, 2
cmp r13, rdx
jb 0x140044f03
mov rbx, qword [rsp + 0x18]
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x30], r13
jmp 0x140044f62
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x18]
mov r11, qword [rsp]
movabs r14, 0xbd1e35a7bd000000
mov rdi, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x38]
lea rax, [r13 + 8]
mov r8, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
cmp rax, r9
jb 0x140043ab3
mov r14, qword [rbp - 0x28]
sub r15, qword [rbp - 0x18]
sub r9, r13
mov rax, qword [rbp - 0x20]
add r9, r10
sar r15, 4
mov qword [rax], r9
add qword [r14], r15
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400a3970
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r8, qword [rbp + 0x6f]
mov rax, rcx
mov r12, qword [rbp + 0x8f]
mov rsi, rdx
mov rdx, qword [rbp + 0x87]
mov r10d, 1
mov r13, qword [rbp + 0x77]
mov r11, r9
mov ecx, dword [r8 + 8]
shl r10, cl
lea rbx, [rax + rsi]
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov r14, qword [rdx]
mov qword [rbp + 0x47], r13
mov qword [rbp - 0x31], r10
mov qword [rbp - 0x79], rcx
mov qword [rsp + 0x58], r12
mov qword [rbp - 0x11], r12
mov qword [rsp + 0x28], r14
mov qword [rbp - 0x41], rbx
cmp rax, 4
jb 0x14004504e
lea rax, [rbx - 3]
mov qword [rbp - 0x21], rax
jmp 0x140045052
mov qword [rbp - 0x21], rsi
cmp dword [r8 + 4], 9
mov edx, 0x40
mov rdi, qword [rbp + 0x7f]
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r13 + 0x6c]
mov qword [rbp - 0x19], rax
add rax, rsi
mov qword [rbp - 0x71], rax
cmp edx, 4
jle 0x1400450d2
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x20], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x24], eax
cmp edx, 0xa
jle 0x1400450ce
mov ecx, dword [rdi + 4]
lea eax, [rcx - 1]
mov dword [rdi + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x3c], eax
mov rcx, qword [rbp - 0x79]
lea rax, [rsi + 4]
cmp rax, rbx
jae 0x140046533
mov qword [rsp + 0xd8], r15
xor edx, edx
nop dword [rax]
mov r15, qword [r13 + 0x78]
lea rax, [rcx + rsi]
mov r14, qword [r13 + 0x80]
mov r12, rbx
sub r12, rsi
mov qword [rbp - 0x59], rdx
cmp rsi, r10
mov qword [rbp + 0x8f], r12
mov r9, r10
mov qword [rsp + 0x20], 0x7e4
cmovb r9, rsi
mov qword [rbp - 0x39], r15
cmp rax, r10
mov qword [rbp + 0x67], r9
mov rcx, r10
mov qword [rbp - 0x69], r14
cmovb rcx, rax
mov qword [rsp], rdx
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov r8, rsi
mov qword [rsp + 0x18], rcx
movsxd rsi, dword [r13 + 0x6c]
and r8, r11
mov qword [rsp + 0x30], rax
mov ecx, 0x7e4
mov qword [rsp + 8], r8
mov r10, rdx
mov qword [rbp - 0x61], rdx
mov dword [rbp - 0x49], edx
mov qword [rsp + 0x10], rcx
mov qword [rbp + 0x77], rdx
test rsi, rsi
je 0x1400452f1
mov r14, qword [rbp + 0x57]
mov r15, r8
mov rax, qword [rbp + 0x4f]
mov qword [rsp + 0x10], rcx
mov qword [rbp + 0x77], rdx
movsxd rdi, dword [rdi + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x1400452d4
cmp rdi, r9
ja 0x1400452d4
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x1400452d4
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400452d0
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400452d0
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x14004521e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400452b3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140045200
mov r8, r12
and r8d, 7
je 0x140045243
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140045243
inc rcx
sub r8, 1
jne 0x140045230
mov r9, rcx
cmp r9, 3
jae 0x140045257
cmp r9, 2
jne 0x1400452c4
cmp rbx, r9
jae 0x1400452c4
mov r11, qword [rsp + 0x10]
imul r8, r9, 0x87
add r8, 0x78f
cmp r11, r8
jae 0x1400452c4
test rbx, rbx
je 0x140045291
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r11, r8
jae 0x1400452c4
mov rax, r9
mov qword [rsp + 0x10], r8
mov qword [rsp], rax
mov r10, r9
mov qword [rbp - 0x61], rax
mov qword [rbp + 0x77], r9
mov qword [rbp - 0x59], rdi
mov qword [rsp + 0x20], r8
jmp 0x1400452c8
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140045246
mov r10, qword [rbp + 0x77]
mov r9, qword [rbp + 0x67]
mov r11, qword [rbp + 0x5f]
mov rax, qword [rbp + 0x4f]
mov rdi, qword [rbp + 0x7f]
inc rbx
cmp rbx, rsi
jb 0x140045192
mov r15, qword [rbp - 0x39]
mov r14, qword [rbp - 0x69]
mov r8, qword [rsp + 8]
mov rbx, qword [rbp + 0x47]
mov r12, qword [rbp + 0x57]
add r12, r8
mov ecx, dword [rbx + 0x60]
imul edx, dword [r12], 0x1e35a7bd
shr edx, cl
mov ecx, dword [rbx + 0x68]
mov eax, edx
shl eax, cl
lea r13, [r15 + rdx*2]
movzx edx, word [r15 + rdx*2]
mov esi, edx
mov qword [rbp - 0x69], r13
sub rsi, qword [rbx + 0x58]
lea r14, [r14 + rax*4]
cmp rdx, qword [rbx + 0x58]
mov eax, 0
mov edi, edx
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x140045481
mov r15d, dword [rbx + 0x64]
mov r13, qword [rbp + 0x57]
nop word [rax + rax]
mov rbx, qword [rbp + 0x4f]
dec rdi
mov rax, r15
and rax, rdi
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140045474
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x14004546b
lea rax, [rcx + r10]
cmp rax, r11
ja 0x14004546b
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x14004546b
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x8f]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400453e5
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140045456
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400453c0
mov rax, qword [rbp + 0x8f]
mov r8, rax
and r8d, 7
je 0x140045404
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140045404
inc rcx
sub r8, 1
jne 0x1400453f1
mov rdx, rcx
mov r8, qword [rsp + 8]
mov r9, qword [rbp + 0x67]
mov r11, qword [rbp + 0x5f]
cmp rdx, 4
jb 0x140045467
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x10], rax
jae 0x140045467
mov qword [rsp + 0x10], rax
mov r10, rdx
mov qword [rbp + 0x77], rdx
mov qword [rsp], rdx
mov qword [rbp - 0x61], rdx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x20], rax
jmp 0x14004546b
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140045407
mov r10, qword [rbp + 0x77]
cmp rdi, rsi
ja 0x140045350
mov r13, qword [rbp - 0x69]
mov rbx, qword [rbp + 0x47]
movzx edx, word [r13]
mov eax, dword [rbx + 0x64]
mov rsi, qword [rbp + 0x4f]
and rax, rdx
mov dword [r14 + rax*4], esi
inc word [r13]
cmp qword [rsp + 0x20], 0x7e4
jne 0x1400457b5
mov r13, qword [rbx + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140046393
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x8f]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140045640
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140045640
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x14004555e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x14004562c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140045540
mov r8, r11
and r8d, 7
je 0x140045583
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140045583
inc rcx
sub r8, 1
jne 0x140045570
mov r9, rcx
mov r10, qword [rbp + 0x6f]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140045647
test r9, r9
je 0x140045647
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x18]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x30]
ja 0x14004564c
mov rdx, qword [rbp + 0x8f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140045653
mov rcx, r9
mov qword [rsp + 0x20], rax
lea rax, [r14 + 1]
mov qword [rsp], rcx
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
jmp 0x140045653
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140045586
mov rsi, qword [rsp + 0x18]
jmp 0x140045653
mov rsi, qword [rsp + 0x18]
mov rdx, qword [rbp + 0x8f]
lea rax, [r15 + 1]
mov r15, qword [rbp + 0x6f]
mov qword [r13 + 0x28], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x1400457ab
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400457ab
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x1400456de
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140045797
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400456c0
mov r8, r11
and r8d, 7
je 0x1400456fc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400456fc
inc rdx
inc rcx
sub r8, 1
jne 0x1400456e7
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400457ab
test r9, r9
je 0x1400457ab
mov rax, qword [r15 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x30]
ja 0x1400457ab
mov rbx, qword [rbp + 0x47]
mov rsi, qword [rbp + 0x4f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x20]
jb 0x1400457b9
mov rcx, r9
mov qword [rbp - 0x59], r8
sub r11d, r9d
mov qword [rsp], rcx
inc qword [r13 + 0x30]
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x49], r11d
mov qword [rsp + 0x20], rax
jmp 0x1400457bd
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400456ff
mov rbx, qword [rbp + 0x47]
mov rsi, qword [rbp + 0x4f]
jmp 0x1400457b9
mov r15, qword [rbp + 0x6f]
mov rcx, qword [rsp]
cmp qword [rsp + 0x20], 0x7e4
jbe 0x140046393
mov r13, qword [rbp + 0x8f]
xor edi, edi
mov dword [rbp + 0x77], edi
dec r13
cmp dword [r15 + 4], 5
mov qword [rbp + 0x8f], r13
jge 0x1400457f9
lea rax, [rcx - 1]
mov r10, r13
cmp rax, r13
cmovb r10, rax
jmp 0x1400457fc
mov r10, rdi
mov r8, qword [rbp - 0x31]
lea rdx, [rsi + 1]
mov r14, qword [rbx + 0x80]
cmp rdx, r8
mov rax, qword [rbp - 0x79]
mov r9, r8
mov r12, qword [rbp + 0x5f]
cmovb r9, rdx
inc rax
mov qword [rsp + 8], r10
add rax, rsi
mov qword [rsp + 0x40], rdi
movsxd rsi, dword [rbx + 0x6c]
cmp rax, r8
mov rcx, r8
mov qword [rbp + 0x67], rdx
cmovb rcx, rax
mov qword [rsp + 0x10], r9
mov rax, qword [r15 + 0x50]
mov r11d, 0x7e4
mov r15, qword [rbx + 0x78]
mov r8, rdx
and r8, r12
mov qword [rbp - 0x39], rcx
mov qword [rsp + 0x48], r11
mov ecx, r11d
mov qword [rsp + 0x18], rcx
mov rbx, rdi
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x29], r14
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x50], edi
test rsi, rsi
je 0x140045a05
mov r14, qword [rbp + 0x57]
mov r15, r8
mov rax, qword [rbp + 0x7f]
mov qword [rsp + 0x18], rcx
nop
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x1400459ea
cmp rdi, r9
ja 0x1400459ea
and rcx, r12
lea rdx, [r10 + r15]
cmp rdx, r12
ja 0x1400459e6
lea rax, [rcx + r10]
cmp rax, r12
ja 0x1400459e2
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400459e2
mov r8, r13
lea rdx, [r15 + r14]
shr r8, 3
lea r11, [rcx + r14]
xor eax, eax
test r8, r8
je 0x14004592e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rdx + r10]
cmp r9, rcx
jne 0x1400459c2
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140045910
mov r8, r13
and r8d, 7
je 0x140045953
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x140045953
inc rax
sub r8, 1
jne 0x140045940
mov r9, rax
cmp r9, 3
jae 0x140045967
cmp r9, 2
jne 0x1400459d3
cmp rbx, r9
jae 0x1400459d3
mov r11, qword [rsp + 0x18]
imul r8, r9, 0x87
add r8, 0x78f
cmp r11, r8
jae 0x1400459d3
test rbx, rbx
je 0x1400459a1
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r11, r8
jae 0x1400459d3
mov qword [rsp + 0x18], r8
mov r10, r9
mov qword [rsp + 8], r9
mov r11, r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r8
jmp 0x1400459dd
xor rcx, r9
tzcnt r9, rcx
shr r9, 3
add r9, rax
jmp 0x140045956
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rax, qword [rbp + 0x7f]
mov rdx, qword [rbp + 0x67]
inc rbx
cmp rbx, rsi
jb 0x1400458a0
mov r15, qword [rbp - 0x69]
xor edi, edi
mov r14, qword [rbp - 0x29]
mov r8, qword [rsp + 0x30]
mov rbx, qword [rbp + 0x47]
mov r12, qword [rbp + 0x57]
add r12, r8
mov ecx, dword [rbx + 0x60]
imul edx, dword [r12], 0x1e35a7bd
shr edx, cl
mov ecx, dword [rbx + 0x68]
mov eax, edx
shl eax, cl
lea r13, [r15 + rdx*2]
movzx edx, word [r15 + rdx*2]
mov esi, edx
mov qword [rbp - 0x29], r13
sub rsi, qword [rbx + 0x58]
lea r14, [r14 + rax*4]
cmp rdx, qword [rbx + 0x58]
cmovbe rsi, rdi
mov edi, edx
cmp rdx, rsi
jbe 0x140045ba6
mov r15d, dword [rbx + 0x64]
mov r13, qword [rbp + 0x67]
nop word [rax + rax]
dec rdi
mov rax, r15
and rax, rdi
mov rbx, r13
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140045b99
and rcx, qword [rbp + 0x5f]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x5f]
ja 0x140045b90
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x5f]
ja 0x140045b90
mov r13, qword [rbp + 0x57]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rbp + 0x67]
jne 0x140045b90
mov r11, qword [rbp + 0x57]
xor eax, eax
add r11, rcx
mov rdx, r12
mov ecx, eax
mov rax, qword [rbp + 0x8f]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140045b05
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140045b75
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140045ae0
mov rax, qword [rbp + 0x8f]
mov r8, rax
and r8d, 7
je 0x140045b24
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140045b24
inc rcx
sub r8, 1
jne 0x140045b11
mov rdx, rcx
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x10]
cmp rdx, 4
jb 0x140045b86
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x18], rax
jae 0x140045b86
mov qword [rsp + 0x18], rax
mov r10, rdx
mov qword [rsp + 8], rdx
mov r11, rax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
jmp 0x140045b90
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140045b27
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x140045a60
mov r13, qword [rbp - 0x29]
mov rbx, qword [rbp + 0x47]
movzx edx, word [r13]
mov eax, dword [rbx + 0x64]
mov rcx, qword [rbp + 0x67]
and rax, rdx
mov dword [r14 + rax*4], ecx
inc word [r13]
cmp r11, 0x7e4
jne 0x140045ec6
mov r13, qword [rbx + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140045ebb
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x6f]
mov rdx, qword [rbp + 0x8f]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140045d63
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140045d63
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140045c7e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140045d48
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140045c60
mov r8, r11
and r8d, 7
je 0x140045ca3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140045ca3
inc rcx
sub r8, 1
jne 0x140045c90
mov r9, rcx
mov r10, qword [rbp + 0x6f]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140045d5c
test r9, r9
je 0x140045d5c
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x39]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x140045d5c
mov rdx, qword [rbp + 0x8f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140045d63
mov rsi, rax
mov qword [rsp + 0x48], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x38], r9
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], r8
jmp 0x140045d68
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140045ca6
mov rdx, qword [rbp + 0x8f]
mov rsi, qword [rsp + 0x48]
lea rax, [r15 + 1]
mov r15, qword [rbp + 0x6f]
mov qword [r13 + 0x28], rax
mov rax, qword [r15 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140045ed1
mov rax, qword [r15 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140045ed1
mov rbx, qword [r15 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140045dee
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140045ea7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140045dd0
mov r8, r11
and r8d, 7
je 0x140045e0c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140045e0c
inc rdx
inc rcx
sub r8, 1
jne 0x140045df7
mov r9, rcx
mov eax, dword [r15 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140045ed1
test r9, r9
je 0x140045ed1
mov rax, qword [r15 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x39]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x140045ed1
mov rbx, qword [rbp + 0x47]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rbp + 0x67]
add rax, 0x780
cmp rax, rsi
jb 0x140045ed9
sub r11d, r9d
mov qword [rsp + 0x38], r9
inc qword [r13 + 0x30]
mov rsi, rax
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rax
jmp 0x140045ed9
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140045e0f
mov rsi, qword [rsp + 0x48]
mov r15, qword [rbp + 0x6f]
jmp 0x140045ed5
mov rsi, qword [rsp + 0x48]
mov r15, qword [rbp + 0x6f]
jmp 0x140045ed9
mov rbx, qword [rbp + 0x47]
mov rcx, qword [rbp + 0x67]
mov rax, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
add rax, 0xaf
cmp rsi, rax
jb 0x140045f52
movups xmm0, xmmword [rsp + 0x38]
mov rsi, rcx
mov qword [rbp + 0x4f], rcx
mov ecx, dword [rbp + 0x77]
inc r11
movups xmm1, xmmword [rsp + 0x48]
inc ecx
mov qword [rsp + 0x28], r11
mov dword [rbp + 0x77], ecx
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x140045f48
lea rax, [rsi + 4]
cmp rax, qword [rbp - 0x41]
jae 0x140045f48
mov rcx, qword [rbp - 0x51]
mov r13, qword [rbp + 0x8f]
mov qword [rsp + 0x20], rcx
dec r13
mov rcx, qword [rbp - 0x61]
xor edi, edi
mov qword [rsp], rcx
jmp 0x1400457db
mov rcx, qword [rbp - 0x61]
mov qword [rsp], rcx
jmp 0x140045f5a
mov rsi, qword [rbp + 0x4f]
mov rcx, qword [rsp]
mov rax, qword [rbp - 0x19]
mov r9, qword [rbp - 0x31]
mov rbx, qword [rbp - 0x59]
mov r10, qword [rbp + 0x7f]
lea r12, [rax + rcx*2]
mov rax, qword [rbp - 0x79]
add rax, rsi
add r12, rsi
cmp rax, r9
mov qword [rbp - 0x71], r12
cmovb r9, rax
cmp rbx, r9
ja 0x14004600c
movsxd rax, dword [r10]
lea rcx, [rbx + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x140045fac
xor edi, edi
mov r8d, edi
jmp 0x140046012
cmp rbx, r8
jne 0x140045fb9
mov r8d, 1
jmp 0x140046010
cmp rdx, 7
jae 0x140045fd4
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140046010
cmp rcx, 7
jae 0x140045fec
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140046010
movsxd rax, dword [r10 + 8]
cmp rbx, rax
jne 0x140045ffd
mov r8d, 2
jmp 0x140046010
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x140046010
lea r8, [rbx + 0xf]
xor edi, edi
mov r13, qword [rbp + 0x47]
cmp rbx, r9
ja 0x1400460a9
test r8, r8
je 0x1400460a9
mov eax, dword [r10 + 8]
mov edx, dword [r10]
mov ecx, dword [rbp - 0x59]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov dword [r10 + 4], edx
mov dword [r10], ecx
mov r9d, dword [r13 + 0x6c]
cmp r9d, 4
jle 0x1400460a9
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
cmp r9d, 0xa
jle 0x1400460a9
lea eax, [rdx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rdx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rdx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rdx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rdx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rdx + 3]
mov dword [r10 + 0x3c], eax
mov r12, qword [rsp + 0x58]
mov esi, dword [rbp - 0x49]
mov r14d, dword [rbp - 0x61]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [r12], r11d
mov dword [r12 + 4], eax
mov r15d, dword [r15 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jb 0x140046151
mov r10, qword [rbp + 0x6f]
mov edx, 1
mov r11d, dword [r10 + 0x40]
lea r10, [r8 - 0x10]
lea ecx, [r11 + 2]
shl rdx, cl
sub rdx, r15
add r10, rdx
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r12 + 0xe], r8w
lea r9d, [r14 + rsi]
mov eax, 0x3ff
mov dword [r12 + 8], edi
and r8w, ax
movsxd rdx, r9d
cmp r11, 6
jae 0x14004617d
movzx r10d, r11w
mov ecx, 0x17
jmp 0x1400461ee
cmp r11, 0x82
jae 0x1400461a7
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x1400461ee
mov ecx, 0x17
cmp r11, 0x842
jae 0x1400461c4
lea eax, [r11 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x1400461ee
cmp r11, 0x1842
jae 0x1400461d5
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x1400461ee
mov r10d, 0x16
cmp r11, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x1400461fa
sub dx, 2
jmp 0x140046238
cmp rdx, 0x86
jae 0x14004621f
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x140046238
cmp rdx, 0x846
jae 0x140046235
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x140046238
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x140046277
cmp r10w, 8
jae 0x140046277
cmp dx, 0x10
jae 0x140046277
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x1400462a9
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rcx, qword [rbp + 0x4f]
mov rax, qword [rbp + 0x9f]
mov rdx, qword [rsp]
mov word [r12 + 0xc], r9w
add r12, 0x10
mov qword [rsp + 0x58], r12
lea r10, [rcx + 2]
add qword [rax], r11
xor eax, eax
mov r11, qword [rbp - 0x21]
lea rdi, [rdx + rcx]
cmp rdi, r11
mov qword [rsp + 0x28], rax
mov r14d, eax
mov qword [rbp + 0x4f], rdi
cmovb r11, rdi
mov rax, rdx
shr rax, 2
cmp rbx, rax
jae 0x14004631d
lea rax, [rbx*4]
sub rdx, rax
lea rax, [rdx + rcx]
cmp r10, rax
mov eax, 2
cmova rdx, rax
lea r10, [rcx + rdx]
cmp r11, r10
cmovb r10, r11
cmp r10, r11
jae 0x140046387
mov rdi, qword [rbp + 0x57]
nop word [rax + rax]
mov ecx, dword [r13 + 0x60]
mov rax, r10
and rax, qword [rbp + 0x5f]
imul r8d, dword [rax + rdi], 0x1e35a7bd
mov rax, qword [r13 + 0x78]
shr r8d, cl
mov ecx, dword [r13 + 0x68]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [rax + r9]
mov eax, dword [r13 + 0x64]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [r13 + 0x80]
mov dword [rax + rdx*4], r10d
inc r10
mov rax, qword [r13 + 0x78]
inc word [rax + r9]
cmp r10, r11
jb 0x140046330
mov rdi, qword [rbp + 0x4f]
mov rsi, rdi
mov qword [rbp + 0x4f], rdi
jmp 0x140046501
mov r14, qword [rsp + 0x28]
inc rsi
mov r12, qword [rbp - 0x71]
inc r14
mov qword [rsp + 0x28], r14
mov qword [rbp + 0x4f], rsi
cmp rsi, r12
jbe 0x1400464f8
mov rax, qword [rbp - 0x19]
mov r10, qword [rbp - 0x41]
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x140046465
mov r11, qword [rbp + 0x5f]
lea rax, [rsi + 0x10]
add r10, 0xfffffffffffffffc
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x140046457
mov rax, r10
add r14, 4
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x28], r14
nop word [rax + rax]
mov rcx, qword [rbp + 0x57]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rcx], 0x1e35a7bd
mov ecx, dword [rbx + 0x60]
mov rax, qword [rbx + 0x78]
shr r8d, cl
mov ecx, dword [rbx + 0x68]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [rax + r9]
mov eax, dword [rbx + 0x64]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [rbx + 0x80]
mov dword [rax + rdx*4], esi
add rsi, 4
mov rax, qword [rbx + 0x78]
inc word [rax + r9]
cmp rsi, r10
jb 0x140046400
mov qword [rbp + 0x4f], rsi
mov r13, qword [rbp + 0x47]
mov r12, qword [rsp + 0x58]
jmp 0x140046505
add r10, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r10
cmovb r10, rax
cmp rsi, r10
jae 0x1400464f8
mov r11, qword [rbp + 0x5f]
mov rax, r10
sub rax, rsi
add r14, 2
dec rax
and rax, 0xfffffffffffffffe
add r14, rax
mov qword [rsp + 0x28], r14
mov rcx, qword [rbp + 0x57]
mov rax, rsi
and rax, r11
imul r8d, dword [rax + rcx], 0x1e35a7bd
mov ecx, dword [rbx + 0x60]
mov rax, qword [rbx + 0x78]
shr r8d, cl
mov ecx, dword [rbx + 0x68]
lea r9, [r8 + r8]
shl r8d, cl
movzx edx, word [rax + r9]
mov eax, dword [rbx + 0x64]
and rdx, rax
mov eax, r8d
add rdx, rax
mov rax, qword [rbx + 0x80]
mov dword [rax + rdx*4], esi
add rsi, 2
mov rax, qword [rbx + 0x78]
inc word [rax + r9]
cmp rsi, r10
jb 0x140046496
mov r13, qword [rbp + 0x47]
mov r12, qword [rsp + 0x58]
mov qword [rbp + 0x4f], rsi
jmp 0x140046505
mov r12, qword [rsp + 0x58]
mov r13, qword [rbp + 0x47]
mov r11, qword [rbp + 0x5f]
mov rbx, qword [rbp - 0x41]
lea rax, [rsi + 4]
mov r8, qword [rbp + 0x6f]
mov edx, 0
mov rdi, qword [rbp + 0x7f]
mov r10, qword [rbp - 0x31]
mov rcx, qword [rbp - 0x79]
cmp rax, rbx
jb 0x1400450f0
mov r15, qword [rsp + 0xd8]
mov rax, qword [rbp + 0x87]
sub rbx, rsi
sub r12, qword [rbp - 0x11]
add rbx, r14
sar r12, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x97]
add qword [rax], r12
add rsp, 0xe0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r12
push r13
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov r8, qword [rbp + 0x67]
mov rax, rcx
mov r12, qword [rbp + 0x87]
mov rsi, rdx
mov rdx, qword [rbp + 0x7f]
mov ebx, 1
mov r13, qword [rbp + 0x6f]
mov r11, r9
mov ecx, dword [r8 + 8]
shl rbx, cl
lea r15, [rax + rsi]
mov rcx, qword [r8 + 0x10]
sub rbx, 0x10
mov r10, qword [rdx]
mov qword [rbp + 0x3f], r13
mov qword [rbp - 0x39], rbx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x30], r12
mov qword [rbp - 0x19], r12
mov qword [rsp + 0x18], r10
mov qword [rbp - 0x41], r15
cmp rax, 8
jb 0x1400465fa
lea rax, [r15 - 7]
mov qword [rbp - 0x29], rax
jmp 0x1400465fe
mov qword [rbp - 0x29], rsi
cmp dword [r8 + 4], 9
mov edx, 0x40
mov r9, qword [rbp + 0x77]
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r13 + 0x78]
mov qword [rbp - 0x21], rax
add rax, rsi
mov qword [rbp - 0x79], rax
cmp edx, 4
jle 0x14004668d
mov ecx, dword [r9]
lea eax, [rcx - 1]
mov dword [r9 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x24], eax
cmp edx, 0xa
jle 0x140046688
mov ecx, dword [r9 + 4]
lea eax, [rcx - 1]
mov dword [r9 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x3c], eax
mov rcx, qword [rsp + 0x60]
lea rax, [rsi + 8]
cmp rax, r15
jae 0x140047b55
mov qword [rsp + 0xe0], rdi
xor edi, edi
mov qword [rsp + 0xd8], r14
nop dword [rax]
mov r14, qword [r13 + 0x90]
lea rax, [rcx + rsi]
mov r12, r15
mov qword [rbp - 0x61], rdi
mov r15, qword [r13 + 0x88]
sub r12, rsi
cmp rsi, rbx
mov qword [rbp + 0x87], r12
mov r9, rbx
mov qword [rsp + 0x28], 0x7e4
cmovb r9, rsi
mov qword [rbp - 0x49], r15
cmp rax, rbx
mov qword [rbp + 0x5f], r9
mov rcx, rbx
mov qword [rbp - 0x71], r14
cmovb rcx, rax
mov dword [rbp - 0x51], edi
mov rax, qword [r8 + 0x50]
mov rdx, rdi
mov r8, rsi
mov qword [rsp + 0x20], rcx
movsxd rsi, dword [r13 + 0x78]
and r8, r11
mov qword [rsp + 0x38], rax
mov ecx, 0x7e4
mov qword [rsp + 8], r8
mov rbx, rdi
mov qword [rsp], rdx
mov r10, rdi
mov qword [rbp - 0x69], rdx
mov qword [rsp + 0x10], rcx
mov qword [rbp + 0x6f], rdi
test rsi, rsi
je 0x1400468c3
mov r14, qword [rbp + 0x4f]
mov r15, r8
mov rax, qword [rbp + 0x47]
mov r13, qword [rbp + 0x77]
mov qword [rsp + 0x10], rcx
mov qword [rbp + 0x6f], rdi
nop dword [rax]
movsxd rdi, dword [r13 + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x1400468a4
cmp rdi, r9
ja 0x1400468a4
and rcx, r11
lea rdx, [r10 + r15]
cmp rdx, r11
ja 0x1400468a4
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400468a0
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400468a0
mov r8, r12
lea r11, [rcx + r14]
shr r8, 3
lea rdx, [r15 + r14]
xor ecx, ecx
test r8, r8
je 0x1400467ee
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140046883
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400467d0
mov r8, r12
and r8d, 7
je 0x140046813
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140046813
inc rcx
sub r8, 1
jne 0x140046800
mov r9, rcx
cmp r9, 3
jae 0x140046827
cmp r9, 2
jne 0x140046894
cmp rbx, r9
jae 0x140046894
mov r11, qword [rsp + 0x10]
imul r8, r9, 0x87
add r8, 0x78f
cmp r11, r8
jae 0x140046894
test rbx, rbx
je 0x140046861
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r11, r8
jae 0x140046894
mov rdx, r9
mov qword [rsp + 0x10], r8
mov qword [rsp], rdx
mov r10, r9
mov qword [rbp - 0x69], rdx
mov qword [rbp + 0x6f], r9
mov qword [rbp - 0x61], rdi
mov qword [rsp + 0x28], r8
jmp 0x140046898
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140046816
mov r10, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x57]
mov rax, qword [rbp + 0x47]
inc rbx
cmp rbx, rsi
jb 0x140046760
mov r15, qword [rbp - 0x49]
xor edi, edi
mov r14, qword [rbp - 0x71]
mov r8, qword [rsp + 8]
mov r13, qword [rbp + 0x3f]
mov ecx, dword [r13 + 0x60]
movabs rax, 0x1fe35a7bd3579bd3
mov r12, qword [rbp + 0x4f]
add r12, r8
mov rdx, qword [r12]
and rdx, qword [r13 + 0x68]
imul rdx, rax
shr rdx, cl
mov ecx, dword [r13 + 0x74]
mov eax, edx
shl eax, cl
lea r14, [r14 + rax*4]
mov eax, edx
movzx edx, word [r15 + rax*2]
mov esi, edx
lea r13, [r15 + rax*2]
mov r15, qword [rbp + 0x3f]
mov qword [rbp - 0x71], r13
sub rsi, qword [r15 + 0x58]
cmp rdx, qword [r15 + 0x58]
cmovbe rsi, rdi
mov edi, edx
cmp rdx, rsi
jbe 0x140046a61
mov r15d, dword [r15 + 0x70]
mov r13, qword [rbp + 0x4f]
nop word [rax + rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, r15
and rax, rdi
mov ecx, dword [r14 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140046a54
and rcx, r11
lea rdx, [r10 + r8]
cmp rdx, r11
ja 0x140046a4b
lea rax, [rcx + r10]
cmp rax, r11
ja 0x140046a4b
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x140046a4b
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400469c5
mov r10, r11
sub r10, r12
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140046a36
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400469a0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x1400469e4
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x1400469e4
inc rcx
sub r8, 1
jne 0x1400469d1
mov rdx, rcx
mov r8, qword [rsp + 8]
mov r9, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x57]
cmp rdx, 4
jb 0x140046a47
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x10], rax
jae 0x140046a47
mov qword [rsp + 0x10], rax
mov r10, rdx
mov qword [rbp + 0x6f], rdx
mov qword [rsp], rdx
mov qword [rbp - 0x69], rdx
mov qword [rbp - 0x61], rbx
mov qword [rsp + 0x28], rax
jmp 0x140046a4b
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400469e7
mov r10, qword [rbp + 0x6f]
cmp rdi, rsi
ja 0x140046930
mov r13, qword [rbp - 0x71]
mov r15, qword [rbp + 0x3f]
movzx edx, word [r13]
mov eax, dword [r15 + 0x70]
mov rsi, qword [rbp + 0x47]
and rax, rdx
mov dword [r14 + rax*4], esi
inc word [r13]
cmp qword [rsp + 0x28], 0x7e4
jne 0x140046d85
mov r13, qword [r15 + 0x80]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140047994
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140046c19
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140046c19
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140046b3e
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140046c05
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140046b20
mov r8, r11
and r8d, 7
je 0x140046b63
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140046b63
inc rcx
sub r8, 1
jne 0x140046b50
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140046c20
test r9, r9
je 0x140046c20
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x20]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rsp + 0x38]
ja 0x140046c25
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140046c25
mov rdx, r9
mov qword [rsp + 0x28], rax
lea rax, [r14 + 1]
mov qword [rsp], rdx
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov qword [rbp - 0x69], rdx
mov dword [rbp - 0x51], r11d
mov qword [rbp - 0x61], r8
jmp 0x140046c25
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140046b66
mov rsi, qword [rsp + 0x20]
jmp 0x140046c2c
mov rsi, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x87]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x140046d7b
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140046d7b
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140046cae
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140046d67
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140046c90
mov r8, r11
and r8d, 7
je 0x140046ccc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140046ccc
inc rdx
inc rcx
sub r8, 1
jne 0x140046cb7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140046d7b
test r9, r9
je 0x140046d7b
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rsp + 0x38]
ja 0x140046d7b
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x3f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x28]
jb 0x140046d89
mov rcx, r9
mov qword [rbp - 0x61], r8
sub r11d, r9d
mov qword [rsp], rcx
inc qword [r13 + 0x30]
mov qword [rbp - 0x69], rcx
mov dword [rbp - 0x51], r11d
mov qword [rsp + 0x28], rax
jmp 0x140046d8d
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140046ccf
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x3f]
jmp 0x140046d89
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp]
cmp qword [rsp + 0x28], 0x7e4
jbe 0x140047994
mov r13, qword [rbp + 0x87]
xor ebx, ebx
mov dword [rbp + 0x6f], ebx
dec r13
cmp dword [r14 + 4], 5
mov qword [rbp + 0x87], r13
jge 0x140046dc9
lea rax, [rcx - 1]
mov r10, r13
cmp rax, r13
cmovb r10, rax
jmp 0x140046dcc
mov r10, rbx
mov r8, qword [rbp - 0x39]
lea rdx, [rsi + 1]
mov rax, qword [rsp + 0x60]
cmp rdx, r8
mov r12, qword [rbp + 0x57]
mov r9, r8
cmovb r9, rdx
mov qword [rsp + 8], r10
inc rax
mov qword [rsp + 0x48], rbx
add rax, rsi
mov qword [rbp + 0x5f], rdx
cmp rax, r8
mov qword [rsp + 0x10], r9
mov rcx, r8
mov qword [rsp + 0x40], rbx
cmovb rcx, rax
mov dword [rsp + 0x58], ebx
mov rax, qword [r14 + 0x50]
mov r11d, 0x7e4
mov r14, qword [r15 + 0x88]
mov r8, rdx
mov r15, qword [r15 + 0x90]
and r8, r12
mov qword [rbp - 0x79], rax
mov rax, qword [rbp + 0x3f]
mov qword [rbp - 0x49], rcx
mov ecx, r11d
mov qword [rsp + 0x50], r11
mov qword [rbp - 0x71], r14
movsxd rsi, dword [rax + 0x78]
mov qword [rbp - 0x31], r15
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x20], rcx
test rsi, rsi
je 0x140046fe3
mov r15, qword [rbp + 0x4f]
mov r14, r8
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rcx
nop dword [rax]
nop dword [rax + rax]
movsxd rdi, dword [rax + rbx*4]
mov rcx, rdx
sub rcx, rdi
cmp rcx, rdx
jae 0x140046fca
cmp rdi, r9
ja 0x140046fca
and rcx, r12
lea rdx, [r10 + r14]
cmp rdx, r12
ja 0x140046fc6
lea rax, [rcx + r10]
cmp rax, r12
ja 0x140046fc2
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x140046fc2
mov r8, r13
lea rdx, [r14 + r15]
shr r8, 3
lea r11, [rcx + r15]
xor eax, eax
test r8, r8
je 0x140046f0e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rdx + r10]
cmp r9, rcx
jne 0x140046fa2
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140046ef0
mov r8, r13
and r8d, 7
je 0x140046f33
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x140046f33
inc rax
sub r8, 1
jne 0x140046f20
mov r9, rax
cmp r9, 3
jae 0x140046f47
cmp r9, 2
jne 0x140046fb3
cmp rbx, r9
jae 0x140046fb3
mov r11, qword [rsp + 0x20]
imul r8, r9, 0x87
add r8, 0x78f
cmp r11, r8
jae 0x140046fb3
test rbx, rbx
je 0x140046f81
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r11, r8
jae 0x140046fb3
mov qword [rsp + 0x20], r8
mov r10, r9
mov qword [rsp + 8], r9
mov r11, r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r8
jmp 0x140046fbd
xor rcx, r9
tzcnt r9, rcx
shr r9, 3
add r9, rax
jmp 0x140046f36
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 8]
mov r9, qword [rsp + 0x10]
mov rax, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x5f]
inc rbx
cmp rbx, rsi
jb 0x140046e80
mov r14, qword [rbp - 0x71]
mov r15, qword [rbp - 0x31]
mov r8, qword [rsp + 0x38]
mov rbx, qword [rbp + 0x3f]
movabs rax, 0x1fe35a7bd3579bd3
mov r12, qword [rbp + 0x4f]
add r12, r8
mov ecx, dword [rbx + 0x60]
mov rdx, qword [r12]
and rdx, qword [rbx + 0x68]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rbx + 0x74]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx edx, word [r14 + rax*2]
mov esi, edx
mov edi, edx
sub rsi, qword [rbx + 0x58]
cmp rdx, qword [rbx + 0x58]
lea r13, [r14 + rax*2]
mov eax, 0
mov qword [rbp - 0x31], r13
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x140047196
mov r14d, dword [rbx + 0x70]
mov r13, qword [rbp + 0x5f]
nop word [rax + rax]
dec rdi
mov rax, r14
and rax, rdi
mov rbx, r13
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x140047189
and rcx, qword [rbp + 0x57]
lea rdx, [r10 + r8]
cmp rdx, qword [rbp + 0x57]
ja 0x140047180
lea rax, [rcx + r10]
cmp rax, qword [rbp + 0x57]
ja 0x140047180
mov r13, qword [rbp + 0x4f]
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
mov r13, qword [rbp + 0x5f]
jne 0x140047180
mov r11, qword [rbp + 0x4f]
xor eax, eax
add r11, rcx
mov rdx, r12
mov ecx, eax
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x1400470f5
mov r10, r11
sub r10, r12
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x140047165
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400470d0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140047114
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x140047114
inc rcx
sub r8, 1
jne 0x140047101
mov rdx, rcx
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x10]
cmp rdx, 4
jb 0x140047176
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x20], rax
jae 0x140047176
mov qword [rsp + 0x20], rax
mov r10, rdx
mov qword [rsp + 8], rdx
mov r11, rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
jmp 0x140047180
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140047117
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x140047050
mov r13, qword [rbp - 0x31]
mov rbx, qword [rbp + 0x3f]
movzx edx, word [r13]
mov eax, dword [rbx + 0x70]
mov rcx, qword [rbp + 0x5f]
and rax, rdx
mov dword [r15 + rax*4], ecx
inc word [r13]
mov r15, qword [rbp + 0x3f]
cmp r11, 0x7e4
jne 0x1400474b6
mov r13, qword [r15 + 0x80]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x1400474ab
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140047353
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140047353
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x14004726e
mov r10, r12
sub r10, rdx
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140047338
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140047250
mov r8, r11
and r8d, 7
je 0x140047293
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140047293
inc rcx
sub r8, 1
jne 0x140047280
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004734c
test r9, r9
je 0x14004734c
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x49]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x14004734c
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140047353
mov rsi, rax
mov qword [rsp + 0x50], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x40], r9
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], r8
jmp 0x140047358
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140047296
mov rdx, qword [rbp + 0x87]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x1400474c1
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400474c1
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x1400473de
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140047497
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400473c0
mov r8, r11
and r8d, 7
je 0x1400473fc
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400473fc
inc rdx
inc rcx
sub r8, 1
jne 0x1400473e7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400474c1
test r9, r9
je 0x1400474c1
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x49]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x1400474c1
mov r15, qword [rbp + 0x3f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rbp + 0x5f]
add rax, 0x780
cmp rax, rsi
jb 0x1400474c9
sub r11d, r9d
mov qword [rsp + 0x40], r9
inc qword [r13 + 0x30]
mov rsi, rax
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rax
jmp 0x1400474c9
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400473ff
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
jmp 0x1400474c5
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp + 0x67]
jmp 0x1400474c9
mov r15, qword [rbp + 0x3f]
mov rcx, qword [rbp + 0x5f]
mov rax, qword [rsp + 0x28]
mov r13, qword [rsp + 0x18]
add rax, 0xaf
cmp rsi, rax
jb 0x140047542
movups xmm0, xmmword [rsp + 0x40]
mov rsi, rcx
mov qword [rbp + 0x47], rcx
mov ecx, dword [rbp + 0x6f]
inc r13
movups xmm1, xmmword [rsp + 0x50]
inc ecx
mov qword [rsp + 0x18], r13
mov dword [rbp + 0x6f], ecx
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm1
cmp ecx, 4
jge 0x140047538
lea rax, [rsi + 8]
cmp rax, qword [rbp - 0x41]
jae 0x140047538
mov rcx, qword [rbp - 0x59]
mov r13, qword [rbp + 0x87]
mov qword [rsp + 0x28], rcx
dec r13
mov rcx, qword [rbp - 0x69]
xor ebx, ebx
mov qword [rsp], rcx
jmp 0x140046dab
mov r11, qword [rbp - 0x69]
mov qword [rsp], r11
jmp 0x14004754a
mov rsi, qword [rbp + 0x47]
mov r11, qword [rsp]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x39]
mov r10, qword [rbp + 0x77]
lea r12, [rax + r11*2]
mov rax, qword [rsp + 0x60]
add rax, rsi
add r12, rsi
mov rsi, qword [rbp - 0x61]
cmp rax, r9
mov qword [rbp - 0x79], r12
cmovb r9, rax
cmp rsi, r9
ja 0x1400475fd
movsxd rax, dword [r10]
lea rcx, [rsi + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rsi, rax
jne 0x14004759d
xor ebx, ebx
mov r8d, ebx
jmp 0x140047603
cmp rsi, r8
jne 0x1400475aa
mov r8d, 1
jmp 0x140047601
cmp rdx, 7
jae 0x1400475c5
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140047601
cmp rcx, 7
jae 0x1400475dd
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140047601
movsxd rax, dword [r10 + 8]
cmp rsi, rax
jne 0x1400475ee
mov r8d, 2
jmp 0x140047601
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rsi, rax
je 0x140047601
lea r8, [rsi + 0xf]
xor ebx, ebx
cmp rsi, r9
ja 0x140047696
test r8, r8
je 0x140047696
mov eax, dword [r10 + 8]
mov edx, dword [r10]
mov ecx, dword [rbp - 0x61]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov dword [r10 + 4], edx
mov dword [r10], ecx
mov r9d, dword [r15 + 0x78]
cmp r9d, 4
jle 0x140047696
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
cmp r9d, 0xa
jle 0x140047696
lea eax, [rdx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rdx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rdx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rdx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rdx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rdx + 3]
mov dword [r10 + 0x3c], eax
mov r12, qword [rsp + 0x30]
mov edi, dword [rbp - 0x51]
mov r10, qword [rbp + 0x67]
mov r14d, dword [rbp - 0x69]
movzx eax, dil
shl eax, 0x19
or eax, r14d
mov dword [r12], r13d
mov dword [r12 + 4], eax
mov r15d, dword [r10 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jb 0x14004773e
mov r11d, dword [r10 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r12 + 0xe], r8w
lea r9d, [r14 + rdi]
mov eax, 0x3ff
mov dword [r12 + 8], ebx
and r8w, ax
movsxd rdx, r9d
cmp r13, 6
jae 0x14004776a
movzx r10d, r13w
mov ecx, 0x17
jmp 0x1400477db
cmp r13, 0x82
jae 0x140047794
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x1400477db
mov ecx, 0x17
cmp r13, 0x842
jae 0x1400477b1
lea eax, [r13 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x1400477db
cmp r13, 0x1842
jae 0x1400477c2
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x1400477db
mov r10d, 0x16
cmp r13, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x1400477e7
sub dx, 2
jmp 0x140047825
cmp rdx, 0x86
jae 0x14004780c
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x140047825
cmp rdx, 0x846
jae 0x140047822
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x140047825
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x140047864
cmp r10w, 8
jae 0x140047864
cmp dx, 0x10
jae 0x140047864
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140047896
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rcx, qword [rbp + 0x47]
mov rax, qword [rbp + 0x97]
mov rdi, qword [rbp - 0x29]
mov word [r12 + 0xc], r9w
add r12, 0x10
lea r14, [r11 + rcx]
mov qword [rsp + 0x30], r12
add qword [rax], r13
lea rbx, [rcx + 2]
xor eax, eax
mov qword [rbp + 0x47], r14
cmp r14, rdi
mov qword [rsp + 0x18], rax
mov rax, r11
cmovb rdi, r14
shr rax, 2
cmp rsi, rax
jae 0x140047903
lea rax, [rsi*4]
sub r11, rax
lea rax, [r11 + rcx]
cmp rbx, rax
mov eax, 2
cmova r11, rax
lea rbx, [rcx + r11]
cmp rdi, rbx
cmovb rbx, rdi
cmp rbx, rdi
jae 0x140047983
mov r14, qword [rbp + 0x4f]
movabs r12, 0x1fe35a7bd3579bd3
mov rsi, qword [rbp + 0x3f]
nop word [rax + rax]
mov ecx, dword [rsi + 0x60]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, qword [rsi + 0x88]
mov r11, qword [rsi + 0x90]
mov r10, qword [rax + r14]
and r10, qword [rsi + 0x68]
imul r10, r12
shr r10, cl
mov ecx, dword [rsi + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [rsi + 0x70]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rdi
jb 0x140047920
mov r14, qword [rbp + 0x47]
mov r12, qword [rsp + 0x30]
mov r10, qword [rsp + 0x18]
mov rsi, r14
mov qword [rbp + 0x47], r14
jmp 0x140047b1a
mov r10, qword [rsp + 0x18]
inc rsi
mov r12, qword [rbp - 0x79]
inc r10
mov qword [rsp + 0x18], r10
mov qword [rbp + 0x47], rsi
cmp rsi, r12
jbe 0x140047b15
mov rax, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x41]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x140047a71
lea rax, [rsi + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp rsi, rbx
jae 0x140047b15
mov rax, rbx
add r10, 4
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp + 0x18], r10
nop dword [rax + rax]
mov rdx, qword [r15 + 0x88]
mov rax, rsi
and rax, qword [rbp + 0x57]
mov rcx, qword [rbp + 0x4f]
mov r11, qword [r15 + 0x90]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r15 + 0x68]
mov ecx, dword [r15 + 0x60]
imul r10, rax
shr r10, cl
mov ecx, dword [r15 + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [r15 + 0x70]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], esi
add rsi, 4
cmp rsi, rbx
jb 0x140047a00
jmp 0x140047b0c
lea rax, [rsi + 8]
cmp rax, rbx
cmovb rbx, rax
cmp rsi, rbx
jae 0x140047b15
mov rax, rbx
add r10, 2
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp + 0x18], r10
nop
mov rdx, qword [r15 + 0x88]
mov rax, rsi
and rax, qword [rbp + 0x57]
mov rcx, qword [rbp + 0x4f]
mov r11, qword [r15 + 0x90]
mov r10, qword [rax + rcx]
movabs rax, 0x1fe35a7bd3579bd3
and r10, qword [r15 + 0x68]
mov ecx, dword [r15 + 0x60]
imul r10, rax
shr r10, cl
mov ecx, dword [r15 + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
mov eax, dword [r15 + 0x70]
mov r8d, edx
and r8, rax
inc dx
mov eax, r10d
add r8, rax
mov word [r9], dx
mov dword [r11 + r8*4], esi
add rsi, 2
cmp rsi, rbx
jb 0x140047aa0
mov r10, qword [rsp + 0x18]
mov qword [rbp + 0x47], rsi
mov r12, qword [rsp + 0x30]
mov r15, qword [rbp - 0x41]
lea rax, [rsi + 8]
mov r11, qword [rbp + 0x57]
mov edi, 0
mov r13, qword [rbp + 0x3f]
mov r8, qword [rbp + 0x67]
mov rbx, qword [rbp - 0x39]
mov rcx, qword [rsp + 0x60]
cmp rax, r15
jb 0x1400466b0
mov r14, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov rax, qword [rbp + 0x7f]
sub r15, rsi
sub r12, qword [rbp - 0x19]
add r15, r10
sar r12, 4
mov qword [rax], r15
mov rax, qword [rbp + 0x8f]
add qword [rax], r12
add rsp, 0xe8
pop r15
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 7]
sub rsp, 0xd8
mov r13, qword [rbp + 0x67]
mov rax, rcx
mov r12, qword [rbp + 0x87]
mov rsi, rdx
mov rdx, qword [rbp + 0x6f]
mov ebx, 1
mov qword [rsp + 0x38], r12
mov ecx, dword [r13 + 8]
mov rdi, qword [r13 + 0x10]
lea r11, [rax + rsi]
shl rbx, cl
mov rcx, qword [rbp + 0x7f]
sub rbx, 0x10
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x21], r12
mov rcx, qword [rcx]
mov qword [rsp + 0x10], rcx
mov qword [rbp - 0x59], r11
cmp rax, 4
jb 0x140047c11
lea rax, [r11 - 3]
mov qword [rbp - 0x31], rax
jmp 0x140047c15
mov qword [rbp - 0x31], rsi
cmp dword [r13 + 4], 9
mov eax, 0x200
mov r9d, 0x40
cmovl eax, r9d
mov qword [rbp - 0x29], rax
add rax, rsi
mov qword [rbp - 0x61], rax
lea rax, [rsi + 4]
cmp rax, r11
jae 0x140049514
mov r9, qword [rbp + 0x77]
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xc8], r15
nop word [rax + rax]
lea rax, [rdi + rsi]
mov qword [rsp + 0x50], 0
mov r10, r11
mov qword [rsp + 8], 0x7e4
movsxd r11, dword [r9]
sub r10, rsi
mov r9, qword [rbp + 0x47]
cmp rsi, rbx
mov r12, rbx
mov qword [rbp + 0x3f], r10
cmovb r12, rsi
mov rcx, rbx
cmp rax, rbx
mov r14d, 0x7e4
mov rbx, qword [rdx + 0x60]
cmovb rcx, rax
mov qword [rbp + 0x5f], rbx
mov rax, qword [r13 + 0x50]
xor r15d, r15d
mov r13, qword [rdx + 0x68]
sub r9, r11
xor edx, edx
mov qword [rbp - 0x69], rax
mov rax, rsi
mov qword [rbp + 0x87], rcx
mov rcx, qword [rbp + 0x57]
and rax, rcx
mov qword [rsp], rdx
imul esi, dword [rax + r8], 0x1e35a7bd
lea rdi, [rax + r8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov dword [rbp - 0x71], edx
shr rsi, 0x11
cmp r9, qword [rbp + 0x47]
jae 0x140047d9c
cmp r11, r12
ja 0x140047d9c
and r9, rcx
mov rdx, rdi
add r9, r8
xor ecx, ecx
mov r8, r10
shr r8, 3
test r8, r8
je 0x140047d42
nop dword [rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r9]
cmp r10, rax
jne 0x140048031
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140047d20
mov r10, qword [rbp + 0x3f]
mov r8, r10
and r8d, 7
je 0x140047d63
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r9], al
jne 0x140047d63
inc rcx
sub r8, 1
jne 0x140047d50
mov rax, rcx
cmp rax, 2
jb 0x140047d98
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, r14
jbe 0x140047d98
mov r14, rcx
mov qword [rsp], rax
mov r15, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r11
mov qword [rsp + 8], rcx
mov rcx, qword [rbp + 0x57]
mov rax, qword [rbp + 0x77]
mov r9, qword [rbp + 0x47]
mov r8, r9
movsxd r11, dword [rax + 4]
sub r8, r11
movzx eax, r8w
cmp byte [rax + rbx + 0x30000], sil
jne 0x140047e72
cmp r8, r9
jae 0x140047e72
cmp r11, r12
ja 0x140047e72
and r8, rcx
mov r9, r10
add r8, qword [rbp + 0x4f]
xor ecx, ecx
shr r9, 3
mov rdx, rdi
test r9, r9
je 0x140047e12
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x140048049
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140047df0
mov r10, qword [rbp + 0x3f]
mov r9, r10
and r9d, 7
je 0x140047e35
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x140047e35
inc rdx
inc rcx
sub r9, 1
jne 0x140047e20
mov rdx, rcx
cmp rdx, 2
jb 0x140047e72
imul rax, rdx, 0x87
add rax, 0x78f
cmp r14, rax
jae 0x140047e72
add rax, 0xffffffffffffffd9
cmp r14, rax
jae 0x140047e72
mov r14, rax
mov qword [rsp], rdx
mov r15, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r11
mov qword [rsp + 8], rax
mov rax, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
movsxd r11, dword [rax + 8]
sub r8, r11
movzx eax, r8w
cmp byte [rax + rbx + 0x30000], sil
jne 0x140047f43
cmp r8, qword [rbp + 0x47]
jae 0x140047f43
cmp r11, r12
ja 0x140047f43
and r8, qword [rbp + 0x57]
mov r9, r10
add r8, qword [rbp + 0x4f]
xor ecx, ecx
shr r9, 3
mov rdx, rdi
test r9, r9
je 0x140047ee2
nop
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x140048061
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140047ec0
mov r10, qword [rbp + 0x3f]
mov r9, r10
and r9d, 7
je 0x140047f05
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x140047f05
inc rdx
inc rcx
sub r9, 1
jne 0x140047ef0
mov rax, rcx
cmp rax, 2
jb 0x140047f43
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r14, rcx
jae 0x140047f43
add rcx, 0xffffffffffffffd5
cmp r14, rcx
jae 0x140047f43
mov r14, rcx
mov qword [rsp], rax
mov r15, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r11
mov qword [rsp + 8], rcx
mov rax, qword [rbp + 0x77]
mov r8, qword [rbp + 0x47]
mov rcx, qword [rbp + 0x5f]
mov r10, r8
movsxd rbx, dword [rax + 0xc]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rcx + 0x30000], sil
jne 0x14004808d
cmp r10, r8
jae 0x14004808d
cmp rbx, r12
ja 0x14004808d
and r10, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rbp + 0x3f]
mov rcx, rdi
add r10, qword [rbp + 0x4f]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140047fc2
mov r11, r10
sub r11, rdi
mov r9, qword [rcx]
mov rax, qword [r11 + rcx]
cmp r9, rax
jne 0x140048075
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140047fa0
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x140047fe5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140047fe5
inc rcx
inc rdx
sub r8, 1
jne 0x140047fd0
mov rax, rdx
cmp rax, 2
jb 0x140048089
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r14, rcx
jae 0x140048089
mov r8, qword [rbp + 0x47]
add rcx, 0xffffffffffffffd5
cmp r14, rcx
jae 0x14004808d
mov r14, rcx
mov qword [rsp], rax
mov r15, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 8], rcx
jmp 0x14004808d
xor rax, r10
mov r10, qword [rbp + 0x3f]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140047d66
xor rax, r10
mov r10, qword [rbp + 0x3f]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140047e38
xor rax, r10
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x140047f08
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140047fe8
mov r8, qword [rbp + 0x47]
mov rax, qword [rbp + 0x6f]
mov rdi, r8
mov r10, qword [rbp + 0x5f]
xor r11d, r11d
mov rbx, qword [rax + 0x58]
mov eax, dword [r10 + rsi*4]
movzx esi, word [r10 + rsi*2 + 0x20000]
sub rdi, rax
test rbx, rbx
je 0x1400481d2
nop dword [rax + rax]
dec rbx
add r11, rdi
cmp r11, r12
ja 0x1400481ce
mov r9, qword [rbp + 0x57]
lea rax, [rsi*4]
movzx esi, word [rax + r13 + 2]
mov rcx, r8
mov r8, qword [rsp + 0x40]
sub rcx, r11
movzx edi, word [rax + r13]
and rcx, r9
lea rdx, [r15 + r8]
cmp rdx, r9
ja 0x1400481c1
lea rax, [rcx + r15]
cmp rax, r9
ja 0x1400481c1
mov r9, qword [rbp + 0x4f]
movzx eax, byte [rax + r9]
cmp byte [rdx + r9], al
jne 0x1400481c1
mov rax, qword [rbp + 0x3f]
lea rdx, [r8 + r9]
mov r8, rax
lea r10, [rcx + r9]
shr r8, 3
xor ecx, ecx
test r8, r8
je 0x140048162
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x1400483c8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140048140
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x140048183
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140048183
inc rcx
sub r8, 1
jne 0x140048170
mov rdx, rcx
cmp rdx, 4
jb 0x1400481c1
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x1400481c1
mov r14, rax
mov qword [rsp], rdx
mov r15, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r11
mov qword [rsp + 8], rax
mov r8, qword [rbp + 0x47]
test rbx, rbx
jne 0x1400480c0
mov r10, qword [rbp + 0x5f]
mov rsi, qword [rbp + 0x47]
mov edi, 0xffff
mov rbx, qword [rbp + 0x6f]
mov rcx, rsi
mov r9, qword [rsp + 0x40]
mov r15, qword [rbp + 0x4f]
movzx r8d, word [rbx + 0x50]
imul edx, dword [r9 + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rbx + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, si
cmp rcx, rdi
cmova rcx, rdi
cmp qword [rsp + 8], 0x7e4
mov byte [rax + r10 + 0x30000], dl
mov word [r13 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r13 + r8*4 + 2], ax
mov dword [r10 + rdx*4], esi
mov word [r10 + rdx*2 + 0x20000], r8w
jne 0x14004856e
mov r13, qword [rbx + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140049339
imul ebx, dword [r9 + r15], 0x1e35a7bd
lea r12, [r9 + r15]
mov r8, qword [rbp + 0x67]
lea r15, [rcx + 1]
mov rdx, qword [rbp + 0x3f]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x1400483f0
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x1400483f0
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x1400482fe
mov r10, r12
sub r10, rdx
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x1400483dc
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400482e0
mov r8, r11
and r8d, 7
je 0x140048323
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140048323
inc rcx
sub r8, 1
jne 0x140048310
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400483f9
test r9, r9
je 0x1400483f9
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rbp + 0x87]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x140048400
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140048400
mov rdx, r9
mov qword [rsp + 8], rax
lea rax, [r14 + 1]
mov qword [rsp], rdx
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov qword [rsp + 0x48], rdx
mov dword [rbp - 0x71], r11d
mov qword [rsp + 0x50], r8
jmp 0x140048400
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140048186
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140048326
mov rsi, qword [rbp + 0x87]
jmp 0x140048404
mov rsi, qword [rbp + 0x87]
mov rdx, qword [rbp + 0x3f]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140048560
mov rax, qword [r14 + 0x70]
mov r10d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140048560
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r10d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004848e
mov r11, r12
sub r11, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r11]
cmp r9, rax
jne 0x14004854c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140048470
mov r8, r10
and r8d, 7
je 0x1400484ac
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x1400484ac
inc rdx
inc rcx
sub r8, 1
jne 0x140048497
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r10
jbe 0x140048560
test r9, r9
je 0x140048560
mov rax, qword [r14 + 0x68]
mov r8, r10
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r10 + rbx]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rbp - 0x69]
ja 0x140048560
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x6f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 8]
jb 0x140048572
mov rcx, r9
mov qword [rsp + 0x50], r8
sub r10d, r9d
mov qword [rsp], rcx
inc qword [r13 + 0x30]
mov qword [rsp + 0x48], rcx
mov dword [rbp - 0x71], r10d
mov qword [rsp + 8], rax
jmp 0x140048576
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400484af
mov rsi, qword [rbp + 0x47]
mov r15, qword [rbp + 0x4f]
mov rbx, qword [rbp + 0x6f]
jmp 0x140048572
mov r14, qword [rbp + 0x67]
mov rcx, qword [rsp]
cmp qword [rsp + 8], 0x7e4
jbe 0x140049334
mov r9, qword [rbp + 0x3f]
xor r8d, r8d
mov dword [rbp + 0x87], r8d
dec r9
cmp dword [r14 + 4], 5
mov qword [rbp + 0x3f], r9
jge 0x1400485b1
lea rax, [rcx - 1]
mov r14, r9
cmp rax, r9
cmovb r14, rax
jmp 0x1400485b4
mov r14, r8
mov rdx, qword [rbp - 0x51]
lea r10, [rsi + 1]
mov rax, qword [rbp - 0x49]
cmp r10, rdx
mov rbx, qword [rbx + 0x60]
mov ecx, 0x7e4
mov qword [rsp + 0x28], rcx
mov r12, rdx
cmovb r12, r10
mov qword [rbp + 0x5f], r10
inc rax
mov qword [rsp + 0x20], r8
add rax, rsi
mov qword [rsp + 0x40], rbx
cmp rax, rdx
mov qword [rsp + 0x18], r8
mov rcx, rdx
mov dword [rsp + 0x30], r8d
cmovb rcx, rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rcx
mov rcx, qword [rbp + 0x57]
mov rax, qword [rax + 0x50]
mov qword [rbp - 0x61], rax
mov rax, qword [rbp + 0x6f]
mov r13, qword [rax + 0x68]
mov rax, r10
and rax, rcx
imul esi, dword [rax + r15], 0x1e35a7bd
lea rdi, [rax + r15]
mov qword [rbp - 0x69], rax
mov r15d, 0x7e4
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x41], rdi
shr rsi, 0x11
movsxd r11, dword [rax]
sub r10, r11
cmp r10, qword [rbp + 0x5f]
jae 0x1400486f8
cmp r11, r12
ja 0x1400486f8
and r10, rcx
mov rdx, rdi
add r10, qword [rbp + 0x4f]
mov rcx, r8
mov r8, r9
shr r8, 3
test r8, r8
je 0x1400486a2
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004898c
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140048680
mov r9, qword [rbp + 0x3f]
mov r8, r9
and r8d, 7
je 0x1400486c3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x1400486c3
inc rcx
sub r8, 1
jne 0x1400486b0
mov rax, rcx
cmp rax, 2
jb 0x1400486f4
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, r15
jbe 0x1400486f4
mov r15, rcx
mov qword [rsp + 0x18], rax
mov r14, rax
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x57]
mov r10, qword [rbp + 0x77]
movsxd r11, dword [r10 + 4]
mov r10, qword [rbp + 0x5f]
mov r8, r10
sub r8, r11
movzx eax, r8w
cmp byte [rax + rbx + 0x30000], sil
jne 0x1400487ce
cmp r8, r10
jae 0x1400487ce
cmp r11, r12
ja 0x1400487ce
and r8, rcx
shr r9, 3
add r8, qword [rbp + 0x4f]
xor ecx, ecx
mov rdx, rdi
test r9, r9
je 0x14004876e
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x1400489a4
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140048750
mov r9, qword [rbp + 0x3f]
and r9d, 7
je 0x140048795
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x140048795
inc rdx
inc rcx
sub r9, 1
jne 0x140048780
mov rdx, rcx
cmp rdx, 2
jb 0x1400487ce
imul rax, rdx, 0x87
add rax, 0x78f
cmp r15, rax
jae 0x1400487ce
add rax, 0xffffffffffffffd9
cmp r15, rax
jae 0x1400487ce
mov r15, rax
mov qword [rsp + 0x18], rdx
mov r14, rdx
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x77]
mov r8, qword [rbp + 0x5f]
movsxd r11, dword [rax + 8]
sub r8, r11
movzx eax, r8w
cmp byte [rax + rbx + 0x30000], sil
jne 0x140048896
cmp r8, qword [rbp + 0x5f]
jae 0x140048896
cmp r11, r12
ja 0x140048896
and r8, qword [rbp + 0x57]
xor ecx, ecx
mov rbx, qword [rbp + 0x3f]
mov rdx, rdi
add r8, qword [rbp + 0x4f]
mov r9, rbx
shr r9, 3
test r9, r9
je 0x14004883e
nop
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x1400489b8
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140048820
mov r9, rbx
and r9d, 7
je 0x14004885c
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x14004885c
inc rdx
inc rcx
sub r9, 1
jne 0x140048847
mov rax, rcx
cmp rax, 2
jb 0x140048896
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r15, rcx
jae 0x140048896
add rcx, 0xffffffffffffffd5
cmp r15, rcx
jae 0x140048896
mov r15, rcx
mov qword [rsp + 0x18], rax
mov r14, rax
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rcx
mov rax, qword [rbp + 0x77]
mov r8, qword [rbp + 0x5f]
mov rcx, qword [rsp + 0x40]
mov r10, r8
movsxd rbx, dword [rax + 0xc]
sub r10, rbx
movzx eax, r10w
cmp byte [rax + rcx + 0x30000], sil
jne 0x1400489e0
cmp r10, r8
jae 0x1400489e0
cmp rbx, r12
ja 0x1400489e0
and r10, qword [rbp + 0x57]
xor edx, edx
mov rax, qword [rbp + 0x3f]
mov rcx, rdi
add r10, qword [rbp + 0x4f]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140048922
mov r11, r10
sub r11, rdi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x1400489cc
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140048900
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x140048945
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140048945
inc rcx
inc rdx
sub r8, 1
jne 0x140048930
mov rax, rdx
mov r8, qword [rbp + 0x5f]
cmp rax, 2
jb 0x1400489e0
imul rcx, rax, 0x87
add rcx, 0x78f
cmp r15, rcx
jae 0x1400489e0
add rcx, 0xffffffffffffffd5
cmp r15, rcx
jae 0x1400489e0
mov r15, rcx
mov qword [rsp + 0x18], rax
mov r14, rax
mov qword [rsp + 0x20], rbx
mov r9, rcx
mov qword [rsp + 0x28], rcx
jmp 0x1400489e5
xor rax, r9
mov r9, qword [rbp + 0x3f]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x1400486c6
xor rax, r10
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140048798
xor rax, r10
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14004885f
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rdx
jmp 0x140048948
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0x40]
mov rdi, r8
mov rcx, qword [rbp + 0x6f]
xor r11d, r11d
mov eax, dword [r10 + rsi*4]
mov rbx, qword [rcx + 0x58]
sub rdi, rax
movzx esi, word [r10 + rsi*2 + 0x20000]
test rbx, rbx
je 0x140048b3e
dec rbx
add r11, rdi
cmp r11, r12
ja 0x140048b35
mov r10, qword [rbp + 0x57]
lea rax, [rsi*4]
mov rdx, qword [rbp - 0x69]
mov rcx, r8
movzx esi, word [rax + r13 + 2]
sub rcx, r11
movzx edi, word [rax + r13]
and rcx, r10
add rdx, r14
cmp rdx, r10
ja 0x140048b2c
lea rax, [rcx + r14]
cmp rax, r10
ja 0x140048b2c
mov r10, qword [rbp + 0x4f]
movzx eax, byte [rax + r10]
cmp byte [rdx + r10], al
jne 0x140048b2c
mov rdx, qword [rbp - 0x41]
add r10, rcx
mov rcx, qword [rbp + 0x3f]
xor eax, eax
mov r8, rcx
shr r8, 3
test r8, r8
je 0x140048aae
nop dword [rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x140048b16
add rdx, 8
add rax, 8
sub r8, 1
jne 0x140048a90
mov rcx, qword [rbp + 0x3f]
mov r8, rcx
and r8d, 7
je 0x140048ad3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r10], cl
jne 0x140048ad3
inc rax
sub r8, 1
jne 0x140048ac0
mov rdx, rax
mov r8, qword [rbp + 0x5f]
cmp rdx, 4
jb 0x140048b27
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x140048b27
mov r15, rax
mov qword [rsp + 0x18], rdx
mov r14, rdx
mov qword [rsp + 0x20], r11
mov r9, rax
mov qword [rsp + 0x28], rax
jmp 0x140048b2c
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140048ad6
mov r9, qword [rsp + 0x28]
test rbx, rbx
jne 0x140048a11
mov r10, qword [rsp + 0x40]
mov rcx, qword [rbp + 0x6f]
movzx r8d, word [rcx + 0x50]
mov rax, qword [rbp - 0x69]
mov rbx, qword [rbp + 0x5f]
mov r15, qword [rbp + 0x4f]
imul edx, dword [rax + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rcx + 0x50], ax
mov rcx, rbx
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, bx
mov byte [rax + r10 + 0x30000], dl
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
mov word [r13 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r13 + r8*4 + 2], ax
mov dword [r10 + rdx*4], ebx
mov word [r10 + rdx*2 + 0x20000], r8w
cmp r9, 0x7e4
jne 0x140048e9b
mov rax, qword [rbp + 0x6f]
mov r13, qword [rax + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140048e9b
mov r12, qword [rbp - 0x41]
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x3f]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140048d4d
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140048d4d
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x140048c6e
mov r10, r12
sub r10, rdx
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x140048d35
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140048c50
mov r8, r11
and r8d, 7
je 0x140048c93
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r12], al
jne 0x140048c93
inc rcx
sub r8, 1
jne 0x140048c80
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140048d49
test r9, r9
je 0x140048d49
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x39]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x61]
ja 0x140048d49
mov rdx, qword [rbp + 0x3f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140048d4d
mov rsi, rax
mov qword [rsp + 0x28], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x18], r9
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x20], r8
jmp 0x140048d52
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140048c96
mov rdx, qword [rbp + 0x3f]
mov rsi, qword [rsp + 0x28]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140048ea1
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140048ea1
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x140048dce
mov r10, r12
sub r10, rdx
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140048e87
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140048db0
mov r8, r11
and r8d, 7
je 0x140048dec
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140048dec
inc rdx
inc rcx
sub r8, 1
jne 0x140048dd7
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140048ea1
test r9, r9
je 0x140048ea1
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x39]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x61]
ja 0x140048ea1
mov rbx, qword [rbp + 0x5f]
mov r15, qword [rbp + 0x4f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x140048ea9
sub r11d, r9d
mov qword [rsp + 0x18], r9
inc qword [r13 + 0x30]
mov rcx, rax
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rax
jmp 0x140048eae
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140048def
mov r14, qword [rbp + 0x67]
jmp 0x140048ea9
mov rbx, qword [rbp + 0x5f]
mov r15, qword [rbp + 0x4f]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 8]
mov r11, qword [rsp + 0x10]
add rax, 0xaf
cmp rcx, rax
jb 0x140048f32
mov ecx, dword [rbp + 0x87]
inc r11
movups xmm0, xmmword [rsp + 0x18]
inc ecx
mov rsi, rbx
mov qword [rbp + 0x47], rbx
mov qword [rsp + 0x10], r11
mov dword [rbp + 0x87], ecx
movups xmm1, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rbp - 0x79], xmm1
cmp ecx, 4
jge 0x140048f27
lea rax, [rbx + 4]
cmp rax, qword [rbp - 0x59]
jae 0x140048f27
mov rcx, qword [rbp - 0x79]
mov r9, qword [rbp + 0x3f]
mov rbx, qword [rbp + 0x6f]
dec r9
mov qword [rsp + 8], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x48]
mov qword [rsp], rcx
jmp 0x140048596
mov rdx, qword [rsp + 0x48]
mov qword [rsp], rdx
jmp 0x140048f3a
mov rsi, qword [rbp + 0x47]
mov rdx, qword [rsp]
mov rax, qword [rbp - 0x29]
mov r9, qword [rbp - 0x51]
mov rdi, qword [rsp + 0x50]
mov r10, qword [rbp + 0x77]
lea r12, [rax + rdx*2]
mov rax, qword [rbp - 0x49]
add rax, rsi
add r12, rsi
cmp rax, r9
mov qword [rbp - 0x61], r12
cmovb r9, rax
cmp rdi, r9
ja 0x140048fe7
movsxd rax, dword [r10]
lea rcx, [rdi + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rdi, rax
jne 0x140048f87
xor r8d, r8d
jmp 0x140048feb
cmp rdi, r8
jne 0x140048f94
mov r8d, 1
jmp 0x140048feb
cmp rdx, 7
jae 0x140048faf
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x140048feb
cmp rcx, 7
jae 0x140048fc7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x140048feb
movsxd rax, dword [r10 + 8]
cmp rdi, rax
jne 0x140048fd8
mov r8d, 2
jmp 0x140048feb
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rdi, rax
je 0x140048feb
lea r8, [rdi + 0xf]
cmp rdi, r9
ja 0x140049013
test r8, r8
je 0x140049013
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [r10 + 4], eax
mov eax, dword [rsp + 0x50]
mov dword [r10], eax
mov r12, qword [rsp + 0x38]
mov esi, dword [rbp - 0x71]
mov r13, qword [rbp + 0x67]
mov r14d, dword [rsp + 0x48]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [r12], r11d
mov dword [r12 + 4], eax
mov r15d, dword [r13 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x140049048
xor ebx, ebx
jmp 0x1400490c1
mov r11d, dword [r13 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x10]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r12 + 0xe], r8w
lea r9d, [r14 + rsi]
mov eax, 0x3ff
mov dword [r12 + 8], ebx
and r8w, ax
movsxd rdx, r9d
cmp r11, 6
jae 0x1400490ed
movzx r10d, r11w
mov ecx, 0x17
jmp 0x14004915e
cmp r11, 0x82
jae 0x140049117
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x14004915e
mov ecx, 0x17
cmp r11, 0x842
jae 0x140049134
lea eax, [r11 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x14004915e
cmp r11, 0x1842
jae 0x140049145
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x14004915e
mov r10d, 0x16
cmp r11, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004916a
sub dx, 2
jmp 0x1400491a8
cmp rdx, 0x86
jae 0x14004918f
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x1400491a8
cmp rdx, 0x846
jae 0x1400491a5
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x1400491a8
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x1400491e7
cmp r10w, 8
jae 0x1400491e7
cmp dx, 0x10
jae 0x1400491e7
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x140049219
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0x97]
mov rcx, qword [rbp + 0x47]
mov rdx, qword [rsp]
mov rbx, qword [rbp - 0x31]
mov word [r12 + 0xc], r9w
add r12, 0x10
add qword [rax], r11
lea r11, [rcx + 2]
lea rsi, [rdx + rcx]
mov qword [rsp + 0x38], r12
cmp rsi, rbx
mov qword [rsp + 0x10], 0
mov rax, rdx
cmovb rbx, rsi
shr rax, 2
cmp rdi, rax
jae 0x140049288
lea rax, [rdi*4]
sub rdx, rax
lea rax, [rdx + rcx]
cmp r11, rax
mov eax, 2
cmova rdx, rax
lea r11, [rcx + rdx]
cmp rbx, r11
cmovb r11, rbx
cmp r11, rbx
jae 0x140049326
mov rdi, qword [rbp + 0x4f]
mov r12d, 0xffff
mov r14, qword [rbp + 0x57]
mov r13, qword [rbp + 0x6f]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [r13 + 0x60]
mov rax, r11
movzx r8d, word [r13 + 0x50]
and rax, r14
mov r9, qword [r13 + 0x68]
mov rcx, r11
imul edx, dword [rax + rdi], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r13 + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, r11w
cmp rcx, r12
cmova rcx, r12
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], r11d
inc r11
mov word [r10 + rdx*2 + 0x20000], r8w
cmp r11, rbx
jb 0x1400492b0
mov r13, qword [rbp + 0x67]
mov r12, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x10]
mov qword [rbp + 0x47], rsi
jmp 0x1400494df
mov edi, 0xffff
mov rcx, qword [rsp + 0x10]
inc rsi
mov r12, qword [rbp - 0x61]
inc rcx
mov qword [rsp + 0x10], rcx
mov qword [rbp + 0x47], rsi
cmp rsi, r12
jbe 0x1400494d6
mov rax, qword [rbp - 0x29]
mov r11, qword [rbp - 0x59]
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x140049422
add r11, 0xfffffffffffffffc
lea rax, [rsi + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x1400494d6
mov r14, qword [rbp + 0x57]
mov rax, r11
sub rax, rsi
add rcx, 4
dec rax
and rax, 0xfffffffffffffffc
add rcx, rax
mov qword [rsp + 0x10], rcx
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rbx + 0x60]
mov rax, rsi
movzx r8d, word [rbx + 0x50]
and rax, r14
mov r9, qword [rbx + 0x68]
mov rcx, rsi
imul edx, dword [rax + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rbx + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, si
cmp rcx, rdi
cmova rcx, rdi
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], esi
add rsi, 4
mov word [r10 + rdx*2 + 0x20000], r8w
cmp rsi, r11
jb 0x1400493b0
jmp 0x1400494cd
add r11, 0xfffffffffffffffd
lea rax, [rsi + 8]
cmp rax, r11
cmovb r11, rax
cmp rsi, r11
jae 0x1400494d6
mov r14, qword [rbp + 0x57]
mov rax, r11
sub rax, rsi
add rcx, 2
dec rax
and rax, 0xfffffffffffffffe
add rcx, rax
mov qword [rsp + 0x10], rcx
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov rax, rsi
movzx r8d, word [rbx + 0x50]
and rax, r14
mov r9, qword [rbx + 0x68]
mov rcx, rsi
imul edx, dword [rax + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rbx + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, si
cmp rcx, rdi
cmova rcx, rdi
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], esi
add rsi, 2
mov word [r10 + rdx*2 + 0x20000], r8w
cmp rsi, r11
jb 0x140049460
mov rcx, qword [rsp + 0x10]
mov qword [rbp + 0x47], rsi
mov r13, qword [rbp + 0x67]
mov r12, qword [rsp + 0x38]
mov r11, qword [rbp - 0x59]
lea rax, [rsi + 4]
mov r8, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x77]
mov rbx, qword [rbp - 0x51]
mov rdi, qword [rbp - 0x49]
cmp rax, r11
jb 0x140047c60
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov rax, qword [rbp + 0x7f]
sub r11, rsi
sub r12, qword [rbp - 0x21]
add r11, rcx
sar r12, 4
mov qword [rax], r11
mov rax, qword [rbp + 0x8f]
add qword [rax], r12
add rsp, 0xd8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd8
mov r13, qword [rbp + 0x77]
mov rax, rcx
mov r15, qword [rbp + 0x97]
mov rbx, rdx
mov r10, qword [rbp + 0x7f]
mov r12d, 1
mov r11, r8
mov qword [rsp + 0x50], r15
mov ecx, dword [r13 + 8]
mov r14, qword [r13 + 0x10]
lea rsi, [rax + rbx]
shl r12, cl
mov rcx, qword [rbp + 0x8f]
sub r12, 0x10
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x11], r15
mov rdx, qword [rcx]
mov qword [rsp + 8], rdx
mov qword [rbp - 0x41], rsi
cmp rax, 4
jb 0x1400495dd
lea rax, [rsi - 3]
mov qword [rbp - 0x21], rax
jmp 0x1400495e1
mov qword [rbp - 0x21], rbx
cmp dword [r13 + 4], 9
mov ecx, 0x40
mov rdi, qword [rbp + 0x87]
mov eax, 0x200
cmovl eax, ecx
mov qword [rbp - 0x19], rax
add rax, rbx
mov qword [rbp - 0x69], rax
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x20], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x24], eax
lea rax, [rbx + 4]
cmp rax, rsi
jae 0x14004ac9c
lea rax, [rdi + 4]
mov qword [rbp - 0x39], rax
lea rax, [r14 + rbx]
mov qword [rbp - 0x59], 0
mov r8, rsi
mov qword [rsp + 0x18], 0x7e4
sub r8, rbx
mov rcx, r12
cmp rbx, r12
mov qword [rbp + 0x4f], r8
mov rdx, r12
mov r15d, 0x7e4
cmovb rcx, rbx
cmp rax, r12
mov qword [rbp + 0x6f], rcx
cmovb rdx, rax
mov rax, qword [r13 + 0x50]
mov qword [rbp - 0x71], rax
xor esi, esi
mov rax, qword [r10 + 0x68]
mov qword [rbp - 0x79], rax
mov rax, rbx
and rax, r9
mov qword [rsp + 0x10], rdx
imul r14d, dword [rax + r11], 0x1e35a7bd
lea r13, [rax + r11]
mov rdx, qword [r10 + 0x60]
xor r10d, r10d
mov qword [rbp + 0x97], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp], r10
shr r14, 0x11
xor r12d, r12d
mov qword [rbp - 0x61], r10
mov dword [rbp - 0x49], r10d
jmp 0x1400496d8
mov r8, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x67]
movsxd rbx, dword [rdi + rsi*4]
mov rdi, qword [rbp + 0x57]
mov r10, rdi
sub r10, rbx
test rsi, rsi
je 0x1400496fd
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x1400497df
cmp r10, rdi
jae 0x1400497df
cmp rbx, rcx
ja 0x1400497df
and r10, r9
shr r8, 3
add r10, r11
xor ecx, ecx
mov rdx, r13
test r8, r8
je 0x14004974e
mov r11, r10
sub r11, r13
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [r11 + rdx]
cmp rax, r9
jne 0x140049c4d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140049730
mov r8, qword [rbp + 0x4f]
and r8d, 7
je 0x140049773
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140049773
inc rcx
sub r8, 1
jne 0x140049760
mov r9, rcx
cmp r9, 2
jb 0x1400497cc
imul r8, r9, 0x87
add r8, 0x78f
cmp r15, r8
jae 0x1400497cc
test rsi, rsi
je 0x1400497b2
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r15, r8
jae 0x1400497cc
mov rax, r9
mov qword [rbp - 0x59], rbx
mov qword [rsp], rax
mov r15, r8
mov qword [rbp - 0x61], rax
mov r12, r9
mov qword [rsp + 0x18], r8
mov r11, qword [rbp + 0x5f]
mov r8, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x97]
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rbp - 0x39]
lea rbx, [rsi + 1]
mov r9, qword [rbp + 0x57]
mov r10, r9
movsxd rdi, dword [rax + rsi*4]
sub r10, rdi
test rbx, rbx
je 0x14004980c
movzx eax, r10w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x1400498da
cmp r10, r9
jae 0x1400498da
cmp rdi, rcx
ja 0x1400498da
and r10, qword [rbp + 0x67]
xor edx, edx
add r10, r11
shr r8, 3
mov rcx, r13
test r8, r8
je 0x14004985e
mov r11, r10
sub r11, r13
nop dword [rax]
mov rax, qword [rcx]
mov r9, qword [r11 + rcx]
cmp rax, r9
jne 0x140049c61
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140049840
mov r8, qword [rbp + 0x4f]
and r8d, 7
je 0x140049885
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x140049885
inc rcx
inc rdx
sub r8, 1
jne 0x140049870
mov r9, rdx
cmp r9, 2
jb 0x1400498da
imul r8, r9, 0x87
add r8, 0x78f
cmp r15, r8
jae 0x1400498da
test rbx, rbx
je 0x1400498c3
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r15, r8
jae 0x1400498da
mov r15, r8
mov qword [rsp], r9
mov r12, r9
mov qword [rbp - 0x61], r9
mov qword [rbp - 0x59], rdi
mov qword [rsp + 0x18], r8
mov rcx, qword [rbp + 0x6f]
add rsi, 2
mov rdx, qword [rbp + 0x97]
mov r11, qword [rbp + 0x5f]
mov rdi, qword [rbp + 0x87]
cmp rsi, 0xa
jb 0x1400496d0
mov eax, dword [rdx + r14*4]
xor ebx, ebx
mov rdi, qword [rbp + 0x7f]
mov r11, rdx
mov rcx, qword [rbp + 0x57]
movzx r14d, word [rdx + r14*2 + 0x20000]
mov rsi, rcx
sub rsi, rax
mov rdi, qword [rdi + 0x58]
test rdi, rdi
je 0x140049a42
nop dword [rax + rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rbp + 0x6f]
ja 0x140049a3b
mov rdx, qword [rbp - 0x79]
lea rax, [r14*4]
mov r8, qword [rbp + 0x67]
sub rcx, rbx
and rcx, r8
movzx r14d, word [rax + rdx + 2]
movzx esi, word [rax + rdx]
mov rdx, qword [rsp + 0x20]
add rdx, r12
cmp rdx, r8
ja 0x140049a2e
lea rax, [rcx + r12]
cmp rax, r8
ja 0x140049a2e
mov r8, qword [rbp + 0x5f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x140049a2e
mov rax, qword [rbp + 0x4f]
lea r11, [rcx + r8]
mov r8, rax
xor ecx, ecx
shr r8, 3
mov rdx, r13
test r8, r8
je 0x1400499d2
mov r10, r11
sub r10, r13
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140049c75
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400499b0
mov rax, qword [rbp + 0x4f]
mov r8, rax
and r8d, 7
je 0x1400499f3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x1400499f3
inc rcx
sub r8, 1
jne 0x1400499e0
mov rdx, rcx
cmp rdx, 4
jb 0x140049a2e
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x140049a2e
mov r15, rax
mov qword [rsp], rdx
mov r12, rdx
mov qword [rbp - 0x61], rdx
mov qword [rbp - 0x59], rbx
mov qword [rsp + 0x18], rax
mov rcx, qword [rbp + 0x57]
test rdi, rdi
jne 0x140049930
mov r11, qword [rbp + 0x97]
mov rbx, qword [rbp + 0x57]
mov edi, 0xffff
mov rsi, qword [rbp + 0x7f]
mov rcx, rbx
mov r9, qword [rbp - 0x79]
mov r10, qword [rsp + 0x20]
mov r15, qword [rbp + 0x5f]
movzx r8d, word [rsi + 0x50]
imul edx, dword [r10 + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rsi + 0x50], ax
shr rdx, 0x11
mov eax, dword [r11 + rdx*4]
sub rcx, rax
movzx eax, bx
cmp rcx, rdi
cmova rcx, rdi
cmp qword [rsp + 0x18], 0x7e4
mov byte [rax + r11 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r11 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r11 + rdx*4], ebx
mov word [r11 + rdx*2 + 0x20000], r8w
jne 0x140049e0c
mov r13, qword [rsi + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x14004aacc
imul ebx, dword [r10 + r15], 0x1e35a7bd
lea r12, [r10 + r15]
mov r8, qword [rbp + 0x77]
lea r15, [rcx + 1]
mov rdx, qword [rbp + 0x4f]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140049c9d
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140049c9d
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x140049b7e
mov r10, r12
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140049c89
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140049b60
mov r8, r11
and r8d, 7
je 0x140049ba3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140049ba3
inc rcx
sub r8, 1
jne 0x140049b90
mov r9, rcx
mov r10, qword [rbp + 0x77]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140049ca4
test r9, r9
je 0x140049ca4
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x10]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x140049ca9
mov rdx, qword [rbp + 0x4f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140049cad
mov qword [rsp + 0x18], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp], r9
mov qword [r13 + 0x30], rax
mov qword [rbp - 0x61], r9
mov dword [rbp - 0x49], r11d
mov qword [rbp - 0x59], r8
jmp 0x140049cad
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140049776
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x140049888
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x1400499f6
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140049ba6
mov rsi, qword [rsp + 0x10]
jmp 0x140049cad
mov rsi, qword [rsp + 0x10]
mov rdx, qword [rbp + 0x4f]
mov r14, qword [rbp + 0x77]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x140049dfe
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140049dfe
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x140049d2e
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140049dea
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140049d10
mov r8, r11
and r8d, 7
je 0x140049d4c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140049d4c
inc rdx
inc rcx
sub r8, 1
jne 0x140049d37
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140049dfe
test r9, r9
je 0x140049dfe
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rbp - 0x71]
ja 0x140049dfe
mov rbx, qword [rbp + 0x57]
mov r15, qword [rbp + 0x5f]
mov rsi, qword [rbp + 0x7f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jb 0x140049e10
mov rcx, r9
mov qword [rbp - 0x59], r8
sub r11d, r9d
mov qword [rsp], rcx
inc qword [r13 + 0x30]
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x49], r11d
mov qword [rsp + 0x18], rax
jmp 0x140049e14
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140049d4f
mov rbx, qword [rbp + 0x57]
mov r15, qword [rbp + 0x5f]
mov rsi, qword [rbp + 0x7f]
jmp 0x140049e10
mov r14, qword [rbp + 0x77]
mov rcx, qword [rsp]
cmp qword [rsp + 0x18], 0x7e4
jbe 0x14004aac7
mov r8, qword [rbp + 0x4f]
xor r11d, r11d
mov dword [rbp + 0x97], r11d
dec r8
cmp dword [r14 + 4], 5
mov qword [rbp + 0x4f], r8
jge 0x140049e4f
lea rax, [rcx - 1]
mov r12, r8
cmp rax, r8
cmovb r12, rax
jmp 0x140049e52
mov r12, r11
mov r9, qword [rsp + 0x48]
lea rdi, [rbx + 1]
mov rax, qword [rbp - 0x31]
cmp rdi, r9
mov rcx, r9
mov qword [rsp + 0x30], r11
cmovb rcx, rdi
mov qword [rbp + 0x6f], rdi
inc rax
mov qword [rsp + 0x10], rcx
add rax, rbx
mov qword [rsp + 0x28], r11
cmp rax, r9
mov dword [rsp + 0x40], r11d
mov rdx, r9
mov r10d, 0x7e4
mov r9, qword [rbp + 0x67]
cmovb rdx, rax
mov rax, qword [r14 + 0x50]
mov qword [rbp - 0x69], rax
mov rax, qword [rsi + 0x68]
mov qword [rbp - 0x79], rax
mov rax, rdi
and rax, r9
mov qword [rbp - 0x29], rdx
mov rdx, qword [rsi + 0x60]
lea r13, [rax + r15]
imul r14d, dword [r13], 0x1e35a7bd
mov rsi, r11
mov qword [rsp + 0x38], r10
mov r15d, r10d
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x71], rax
shr r14, 0x11
jmp 0x140049ee8
mov rdi, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x67]
mov rax, qword [rbp + 0x87]
mov r11, rdi
movsxd rbx, dword [rax + rsi*4]
sub r11, rbx
test rsi, rsi
je 0x140049f10
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x14004a000
cmp r11, rdi
jae 0x14004a000
cmp rbx, rcx
ja 0x14004a000
and r11, r9
xor ecx, ecx
add r11, qword [rbp + 0x5f]
mov r9, r8
shr r9, 3
mov rdx, r13
test r9, r9
je 0x140049f62
mov r10, r11
sub r10, r13
mov rax, qword [rdx]
mov r8, qword [r10 + rdx]
cmp rax, r8
jne 0x140049fdc
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140049f40
mov r8, qword [rbp + 0x4f]
and r8d, 7
je 0x140049f83
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140049f83
inc rcx
sub r8, 1
jne 0x140049f70
mov r9, rcx
cmp r9, 2
jb 0x140049fed
imul r8, r9, 0x87
add r8, 0x78f
cmp r15, r8
jae 0x140049fed
test rsi, rsi
je 0x140049fc2
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r15, r8
jae 0x140049fed
mov r15, r8
mov qword [rsp + 0x28], r9
mov r12, r9
mov qword [rsp + 0x30], rbx
mov r10, r8
mov qword [rsp + 0x38], r8
jmp 0x140049ff2
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140049f86
mov r10, qword [rsp + 0x38]
mov r8, qword [rbp + 0x4f]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x10]
mov rax, qword [rbp - 0x39]
lea rbx, [rsi + 1]
mov r9, qword [rbp + 0x6f]
mov r11, r9
movsxd rdi, dword [rax + rsi*4]
sub r11, rdi
test rbx, rbx
je 0x14004a02d
movzx eax, r11w
cmp byte [rax + rdx + 0x30000], r14b
jne 0x14004a117
cmp r11, r9
jae 0x14004a117
cmp rdi, rcx
ja 0x14004a117
and r11, qword [rbp + 0x67]
mov r9, r8
add r11, qword [rbp + 0x5f]
xor edx, edx
shr r9, 3
mov rcx, r13
test r9, r9
je 0x14004a082
mov r10, r11
sub r10, r13
nop
mov rax, qword [rcx]
mov r8, qword [r10 + rcx]
cmp rax, r8
jne 0x14004a0fd
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14004a060
mov r8, qword [rbp + 0x4f]
and r8d, 7
je 0x14004a0a5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14004a0a5
inc rcx
inc rdx
sub r8, 1
jne 0x14004a090
mov r9, rdx
cmp r9, 2
jb 0x14004a10e
imul r8, r9, 0x87
add r8, 0x78f
cmp r15, r8
jae 0x14004a10e
test rbx, rbx
je 0x14004a0e3
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r15, r8
jae 0x14004a10e
mov r15, r8
mov qword [rsp + 0x28], r9
mov r12, r9
mov qword [rsp + 0x30], rdi
mov r10, r8
mov qword [rsp + 0x38], r8
jmp 0x14004a113
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14004a0a8
mov r10, qword [rsp + 0x38]
mov r9, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x10]
add rsi, 2
mov rdx, qword [rsp + 0x20]
mov r8, qword [rbp + 0x4f]
cmp rsi, 0xa
jb 0x140049ee0
mov eax, dword [rdx + r14*4]
mov rsi, r9
mov rdi, qword [rbp + 0x7f]
xor ebx, ebx
movzx r14d, word [rdx + r14*2 + 0x20000]
sub rsi, rax
mov rcx, rdx
mov rdi, qword [rdi + 0x58]
test rdi, rdi
je 0x14004a284
nop dword [rax]
dec rdi
add rbx, rsi
cmp rbx, qword [rsp + 0x10]
ja 0x14004a284
mov rdx, qword [rbp - 0x79]
lea rax, [r14*4]
mov r8, qword [rbp + 0x67]
mov rcx, r9
sub rcx, rbx
and rcx, r8
movzx r14d, word [rax + rdx + 2]
movzx esi, word [rax + rdx]
mov rdx, qword [rbp - 0x71]
add rdx, r12
cmp rdx, r8
ja 0x14004a27b
lea rax, [rcx + r12]
cmp rax, r8
ja 0x14004a27b
mov r8, qword [rbp + 0x5f]
movzx eax, byte [rax + r8]
cmp byte [rdx + r8], al
jne 0x14004a27b
lea r11, [rcx + r8]
xor eax, eax
mov rcx, qword [rbp + 0x4f]
mov rdx, r13
mov r8, rcx
shr r8, 3
test r8, r8
je 0x14004a201
mov r10, r11
sub r10, r13
mov rcx, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rcx, r9
jne 0x14004a265
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14004a1e3
mov rcx, qword [rbp + 0x4f]
mov r8, rcx
and r8d, 7
je 0x14004a223
sub rdx, rax
nop dword [rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r11], cl
jne 0x14004a223
inc rax
sub r8, 1
jne 0x14004a210
mov rdx, rax
mov r9, qword [rbp + 0x6f]
cmp rdx, 4
jb 0x14004a276
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r15, rax
jae 0x14004a276
mov r15, rax
mov qword [rsp + 0x28], rdx
mov r12, rdx
mov qword [rsp + 0x30], rbx
mov r10, rax
mov qword [rsp + 0x38], rax
jmp 0x14004a27b
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14004a226
mov r10, qword [rsp + 0x38]
test rdi, rdi
jne 0x14004a160
mov rbx, qword [rsp + 0x20]
mov rcx, r9
mov rdi, qword [rbp + 0x7f]
mov r11, qword [rbp - 0x71]
mov r15, qword [rbp + 0x5f]
movzx r8d, word [rdi + 0x50]
imul edx, dword [r11 + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rdi + 0x50], ax
shr rdx, 0x11
mov eax, dword [rbx + rdx*4]
sub rcx, rax
movzx eax, r9w
mov r9, qword [rbp - 0x79]
mov byte [rax + rbx + 0x30000], dl
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
mov word [r9 + r8*4], cx
movzx eax, word [rbx + rdx*2 + 0x20000]
mov rcx, qword [rbp + 0x6f]
mov word [r9 + r8*4 + 2], ax
mov dword [rbx + rdx*4], ecx
mov word [rbx + rdx*2 + 0x20000], r8w
cmp r10, 0x7e4
jne 0x14004a5f6
mov r13, qword [rdi + 0x70]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x14004a5eb
imul ebx, dword [r11 + r15], 0x1e35a7bd
lea r12, [r11 + r15]
mov r8, qword [rbp + 0x77]
lea r15, [rcx + 1]
mov rdx, qword [rbp + 0x4f]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14004a49d
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14004a49d
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004a3be
mov r10, r12
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14004a485
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004a3a0
mov r8, r11
and r8d, 7
je 0x14004a3e3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14004a3e3
inc rcx
sub r8, 1
jne 0x14004a3d0
mov r9, rcx
mov r10, qword [rbp + 0x77]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004a499
test r9, r9
je 0x14004a499
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x29]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14004a499
mov rdx, qword [rbp + 0x4f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14004a49d
mov rsi, rax
mov qword [rsp + 0x38], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x28], r9
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x40], r11d
mov qword [rsp + 0x30], r8
jmp 0x14004a4a2
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004a3e6
mov rdx, qword [rbp + 0x4f]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rbp + 0x77]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14004a601
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x14004a601
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004a51e
mov r10, r12
sub r10, rdx
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14004a5d7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004a500
mov r8, r11
and r8d, 7
je 0x14004a53c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14004a53c
inc rdx
inc rcx
sub r8, 1
jne 0x14004a527
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004a601
test r9, r9
je 0x14004a601
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x29]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14004a601
mov r15, qword [rbp + 0x5f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
mov rcx, qword [rbp + 0x6f]
add rax, 0x780
cmp rax, rsi
jb 0x14004a609
sub r11d, r9d
mov qword [rsp + 0x28], r9
inc qword [r13 + 0x30]
mov rsi, rax
mov dword [rsp + 0x40], r11d
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rax
jmp 0x14004a609
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004a53f
mov rsi, qword [rsp + 0x38]
mov r14, qword [rbp + 0x77]
jmp 0x14004a605
mov rsi, qword [rsp + 0x38]
mov r14, qword [rbp + 0x77]
jmp 0x14004a609
mov r15, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x18]
mov r11, qword [rsp + 8]
add rax, 0xaf
cmp rsi, rax
jb 0x14004a68a
movups xmm0, xmmword [rsp + 0x28]
mov rbx, rcx
mov qword [rbp + 0x57], rcx
mov ecx, dword [rbp + 0x97]
inc r11
movups xmm1, xmmword [rsp + 0x38]
inc ecx
mov qword [rsp + 8], r11
mov dword [rbp + 0x97], ecx
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 0x51], xmm1
cmp ecx, 4
jge 0x14004a680
lea rax, [rbx + 4]
cmp rax, qword [rbp - 0x41]
jae 0x14004a680
mov rcx, qword [rbp - 0x51]
mov r8, qword [rbp + 0x4f]
mov rsi, qword [rbp + 0x7f]
dec r8
mov qword [rsp + 0x18], rcx
xor r11d, r11d
mov rcx, qword [rbp - 0x61]
mov qword [rsp], rcx
jmp 0x140049e34
mov r10, qword [rbp - 0x61]
mov qword [rsp], r10
jmp 0x14004a692
mov rbx, qword [rbp + 0x57]
mov r10, qword [rsp]
mov rax, qword [rbp - 0x19]
mov rdi, qword [rbp - 0x59]
lea r12, [rax + r10*2]
mov rax, qword [rbp - 0x31]
mov r10, qword [rbp + 0x87]
add r12, rbx
add rax, rbx
mov qword [rbp - 0x69], r12
mov r12, qword [rsp + 0x48]
cmp rax, r12
mov r9, r12
cmovb r9, rax
cmp rdi, r9
ja 0x14004a74f
movsxd rax, dword [r10]
lea rcx, [rdi + 3]
movsxd r8, dword [r10 + 4]
lea rbx, [r10 + 4]
mov rdx, rcx
sub rcx, r8
sub rdx, rax
cmp rdi, rax
jne 0x14004a6ed
xor r8d, r8d
jmp 0x14004a757
cmp rdi, r8
jne 0x14004a6fa
mov r8d, 1
jmp 0x14004a757
cmp rdx, 7
jae 0x14004a715
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14004a757
cmp rcx, 7
jae 0x14004a72d
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14004a757
movsxd rax, dword [r10 + 8]
cmp rdi, rax
jne 0x14004a73e
mov r8d, 2
jmp 0x14004a757
movsxd rax, dword [r10 + 0xc]
cmp rdi, rax
jne 0x14004a753
mov r8d, 3
jmp 0x14004a757
mov rbx, qword [rbp - 0x39]
lea r8, [rdi + 0xf]
cmp rdi, r9
ja 0x14004a7a4
test r8, r8
je 0x14004a7a4
mov ecx, dword [rbp - 0x59]
mov eax, dword [r10 + 8]
mov dword [r10 + 0xc], eax
mov eax, dword [rbx]
mov dword [r10 + 8], eax
mov eax, dword [r10]
mov dword [rbx], eax
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
mov dword [r10], ecx
mov rcx, qword [rsp + 0x50]
mov esi, dword [rbp - 0x49]
mov r13, qword [rbp + 0x77]
mov r14d, dword [rbp - 0x61]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r11d
mov dword [rcx + 4], eax
mov r15d, dword [r13 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004a7d5
xor ebx, ebx
jmp 0x14004a84e
mov r11d, dword [r13 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 8]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rsp + 0x50]
lea r9d, [r14 + rsi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], ebx
cmp r11, 6
jae 0x14004a87d
movzx r10d, r11w
mov ecx, 0x17
jmp 0x14004a8ee
cmp r11, 0x82
jae 0x14004a8a7
lea eax, [r11 - 2]
bsr ecx, eax
lea r10, [r11 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x14004a8ee
mov ecx, 0x17
cmp r11, 0x842
jae 0x14004a8c4
lea eax, [r11 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x14004a8ee
cmp r11, 0x1842
jae 0x14004a8d5
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x14004a8ee
mov r10d, 0x16
cmp r11, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004a8fa
sub dx, 2
jmp 0x14004a938
cmp rdx, 0x86
jae 0x14004a91f
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14004a938
cmp rdx, 0x846
jae 0x14004a935
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14004a938
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14004a977
cmp r10w, 8
jae 0x14004a977
cmp dx, 0x10
jae 0x14004a977
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004a9a9
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rbp + 0xa7]
mov rcx, qword [rsp]
mov rbx, qword [rbp - 0x21]
mov word [r15 + 0xc], r9w
add r15, 0x10
add qword [rax], r11
mov rax, rcx
mov r9, qword [rbp + 0x57]
mov qword [rsp + 0x50], r15
mov qword [rsp + 8], 0
lea rsi, [rcx + r9]
cmp rsi, rbx
lea r11, [r9 + 2]
cmovb rbx, rsi
shr rax, 2
cmp rdi, rax
jae 0x14004aa17
lea rax, [rdi*4]
sub rcx, rax
lea rax, [rcx + r9]
cmp r11, rax
mov eax, 2
cmova rcx, rax
lea r11, [r9 + rcx]
cmp rbx, r11
cmovb r11, rbx
cmp r11, rbx
jae 0x14004aab6
mov rdi, qword [rbp + 0x5f]
mov r12d, 0xffff
mov r14, qword [rbp + 0x67]
mov r13, qword [rbp + 0x7f]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [r13 + 0x60]
mov rax, r11
movzx r8d, word [r13 + 0x50]
and rax, r14
mov r9, qword [r13 + 0x68]
mov rcx, r11
imul edx, dword [rax + rdi], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [r13 + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, r11w
cmp rcx, r12
cmova rcx, r12
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], r11d
inc r11
mov word [r10 + rdx*2 + 0x20000], r8w
cmp r11, rbx
jb 0x14004aa40
mov r13, qword [rbp + 0x77]
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 8]
mov rbx, rsi
mov qword [rbp + 0x57], rbx
jmp 0x14004ac74
mov edi, 0xffff
mov rdx, qword [rsp + 8]
inc rbx
mov r12, qword [rbp - 0x69]
inc rdx
mov qword [rsp + 8], rdx
mov qword [rbp + 0x57], rbx
cmp rbx, r12
jbe 0x14004ac66
mov rax, qword [rbp - 0x19]
mov r11, qword [rbp - 0x41]
lea rax, [r12 + rax*4]
cmp rbx, rax
jbe 0x14004abb2
add r11, 0xfffffffffffffffc
lea rax, [rbx + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x14004ac66
mov r14, qword [rbp + 0x67]
mov rax, r11
sub rax, rbx
add rdx, 4
dec rax
and rax, 0xfffffffffffffffc
add rdx, rax
mov qword [rsp + 8], rdx
nop word [rax + rax]
mov r10, qword [rsi + 0x60]
mov rax, rbx
movzx r8d, word [rsi + 0x50]
and rax, r14
mov r9, qword [rsi + 0x68]
mov rcx, rbx
imul edx, dword [rax + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rsi + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, bx
cmp rcx, rdi
cmova rcx, rdi
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], ebx
add rbx, 4
mov word [r10 + rdx*2 + 0x20000], r8w
cmp rbx, r11
jb 0x14004ab40
jmp 0x14004ac5d
add r11, 0xfffffffffffffffd
lea rax, [rbx + 8]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x14004ac66
mov r14, qword [rbp + 0x67]
mov rax, r11
sub rax, rbx
add rdx, 2
dec rax
and rax, 0xfffffffffffffffe
add rdx, rax
mov qword [rsp + 8], rdx
nop word [rax + rax]
mov r10, qword [rsi + 0x60]
mov rax, rbx
movzx r8d, word [rsi + 0x50]
and rax, r14
mov r9, qword [rsi + 0x68]
mov rcx, rbx
imul edx, dword [rax + r15], 0x1e35a7bd
lea eax, [r8 + 1]
mov word [rsi + 0x50], ax
shr rdx, 0x11
mov eax, dword [r10 + rdx*4]
sub rcx, rax
movzx eax, bx
cmp rcx, rdi
cmova rcx, rdi
mov byte [rax + r10 + 0x30000], dl
mov word [r9 + r8*4], cx
movzx eax, word [r10 + rdx*2 + 0x20000]
mov word [r9 + r8*4 + 2], ax
mov dword [r10 + rdx*4], ebx
add rbx, 2
mov word [r10 + rdx*2 + 0x20000], r8w
cmp rbx, r11
jb 0x14004abf0
mov rdx, qword [rsp + 8]
mov qword [rbp + 0x57], rbx
mov r13, qword [rbp + 0x77]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rbp - 0x41]
lea rax, [rbx + 4]
mov r11, qword [rbp + 0x5f]
mov r9, qword [rbp + 0x67]
mov r10, qword [rbp + 0x7f]
mov rdi, qword [rbp + 0x87]
mov r14, qword [rbp - 0x31]
cmp rax, rsi
jb 0x140049640
mov rax, qword [rbp + 0x8f]
sub rsi, rbx
sub r15, qword [rbp - 0x11]
add rsi, rdx
sar r15, 4
mov qword [rax], rsi
mov rax, qword [rbp + 0x9f]
add qword [rax], r15
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov rdi, qword [rbp + 0x87]
mov rax, rcx
mov r11, qword [rbp + 0x6f]
mov r15, rdx
mov rdx, qword [rbp + 0x67]
mov esi, 1
mov r10, r9
mov qword [rbp - 0x59], rdi
mov qword [rbp - 0x21], rdi
lea rcx, [r11 + 0x50]
mov r12, qword [rdx + 0x10]
lea rbx, [rax + r15]
mov qword [rsp + 0x50], rcx
mov ecx, dword [rdx + 8]
shl rsi, cl
mov rcx, qword [rbp + 0x7f]
sub rsi, 0x10
mov qword [rbp - 0x51], rsi
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x61], rbx
mov r8, qword [rcx]
mov qword [rsp + 0x28], r8
cmp rax, 4
jb 0x14004ad6b
lea rax, [rbx - 3]
mov qword [rbp - 0x39], rax
jmp 0x14004ad6f
mov qword [rbp - 0x39], r15
mov r9, qword [rbp + 0x77]
mov ecx, 0x40
cmp dword [rdx + 4], 9
mov eax, 0x200
cmovl eax, ecx
mov ecx, dword [r9]
mov qword [rbp - 0x31], rax
add rax, r15
mov qword [rbp - 0x69], rax
lea eax, [rcx - 1]
mov dword [r9 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x20], eax
lea eax, [rcx + 3]
mov ecx, dword [r9 + 4]
mov dword [r9 + 0x24], eax
lea eax, [rcx - 1]
mov dword [r9 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r9 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r9 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r9 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r9 + 0x3c], eax
lea rax, [r15 + 4]
cmp rax, rbx
jae 0x14004c9da
mov qword [rsp + 0xf0], r13
xor r13d, r13d
mov qword [rsp + 0xe8], r14
lea r14, [r9 + 8]
mov qword [rbp - 0x29], r14
mov r9, qword [r11 + 0x458]
lea rax, [r12 + r15]
mov rdi, rsi
mov qword [rsp + 0x60], r13
mov rcx, rsi
mov qword [rsp + 0x18], 0x7e4
mov r8, rbx
mov qword [rbp + 0x5f], r9
sub r8, r15
mov qword [rsp + 8], r13
cmp r15, rsi
mov qword [rbp + 0x3f], r8
mov qword [rsp + 0x58], r13
mov r12d, 0x7e4
cmovb rdi, r15
mov dword [rsp + 0x70], r13d
cmp rax, rsi
mov qword [rbp + 0x87], rdi
mov esi, 2
cmovb rcx, rax
mov rax, qword [rdx + 0x50]
mov qword [rbp - 0x71], rax
mov rax, qword [r11 + 0x460]
mov qword [rbp - 0x79], rax
mov rax, r15
and rax, r10
mov qword [rsp + 0x10], rcx
mov rcx, qword [rbp + 0x4f]
imul r15d, dword [rax + rcx], 0x1e35a7bd
lea rdx, [rax + rcx]
mov qword [rsp + 0x20], rax
mov qword [rsp], rdx
shr r15, 0x11
jmp 0x14004aec7
mov rdi, qword [rbp + 0x87]
mov rdx, qword [rsp]
mov r9, qword [rbp + 0x5f]
mov r8, qword [rbp + 0x3f]
mov rcx, qword [rbp + 0x4f]
mov rax, qword [rbp + 0x47]
lea r11, [rsi - 2]
movsxd rbx, dword [r14 - 8]
mov r10, rax
sub r10, rbx
test r11, r11
je 0x14004aef4
movzx eax, r10w
cmp byte [rax + r9 + 0x30000], r15b
jne 0x14004afc4
mov rax, qword [rbp + 0x47]
cmp r10, rax
jae 0x14004afc4
cmp rbx, rdi
ja 0x14004afc4
and r10, qword [rbp + 0x57]
add r10, rcx
shr r8, 3
xor ecx, ecx
test r8, r8
je 0x14004af3e
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004b660
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004af20
mov r8, qword [rbp + 0x3f]
and r8d, 7
je 0x14004af63
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14004af63
inc rcx
sub r8, 1
jne 0x14004af50
mov r9, rcx
cmp r9, 2
jb 0x14004afbc
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004afbc
test r11, r11
je 0x14004afa2
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004afbc
mov r12, r8
mov qword [rsp + 8], r9
mov r13, r9
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x18], r8
mov r9, qword [rbp + 0x5f]
mov rdx, qword [rsp]
mov rcx, qword [rbp + 0x47]
lea r11, [rsi - 1]
movsxd rbx, dword [r14 - 4]
mov r8, rcx
sub r8, rbx
test r11, r11
je 0x14004afed
movzx eax, r8w
cmp byte [rax + r9 + 0x30000], r15b
jne 0x14004b0be
cmp r8, rcx
jae 0x14004b0be
cmp rbx, rdi
ja 0x14004b0be
and r8, qword [rbp + 0x57]
xor ecx, ecx
mov rax, qword [rbp + 0x3f]
add r8, qword [rbp + 0x4f]
mov r9, rax
shr r9, 3
test r9, r9
je 0x14004b042
nop dword [rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x14004b674
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004b020
mov rax, qword [rbp + 0x3f]
mov r9, rax
and r9d, 7
je 0x14004b065
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x14004b065
inc rdx
inc rcx
sub r9, 1
jne 0x14004b050
mov r9, rcx
cmp r9, 2
jb 0x14004b0be
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004b0be
test r11, r11
je 0x14004b0a4
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004b0be
mov r12, r8
mov qword [rsp + 8], r9
mov r13, r9
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x18], r8
mov rdx, qword [rbp + 0x47]
movsxd r11, dword [r14]
mov r8, rdx
sub r8, r11
test rsi, rsi
je 0x14004b0e6
mov rcx, qword [rbp + 0x5f]
movzx eax, r8w
cmp byte [rax + rcx + 0x30000], r15b
jne 0x14004b1b5
cmp r8, rdx
jae 0x14004b1b5
cmp r11, rdi
ja 0x14004b1b5
and r8, qword [rbp + 0x57]
xor ecx, ecx
mov rbx, qword [rbp + 0x3f]
add r8, qword [rbp + 0x4f]
mov r9, rbx
mov rdx, qword [rsp]
shr r9, 3
test r9, r9
je 0x14004b13e
nop word [rax + rax]
mov r10, qword [rdx]
mov rax, qword [rcx + r8]
cmp r10, rax
jne 0x14004b688
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004b120
mov r9, rbx
and r9d, 7
je 0x14004b15c
movzx eax, byte [rdx]
cmp byte [rcx + r8], al
jne 0x14004b15c
inc rdx
inc rcx
sub r9, 1
jne 0x14004b147
mov r9, rcx
cmp r9, 2
jb 0x14004b1b5
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004b1b5
test rsi, rsi
je 0x14004b19b
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004b1b5
mov r12, r8
mov qword [rsp + 8], r9
mov r13, r9
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x18], r8
mov r8, qword [rbp + 0x47]
lea rbx, [rsi + 1]
movsxd rdi, dword [r14 + 4]
mov r10, r8
sub r10, rdi
test rbx, rbx
je 0x14004b1e2
mov rcx, qword [rbp + 0x5f]
movzx eax, r10w
cmp byte [rax + rcx + 0x30000], r15b
jne 0x14004b2c1
mov rcx, qword [rbp + 0x87]
cmp r10, r8
jae 0x14004b2c8
cmp rdi, rcx
ja 0x14004b2c8
and r10, qword [rbp + 0x57]
xor edx, edx
mov r9, qword [rbp + 0x3f]
add r10, qword [rbp + 0x4f]
mov rax, qword [rsp]
shr r9, 3
mov rcx, rax
test r9, r9
je 0x14004b23e
mov r11, r10
sub r11, rax
nop
mov rax, qword [rcx]
mov r8, qword [r11 + rcx]
cmp rax, r8
jne 0x14004b69c
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14004b220
mov r8, qword [rbp + 0x3f]
and r8d, 7
je 0x14004b265
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r10], al
jne 0x14004b265
inc rcx
inc rdx
sub r8, 1
jne 0x14004b250
mov r9, rdx
cmp r9, 2
jb 0x14004b2bd
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004b2bd
test rbx, rbx
je 0x14004b2a3
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004b2bd
mov r12, r8
mov qword [rsp + 8], r9
mov r13, r9
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x18], r8
mov r8, qword [rbp + 0x47]
mov rcx, qword [rbp + 0x87]
add rsi, 4
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x14004aeb0
mov rdx, qword [rbp + 0x5f]
mov rsi, r15
mov rbx, qword [rbp + 0x6f]
mov rdi, r8
and esi, 0x1ff
xor r11d, r11d
mov eax, dword [rdx + r15*4]
mov rbx, qword [rbx + 0x450]
sub rdi, rax
movzx r14d, word [rdx + r15*2 + 0x20000]
mov r15, qword [rsp + 0x20]
test rbx, rbx
je 0x14004b436
nop word [rax + rax]
dec rbx
add r11, rdi
cmp r11, rcx
ja 0x14004b436
mov rax, qword [rbp - 0x79]
sub r8, r11
mov rdx, qword [rbp + 0x57]
mov rcx, rsi
shl rcx, 9
and r8, rdx
add rcx, r14
movzx r14d, word [rax + rcx*4 + 2]
movzx edi, word [rax + rcx*4]
lea rcx, [r15 + r13]
cmp rcx, rdx
ja 0x14004b422
lea rax, [r8 + r13]
cmp rax, rdx
ja 0x14004b422
mov r9, qword [rbp + 0x4f]
movzx eax, byte [rax + r9]
cmp byte [rcx + r9], al
jne 0x14004b422
mov rax, qword [rbp + 0x3f]
lea r10, [r8 + r9]
mov rdx, qword [rsp]
mov r8, rax
shr r8, 3
xor ecx, ecx
test r8, r8
je 0x14004b3c2
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004b6b0
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004b3a0
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x14004b3e3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14004b3e3
inc rcx
sub r8, 1
jne 0x14004b3d0
mov rdx, rcx
cmp rdx, 4
jb 0x14004b422
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14004b422
mov r12, rax
mov qword [rsp + 8], rdx
mov r13, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x18], rax
mov rcx, qword [rbp + 0x87]
mov r8, qword [rbp + 0x47]
test rbx, rbx
jne 0x14004b320
mov r11, qword [rbp + 0x5f]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rbp + 0x4f]
mov r10, qword [rbp - 0x79]
imul eax, dword [r15 + rdi], 0x1e35a7bd
mov r15, qword [rbp + 0x47]
mov rcx, r15
mov r9d, eax
shr r9, 0x11
mov rdx, r9
and edx, 0x1ff
movzx eax, word [rsi + rdx*2]
mov r8d, eax
inc ax
mov word [rsi + rdx*2], ax
and r8d, 0x1ff
mov eax, dword [r11 + r9*4]
sub rcx, rax
movzx eax, r15w
mov byte [rax + r11 + 0x30000], r9b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
shl rdx, 9
add rdx, r8
cmp qword [rsp + 0x18], 0x7e4
mov word [r10 + rdx*4], cx
movzx eax, word [r11 + r9*2 + 0x20000]
mov word [r10 + rdx*4 + 2], ax
mov dword [r11 + r9*4], r15d
mov word [r11 + r9*2 + 0x20000], r8w
jne 0x14004b83d
mov rdx, qword [rbp + 0x6f]
mov r13, qword [rdx + 0x468]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x14004c7b7
mov r12, qword [rsp]
lea r15, [rcx + 1]
mov r10, qword [rbp + 0x67]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 0x28], r15
mov rax, qword [r10 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14004b6dc
mov r11d, ecx
mov rax, qword [r10 + 0x70]
movzx esi, word [rax + rbx*2]
cmp rcx, qword [rbp + 0x3f]
ja 0x14004b6dc
mov rdi, qword [r10 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004b592
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14004b6c4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004b570
mov r10, qword [rbp + 0x67]
mov r8, r11
and r8d, 7
je 0x14004b5b3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14004b5b3
inc rcx
sub r8, 1
jne 0x14004b5a0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004b6dc
test r9, r9
je 0x14004b6dc
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x10]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x14004b6e1
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14004b6e1
mov r10, qword [rbp + 0x67]
sub r11d, r9d
mov qword [rsp + 0x18], rax
lea rax, [r14 + 1]
mov qword [r13 + 0x30], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x60], r8
jmp 0x14004b6e1
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004af66
xor rax, r10
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004b068
xor rax, r10
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004b15f
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14004b268
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004b3e6
mov r10, qword [rbp + 0x67]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004b5b6
mov rsi, qword [rsp + 0x10]
mov r14, qword [rbp + 0x3f]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r10 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14004b847
mov rax, qword [r10 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, r14
ja 0x14004b847
mov rbx, qword [r10 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004b762
mov r10, r12
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14004b825
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004b740
mov r10, qword [rbp + 0x67]
mov r8, r11
and r8d, 7
je 0x14004b785
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14004b785
inc rdx
inc rcx
sub r8, 1
jne 0x14004b770
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004b847
test r9, r9
je 0x14004b847
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
lea r8, [rsi + 1]
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x71]
ja 0x14004b847
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp + 0x50]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jb 0x14004b850
mov rcx, r9
mov qword [rsp + 0x60], r8
sub r11d, r9d
mov qword [rsp + 8], rcx
inc qword [r13 + 0x30]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x18], rax
jmp 0x14004b855
mov r10, qword [rbp + 0x67]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004b788
mov r14, qword [rbp + 0x3f]
mov r10, qword [rbp + 0x67]
jmp 0x14004b850
mov r15, qword [rbp + 0x47]
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 8]
cmp qword [rsp + 0x18], 0x7e4
jbe 0x14004c7af
mov dword [rbp + 0x87], 0
dec r14
cmp dword [r10 + 4], 5
mov qword [rbp + 0x3f], r14
jge 0x14004b88c
lea rax, [rcx - 1]
mov r13, r14
cmp rax, r14
cmovb r13, rax
jmp 0x14004b88f
xor r13d, r13d
mov rdx, qword [rbp - 0x51]
lea r11, [r15 + 1]
mov rax, qword [rbp - 0x49]
cmp r11, rdx
mov r14, qword [rbp - 0x29]
mov rdi, rdx
cmovb rdi, r11
mov qword [rsp + 0x38], 0
inc rax
mov qword [rbp + 0x5f], r11
add rax, r15
mov qword [rsp], rdi
cmp rax, rdx
mov qword [rsp + 0x30], 0
mov esi, 0x7e4
mov dword [rsp + 0x48], 0
mov rcx, rdx
mov qword [rsp + 0x40], rsi
cmovb rcx, rax
mov esi, 2
mov rax, qword [r10 + 0x50]
mov r12d, 0x7e4
mov qword [rbp - 0x69], rax
mov rax, qword [rbp + 0x6f]
mov qword [rbp - 0x41], rcx
mov rcx, qword [rbp + 0x4f]
mov r9, qword [rax + 0x458]
mov rax, qword [rax + 0x460]
mov qword [rbp - 0x79], rax
mov rax, r11
and rax, qword [rbp + 0x57]
imul r15d, dword [rax + rcx], 0x1e35a7bd
lea r8, [rax + rcx]
mov qword [rsp + 0x20], r9
mov qword [rbp - 0x71], rax
mov qword [rsp + 0x10], r8
shr r15, 0x11
jmp 0x14004b956
mov rdi, qword [rsp]
mov r11, qword [rbp + 0x5f]
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x4f]
movsxd rbx, dword [r14 - 8]
mov r10, r11
sub r10, rbx
lea r11, [rsi - 2]
test r11, r11
je 0x14004b97b
movzx eax, r10w
cmp byte [rax + r9 + 0x30000], r15b
jne 0x14004ba51
cmp r10, qword [rbp + 0x5f]
jae 0x14004ba51
cmp rbx, rdi
ja 0x14004ba51
and r10, qword [rbp + 0x57]
mov rdx, r8
mov rax, qword [rbp + 0x3f]
add r10, rcx
mov r9, rax
xor ecx, ecx
shr r9, 3
test r9, r9
je 0x14004b9d2
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [rcx + r10]
cmp r8, rax
jne 0x14004bd5d
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004b9b0
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x14004b9f3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14004b9f3
inc rcx
sub r8, 1
jne 0x14004b9e0
mov r9, rcx
cmp r9, 2
jb 0x14004ba47
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004ba47
test r11, r11
je 0x14004ba32
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004ba47
mov r12, r8
mov qword [rsp + 0x30], r9
mov r13, r9
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r8
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 0x10]
movsxd rbx, dword [r14 - 4]
lea r11, [rsi - 1]
mov r10, qword [rbp + 0x5f]
sub r10, rbx
test r11, r11
je 0x14004ba77
movzx eax, r10w
cmp byte [rax + r9 + 0x30000], r15b
jne 0x14004bb49
cmp r10, qword [rbp + 0x5f]
jae 0x14004bb49
cmp rbx, rdi
ja 0x14004bb49
and r10, qword [rbp + 0x57]
xor ecx, ecx
mov rax, qword [rbp + 0x3f]
mov rdx, r8
add r10, qword [rbp + 0x4f]
mov r9, rax
shr r9, 3
test r9, r9
je 0x14004bad2
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [rcx + r10]
cmp r8, rax
jne 0x14004bd71
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004bab0
mov rax, qword [rbp + 0x3f]
mov r8, rax
and r8d, 7
je 0x14004baf5
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14004baf5
inc rdx
inc rcx
sub r8, 1
jne 0x14004bae0
mov r9, rcx
cmp r9, 2
jb 0x14004bb49
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004bb49
test r11, r11
je 0x14004bb34
movzx ecx, r11b
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004bb49
mov r12, r8
mov qword [rsp + 0x30], r9
mov r13, r9
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r8
mov rbx, qword [rbp + 0x5f]
movsxd r11, dword [r14]
mov r10, rbx
sub r10, r11
test rsi, rsi
je 0x14004bb72
mov rcx, qword [rsp + 0x20]
movzx eax, r10w
cmp byte [rax + rcx + 0x30000], r15b
jne 0x14004bc40
cmp r10, rbx
jae 0x14004bc40
cmp r11, rdi
ja 0x14004bc40
and r10, qword [rbp + 0x57]
xor ecx, ecx
mov rdi, qword [rbp + 0x3f]
add r10, qword [rbp + 0x4f]
mov r9, rdi
mov rdx, qword [rsp + 0x10]
shr r9, 3
test r9, r9
je 0x14004bbce
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdx]
mov rax, qword [rcx + r10]
cmp r8, rax
jne 0x14004bd85
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004bbb0
mov r8, rdi
and r8d, 7
je 0x14004bbec
movzx eax, byte [rdx]
cmp byte [rcx + r10], al
jne 0x14004bbec
inc rdx
inc rcx
sub r8, 1
jne 0x14004bbd7
mov r9, rcx
cmp r9, 2
jb 0x14004bc40
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004bc40
test rsi, rsi
je 0x14004bc2b
movzx ecx, sil
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004bc40
mov r12, r8
mov qword [rsp + 0x30], r9
mov r13, r9
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], r8
movsxd rdi, dword [r14 + 4]
mov r11, rbx
sub r11, rdi
lea rbx, [rsi + 1]
test rbx, rbx
je 0x14004bc6a
mov rcx, qword [rsp + 0x20]
movzx eax, r11w
cmp byte [rax + rcx + 0x30000], r15b
jne 0x14004bdad
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rsp]
cmp r11, rdx
jae 0x14004bdb5
cmp rdi, rcx
ja 0x14004bdb5
and r11, qword [rbp + 0x57]
xor edx, edx
mov r9, qword [rbp + 0x3f]
add r11, qword [rbp + 0x4f]
mov rax, qword [rsp + 0x10]
shr r9, 3
mov rcx, rax
test r9, r9
je 0x14004bcce
mov r10, r11
sub r10, rax
nop dword [rax]
mov r8, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r8, rax
jne 0x14004bd99
add rcx, 8
add rdx, 8
sub r9, 1
jne 0x14004bcb0
mov r8, qword [rbp + 0x3f]
and r8d, 7
je 0x14004bcf5
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14004bcf5
inc rcx
inc rdx
sub r8, 1
jne 0x14004bce0
mov r9, rdx
cmp r9, 2
jb 0x14004bdad
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x14004bdad
test rbx, rbx
je 0x14004bd3b
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x14004bdad
mov rcx, qword [rsp]
mov r12, r8
mov rdx, qword [rbp + 0x5f]
mov r13, r9
mov qword [rsp + 0x30], r9
mov r10, r8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r8
jmp 0x14004bdba
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004b9f6
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004baf8
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004bbef
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rdx
jmp 0x14004bcf8
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rsp]
mov r10, qword [rsp + 0x40]
add rsi, 4
add r14, 0x10
lea rax, [rsi - 2]
cmp rax, 0x10
jb 0x14004b940
mov r8, qword [rsp + 0x20]
mov rsi, r15
mov rbx, qword [rbp + 0x6f]
mov rdi, rdx
and esi, 0x1ff
xor r11d, r11d
mov eax, dword [r8 + r15*4]
mov rbx, qword [rbx + 0x450]
sub rdi, rax
movzx r14d, word [r8 + r15*2 + 0x20000]
mov r15, qword [rbp - 0x71]
test rbx, rbx
je 0x14004bf39
nop dword [rax]
dec rbx
add r11, rdi
cmp r11, rcx
ja 0x14004bf39
mov rax, qword [rbp - 0x79]
mov rcx, rsi
mov r9, qword [rbp + 0x57]
mov r8, rdx
shl rcx, 9
sub r8, r11
add rcx, r14
and r8, r9
movzx r14d, word [rax + rcx*4 + 2]
movzx edi, word [rax + rcx*4]
lea rcx, [r15 + r13]
cmp rcx, r9
ja 0x14004bf2c
lea rax, [r8 + r13]
cmp rax, r9
ja 0x14004bf2c
mov r9, qword [rbp + 0x4f]
movzx eax, byte [rax + r9]
cmp byte [rcx + r9], al
jne 0x14004bf2c
mov rcx, qword [rbp + 0x3f]
lea r10, [r8 + r9]
mov rdx, qword [rsp + 0x10]
mov r8, rcx
shr r8, 3
xor eax, eax
test r8, r8
je 0x14004beae
nop dword [rax]
mov r9, qword [rdx]
mov rcx, qword [rax + r10]
cmp r9, rcx
jne 0x14004bf12
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14004be90
mov rcx, qword [rbp + 0x3f]
mov r8, rcx
and r8d, 7
je 0x14004bed3
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x14004bed3
inc rax
sub r8, 1
jne 0x14004bec0
mov rdx, rax
cmp rdx, 4
jb 0x14004bf23
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r12, rax
jae 0x14004bf23
mov r12, rax
mov qword [rsp + 0x30], rdx
mov r13, rdx
mov qword [rsp + 0x38], r11
mov r10, rax
mov qword [rsp + 0x40], rax
jmp 0x14004bf28
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14004bed6
mov r10, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x5f]
mov rcx, qword [rsp]
test rbx, rbx
jne 0x14004be10
mov rdi, qword [rsp + 0x20]
mov r12d, 0xffff
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rbp + 0x5f]
mov r13, qword [rbp + 0x4f]
mov r11, qword [rbp - 0x79]
imul eax, dword [r15 + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rdx, r9
and edx, 0x1ff
movzx eax, word [rcx + rdx*2]
mov r8d, eax
inc ax
mov word [rcx + rdx*2], ax
and r8d, 0x1ff
mov eax, dword [rdi + r9*4]
mov rcx, rbx
sub rcx, rax
movzx eax, bx
cmp rcx, r12
cmova rcx, r12
shl rdx, 9
mov byte [rax + rdi + 0x30000], r9b
add rdx, r8
cmp r10, 0x7e4
mov r10, qword [rbp + 0x67]
mov word [r11 + rdx*4], cx
movzx eax, word [rdi + r9*2 + 0x20000]
mov word [r11 + rdx*4 + 2], ax
mov dword [rdi + r9*4], ebx
mov word [rdi + r9*2 + 0x20000], r8w
jne 0x14004c2cf
mov rax, qword [rbp + 0x6f]
mov r13, qword [rax + 0x468]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x14004c2c4
mov r12, qword [rsp + 0x10]
lea r15, [rcx + 1]
imul ebx, dword [r12], 0x1e35a7bd
mov qword [r13 + 0x28], r15
mov rax, qword [r10 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14004c165
mov r11d, ecx
mov rax, qword [r10 + 0x70]
movzx esi, word [rax + rbx*2]
cmp rcx, qword [rbp + 0x3f]
ja 0x14004c165
mov rdi, qword [r10 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004c092
mov r10, r12
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14004c14d
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004c070
mov r10, qword [rbp + 0x67]
mov r8, r11
and r8d, 7
je 0x14004c0b3
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x14004c0b3
inc rcx
sub r8, 1
jne 0x14004c0a0
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004c165
test r9, r9
je 0x14004c165
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x41]
shl rdx, cl
inc r8
add rdx, rsi
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14004c165
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x14004c165
mov rsi, rax
mov qword [rsp + 0x40], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x30], r9
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
jmp 0x14004c16a
mov r10, qword [rbp + 0x67]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004c0b6
mov rsi, qword [rsp + 0x40]
mov r14, qword [rbp + 0x3f]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r10 + 0x78]
movzx ecx, byte [rbx + rax + 1]
test cl, cl
je 0x14004c2da
mov rax, qword [r10 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, r14
ja 0x14004c2da
mov rbx, qword [r10 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor ecx, ecx
test r8, r8
je 0x14004c1f2
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14004c2ac
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004c1d0
mov r10, qword [rbp + 0x67]
mov r8, r11
and r8d, 7
je 0x14004c215
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x14004c215
inc rdx
inc rcx
sub r8, 1
jne 0x14004c200
mov r9, rcx
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x14004c2da
test r9, r9
je 0x14004c2da
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov r8, qword [rbp - 0x41]
shl rdx, cl
inc r8
add rdx, rdi
add r8, rdx
cmp r8, qword [rbp - 0x69]
ja 0x14004c2da
mov rbx, qword [rbp + 0x5f]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, rsi
jb 0x14004c2de
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x30]
mov rsi, rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rax
jmp 0x14004c2de
mov r10, qword [rbp + 0x67]
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x14004c218
mov rsi, qword [rsp + 0x40]
mov r14, qword [rbp + 0x3f]
jmp 0x14004c2de
mov rsi, qword [rsp + 0x40]
mov r14, qword [rbp + 0x3f]
jmp 0x14004c2e2
mov rbx, qword [rbp + 0x5f]
mov r13, qword [rbp + 0x4f]
mov rax, qword [rsp + 0x18]
add rax, 0xaf
cmp rsi, rax
jb 0x14004c354
mov ecx, dword [rbp + 0x87]
mov r15, rbx
movups xmm0, xmmword [rsp + 0x30]
inc qword [rsp + 0x28]
inc ecx
mov qword [rbp + 0x47], rbx
mov dword [rbp + 0x87], ecx
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
cmp ecx, 4
jge 0x14004c348
lea rax, [rbx + 4]
cmp rax, qword [rbp - 0x61]
jae 0x14004c348
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 8], rcx
jmp 0x14004b86e
mov r11, qword [rsp + 0x58]
mov qword [rsp + 8], r11
jmp 0x14004c35d
mov r15, qword [rbp + 0x47]
mov r11, qword [rsp + 8]
mov rax, qword [rbp - 0x31]
mov r9, qword [rbp - 0x51]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rbp + 0x77]
lea r12, [rax + r11*2]
mov rax, qword [rbp - 0x49]
add rax, r15
add r12, r15
cmp rax, r9
mov qword [rbp - 0x69], r12
cmovb r9, rax
cmp rsi, r9
ja 0x14004c40a
movsxd rax, dword [rbx]
lea rcx, [rsi + 3]
movsxd r8, dword [rbx + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rsi, rax
jne 0x14004c3aa
xor r8d, r8d
jmp 0x14004c40e
cmp rsi, r8
jne 0x14004c3b7
mov r8d, 1
jmp 0x14004c40e
cmp rdx, 7
jae 0x14004c3d2
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14004c40e
cmp rcx, 7
jae 0x14004c3ea
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14004c40e
movsxd rax, dword [rbx + 8]
cmp rsi, rax
jne 0x14004c3fb
mov r8d, 2
jmp 0x14004c40e
movsxd rax, dword [rbx + 0xc]
mov r8d, 3
cmp rsi, rax
je 0x14004c40e
lea r8, [rsi + 0xf]
cmp rsi, r9
ja 0x14004c477
test r8, r8
je 0x14004c477
mov edx, dword [rbx]
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbx + 8]
mov dword [rbx + 0xc], eax
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
lea eax, [rcx - 1]
mov dword [rbx + 0x10], eax
lea eax, [rcx + 1]
mov dword [rbx + 0x14], eax
lea eax, [rcx - 2]
mov dword [rbx + 0x18], eax
lea eax, [rcx + 2]
mov dword [rbx + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rbx + 0x20], eax
lea eax, [rcx + 3]
mov dword [rbx + 0x24], eax
lea eax, [rdx - 1]
mov dword [rbx + 0x28], eax
lea eax, [rdx + 1]
mov dword [rbx + 0x2c], eax
lea eax, [rdx - 2]
mov dword [rbx + 0x30], eax
lea eax, [rdx + 2]
mov dword [rbx + 0x34], eax
lea eax, [rdx - 3]
mov dword [rbx + 0x38], eax
lea eax, [rdx + 3]
mov dword [rbx + 0x3c], eax
mov dword [rbx + 4], edx
mov dword [rbx], ecx
mov rcx, qword [rbp - 0x59]
mov edi, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x58]
mov r12, qword [rsp + 0x28]
movzx eax, dil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r12d
mov dword [rcx + 4], eax
mov r15d, dword [r10 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004c4aa
xor ebx, ebx
jmp 0x14004c522
mov r11d, dword [r10 + 0x40]
mov edx, 1
lea r10, [r8 - 0x10]
lea ecx, [r11 + 2]
shl rdx, cl
sub rdx, r15
add r10, rdx
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 8]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rbp - 0x59]
lea r9d, [r14 + rdi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], ebx
cmp r12, 6
jae 0x14004c550
movzx r10d, r12w
mov ecx, 0x17
jmp 0x14004c5c4
cmp r12, 0x82
jae 0x14004c57c
lea eax, [r12 - 2]
bsr ecx, eax
lea r10, [r12 - 2]
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
mov ecx, 0x17
jmp 0x14004c5c4
mov ecx, 0x17
cmp r12, 0x842
jae 0x14004c59a
lea eax, [r12 - 0x42]
bsr r10d, eax
add r10w, 0xa
jmp 0x14004c5c4
cmp r12, 0x1842
jae 0x14004c5ab
mov r10d, reloc.WS2_32.dll_setsockopt
jmp 0x14004c5c4
mov r10d, 0x16
cmp r12, 0x5842
movzx eax, cx
cmovb ax, r10w
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004c5d0
sub dx, 2
jmp 0x14004c60e
cmp rdx, 0x86
jae 0x14004c5f5
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14004c60e
cmp rdx, 0x846
jae 0x14004c60b
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14004c60e
movzx edx, cx
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14004c64d
cmp r10w, 8
jae 0x14004c64d
cmp dx, 0x10
jae 0x14004c64d
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004c67f
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rcx, qword [rbp + 0x47]
mov rax, qword [rbp + 0x97]
mov rdi, qword [rbp - 0x39]
mov word [r15 + 0xc], r9w
add r15, 0x10
lea r14, [r11 + rcx]
mov qword [rbp - 0x59], r15
add qword [rax], r12
lea rbx, [rcx + 2]
cmp r14, rdi
mov qword [rsp + 0x28], 0
mov rax, r11
mov qword [rbp + 0x47], r14
cmovb rdi, r14
shr rax, 2
cmp rsi, rax
jae 0x14004c6ec
lea rax, [rsi*4]
sub r11, rax
lea rax, [r11 + rcx]
cmp rbx, rax
mov eax, 2
cmova r11, rax
lea rbx, [rcx + r11]
cmp rdi, rbx
cmovb rbx, rdi
cmp rbx, rdi
jae 0x14004c7a3
mov r14, qword [rbp + 0x57]
nop dword [rax]
mov rax, qword [rbp + 0x6f]
mov rcx, qword [rsp + 0x50]
mov r11, qword [rax + 0x458]
mov r10, qword [rax + 0x460]
mov rax, rbx
and rax, r14
imul eax, dword [rax + r13], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rdx, r9
and edx, 0x1ff
movzx eax, word [rcx + rdx*2]
mov r8d, eax
inc ax
mov word [rcx + rdx*2], ax
and r8d, 0x1ff
mov eax, dword [r11 + r9*4]
mov rcx, rbx
sub rcx, rax
movzx eax, bx
mov byte [rax + r11 + 0x30000], r9b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
shl rdx, 9
add rdx, r8
mov word [r10 + rdx*4], cx
movzx eax, word [r11 + r9*2 + 0x20000]
mov word [r10 + rdx*4 + 2], ax
mov dword [r11 + r9*4], ebx
inc rbx
mov word [r11 + r9*2 + 0x20000], r8w
cmp rbx, rdi
jb 0x14004c700
mov r14, qword [rbp + 0x47]
mov r15, r14
mov qword [rbp + 0x47], r14
jmp 0x14004c992
mov rdi, qword [rbp + 0x4f]
mov rdx, qword [rbp + 0x6f]
mov r8, qword [rsp + 0x28]
inc r15
mov r12, qword [rbp - 0x69]
inc r8
mov qword [rsp + 0x28], r8
mov qword [rbp + 0x47], r15
cmp r15, r12
jbe 0x14004c997
mov rax, qword [rbp - 0x31]
mov rbx, qword [rbp - 0x61]
lea rax, [r12 + rax*4]
cmp r15, rax
jbe 0x14004c8c1
add rbx, 0xfffffffffffffffc
lea rax, [r15 + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14004c997
mov rax, rbx
add r8, 4
sub rax, r15
dec rax
and rax, 0xfffffffffffffffc
add r8, rax
mov qword [rsp + 0x28], r8
nop
mov r11, qword [rdx + 0x458]
mov rax, r15
mov r10, qword [rdx + 0x460]
mov rcx, r15
and rax, qword [rbp + 0x57]
imul eax, dword [rax + rdi], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rdx, r9
and edx, 0x1ff
movzx eax, word [rsi + rdx*2]
mov r8d, eax
inc ax
mov word [rsi + rdx*2], ax
and r8d, 0x1ff
mov eax, dword [r11 + r9*4]
sub rcx, rax
movzx eax, r15w
mov byte [rax + r11 + 0x30000], r9b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
shl rdx, 9
add rdx, r8
mov word [r10 + rdx*4], cx
movzx eax, word [r11 + r9*2 + 0x20000]
mov word [r10 + rdx*4 + 2], ax
mov rdx, qword [rbp + 0x6f]
mov dword [r11 + r9*4], r15d
add r15, 4
mov word [r11 + r9*2 + 0x20000], r8w
cmp r15, rbx
jb 0x14004c820
jmp 0x14004c98e
add rbx, 0xfffffffffffffffd
lea rax, [r15 + 8]
cmp rax, rbx
cmovb rbx, rax
cmp r15, rbx
jae 0x14004c997
mov rax, rbx
add r8, 2
sub rax, r15
dec rax
and rax, 0xfffffffffffffffe
add r8, rax
mov qword [rsp + 0x28], r8
mov r11, qword [rdx + 0x458]
mov rax, r15
mov r10, qword [rdx + 0x460]
mov rcx, r15
and rax, qword [rbp + 0x57]
imul eax, dword [rax + rdi], 0x1e35a7bd
mov r9d, eax
shr r9, 0x11
mov rdx, r9
and edx, 0x1ff
movzx eax, word [rsi + rdx*2]
mov r8d, eax
inc ax
mov word [rsi + rdx*2], ax
and r8d, 0x1ff
mov eax, dword [r11 + r9*4]
sub rcx, rax
movzx eax, r15w
mov byte [rax + r11 + 0x30000], r9b
mov eax, 0xffff
cmp rcx, rax
cmova rcx, rax
shl rdx, 9
add rdx, r8
mov word [r10 + rdx*4], cx
movzx eax, word [r11 + r9*2 + 0x20000]
mov word [r10 + rdx*4 + 2], ax
mov rdx, qword [rbp + 0x6f]
mov dword [r11 + r9*4], r15d
add r15, 2
mov word [r11 + r9*2 + 0x20000], r8w
cmp r15, rbx
jb 0x14004c8f2
mov qword [rbp + 0x47], r15
mov r8, qword [rsp + 0x28]
mov rbx, qword [rbp - 0x61]
lea rax, [r15 + 4]
mov r10, qword [rbp + 0x57]
mov r13d, 0
mov rdx, qword [rbp + 0x67]
mov r11, qword [rbp + 0x6f]
mov rsi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x29]
mov r12, qword [rbp - 0x49]
cmp rax, rbx
jb 0x14004ae12
mov rdi, qword [rbp - 0x59]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
mov rax, qword [rbp + 0x7f]
sub rbx, r15
sub rdi, qword [rbp - 0x21]
add rbx, r8
sar rdi, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x8f]
add qword [rax], rdi
add rsp, 0xf8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x140142248]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rdi, qword [rbp + 0xc0]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov rbx, r9
mov r9, qword [rbp + 0xa8]
mov r12, rdx
mov r15, qword [rbp + 0xc8]
mov r11d, 1
mov rsi, qword [rbp + 0xd0]
mov r10, r8
mov qword [rbp - 0x40], rcx
mov ecx, dword [r9 + 8]
shl r11, cl
mov rcx, qword [r9 + 0x10]
sub r11, 0x10
mov qword [rbp - 0x48], rcx
lea rcx, [rax + r12]
mov qword [rsp], r8
mov r8, qword [rbp + 0xb8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xb0]
mov qword [rbp - 0x30], rdi
mov rdi, qword [rdi]
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x10], rbx
mov qword [rbp - 0x60], r9
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x80], r8
mov qword [rsp + 0x30], r15
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x70], r11
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x18], rdi
cmp rax, 8
jb 0x14004cadf
lea rax, [rcx - 7]
mov qword [rbp - 0x58], rax
jmp 0x14004cae3
mov qword [rbp - 0x58], r12
cmp dword [r9 + 4], 9
mov eax, 0x200
mov r14d, 0x40
cmovl eax, r14d
mov qword [rbp - 0x50], rax
add rax, r12
mov qword [rsp + 0x48], rax
lea rax, [r12 + 8]
cmp rax, rcx
jae 0x14004dc89
movdqa xmm2, xmmword [0x140139f60]
mov eax, 3
movdqa xmm4, xmmword [0x140139fa0]
movabs rsi, 0x35a7bd1e35a7bd00
mov qword [rsp + 0x138], r13
movd xmm3, eax
nop dword [rax]
mov rdi, qword [rdx + 0x58]
mov r9, rcx
mov rcx, qword [rsp + 0x28]
sub r9, r12
cmp r12, r11
mov qword [rsp + 8], r9
mov r13, r11
mov qword [rsp + 0x40], 0x7e4
cmovb r13, r12
mov qword [rsp + 0x38], rdi
xor r11d, r11d
mov r12, rbx
and r12, qword [rsp + 0x28]
xor r15d, r15d
movsxd rbx, dword [r8]
add r10, r12
mov r8, qword [rsp + 0x10]
sub rcx, rbx
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x58], r11
mov rax, qword [r10]
movzx r14d, byte [r10]
imul rax, rsi
mov qword [rsp + 0x60], r11
mov esi, 0x7e4
shr rax, 0x2c
mov dword [rsp + 0x70], r11d
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, qword [rsp + 0x28]
jae 0x14004cc92
mov r11, qword [rsp]
mov eax, r8d
and rcx, rax
add r11, rcx
movzx eax, byte [r11]
cmp r14d, eax
jne 0x14004cc92
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r10
test rax, rax
je 0x14004cc13
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r11]
cmp r9, r8
jne 0x14004cc7c
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14004cbf0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004cc33
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14004cc33
inc rcx
sub r8, 1
jne 0x14004cc20
mov rax, rcx
mov rdx, qword [rsp]
mov r8, qword [rsp + 0x10]
cmp rax, 4
jb 0x14004cc96
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x14004cc96
mov qword [rsp + 0x20], rax
mov r15, rax
mov qword [rsp + 0x58], rax
mov rsi, rcx
add rax, rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x40], rcx
movzx r14d, byte [rax + r12]
jmp 0x14004cc96
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14004cc36
mov rdx, qword [rsp]
xor eax, eax
nop dword [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x20], xmm0
add rax, 2
cmp rax, 4
jb 0x14004cca0
mov rax, qword [rsp + 0x28]
shr rax, 3
and eax, 3
mov ebx, r8d
mov rcx, qword [rbp + rax*8 - 0x20]
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rdi + rax*4]
mov rdi, qword [rsp + 0x28]
and rbx, rcx
add rbx, rdx
sub rdi, rcx
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004cdbd
test rdi, rdi
je 0x14004cdbd
cmp rdi, r13
ja 0x14004cdbd
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r10
test r8, r8
je 0x14004cd53
mov r11, rbx
sub r11, r10
nop
mov rax, qword [rdx]
mov r9, qword [rdx + r11]
cmp rax, r9
jne 0x14004d08f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004cd30
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004cd72
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x14004cd72
inc rcx
sub r8, 1
jne 0x14004cd60
mov rdx, rcx
cmp rdx, 4
jb 0x14004cdbd
bsr eax, edi
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14004cdbd
mov rax, qword [rsp]
mov r15, rdx
add rax, rdx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x58], rdx
mov rsi, r8
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x60], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x28]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004ceaf
test rdi, rdi
je 0x14004ceaf
cmp rdi, r13
ja 0x14004ceaf
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r10
test r8, r8
je 0x14004ce43
mov r11, rbx
sub r11, r10
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x14004d0a8
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004ce20
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004ce64
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004ce64
inc rcx
inc rdx
sub r8, 1
jne 0x14004ce50
mov r8, rdx
cmp r8, 4
jb 0x14004ceaf
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004ceaf
mov rax, qword [rsp]
mov r15, r8
add rax, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x58], r8
mov rsi, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x28]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004cf9f
test rdi, rdi
je 0x14004cf9f
cmp rdi, r13
ja 0x14004cf9f
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r10
test r8, r8
je 0x14004cf33
mov r11, rbx
sub r11, r10
nop dword [rax + rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r11]
cmp rax, r9
jne 0x14004d0c1
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004cf10
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004cf54
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004cf54
inc rcx
inc rdx
sub r8, 1
jne 0x14004cf40
mov r8, rdx
cmp r8, 4
jb 0x14004cf9f
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004cf9f
mov rax, qword [rsp]
mov r15, r8
add rax, r8
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x58], r8
mov rsi, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], rdi
movzx r14d, byte [rax + r12]
mov rax, qword [rbp - 8]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x10]
mov rbx, r12
mov ecx, dword [rdi + rax*4]
and r11, rcx
sub rbx, rcx
mov rcx, qword [rsp]
add r11, rcx
movzx eax, byte [r11 + r15]
cmp r14d, eax
jne 0x14004d0f7
test rbx, rbx
je 0x14004d0f7
cmp rbx, r13
ja 0x14004d0f7
mov rax, r9
xor ecx, ecx
shr rax, 3
test rax, rax
je 0x14004d023
mov r9, r11
sub r9, r10
nop dword [rax]
mov rdx, qword [r10]
mov r8, qword [r10 + r9]
cmp rdx, r8
jne 0x14004d0da
add r10, 8
add rcx, 8
sub rax, 1
jne 0x14004d000
mov r9, qword [rsp + 8]
mov rdx, r9
and edx, 7
je 0x14004d046
nop dword [rax + rax]
movzx eax, byte [r10]
cmp byte [rcx + r11], al
jne 0x14004d046
inc r10
inc rcx
sub rdx, 1
jne 0x14004d030
mov r8, rcx
cmp r8, 4
jb 0x14004d0f3
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
mov rcx, qword [rsp]
add rax, 0x780
cmp rsi, rax
jae 0x14004d0f7
mov rdx, r8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbx
jmp 0x14004d0fc
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004cd75
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004ce67
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004cf57
mov r9, qword [rsp + 8]
xor rdx, r8
tzcnt r8, rdx
shr r8, 3
add r8, rcx
jmp 0x14004d049
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x20]
cmp qword [rsp + 0x40], 0x7e4
mov rax, qword [rsp + 0x78]
mov dword [rdi + rax*4], r12d
jbe 0x14004daec
mov dword [rsp + 0x78], 0
mov rax, qword [rbp - 0x60]
dec r9
mov qword [rsp + 8], r9
cmp dword [rax + 4], 5
jge 0x14004d13e
lea rax, [rdx - 1]
mov rsi, r9
cmp rax, r9
cmovb rsi, rax
jmp 0x14004d140
xor esi, esi
mov r13, qword [rbp - 0x70]
lea rdi, [r12 + 1]
mov rax, qword [rsp + 0x50]
mov edx, 0x7e4
cmp rdi, r13
mov qword [rbp - 0x10], rdx
mov rdx, qword [rsp + 0x10]
mov r14d, 0x7e4
cmovb r13, rdi
mov qword [rbp - 0x20], rsi
mov rax, qword [rax + 0x58]
mov r12, rdx
mov qword [rsp + 0x38], rax
and r12, rdi
mov rax, qword [rcx + r12]
lea r11, [rcx + r12]
movzx r15d, byte [r11 + rsi]
movabs rcx, 0x35a7bd1e35a7bd00
imul rax, rcx
mov rcx, rdi
mov qword [rbp - 0x18], 0
shr rax, 0x2c
mov qword [rsp + 0x48], rdi
mov dword [rbp - 8], 0
movq xmm1, rax
mov rax, qword [rbp - 0x80]
punpcklqdq xmm1, xmm1
movsxd rbx, dword [rax]
sub rcx, rbx
cmp rcx, rdi
jae 0x14004d29a
mov r10, qword [rsp]
mov eax, edx
and rcx, rax
add r10, rcx
movzx eax, byte [r10 + rsi]
cmp r15d, eax
jne 0x14004d29a
mov rcx, r9
xor eax, eax
shr rcx, 3
mov rdx, r11
test rcx, rcx
je 0x14004d21f
nop dword [rax]
mov r9, qword [rdx]
mov r8, qword [rax + r10]
cmp r9, r8
jne 0x14004d284
add rdx, 8
add rax, 8
sub rcx, 1
jne 0x14004d200
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004d243
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r10], cl
jne 0x14004d243
inc rax
sub r8, 1
jne 0x14004d230
mov rcx, rax
mov rdx, qword [rsp + 0x10]
cmp rcx, 4
jb 0x14004d29a
imul rax, rcx, 0x87
add rax, 0x78f
cmp rax, r14
jbe 0x14004d29a
mov qword [rbp - 0x18], rbx
mov r14, rax
mov rbx, qword [rsp]
mov rsi, rcx
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x20], rcx
lea rax, [rbx + rcx]
movzx r15d, byte [rax + r12]
jmp 0x14004d29e
xor r8, r9
mov r9, qword [rsp + 8]
tzcnt rcx, r8
shr rcx, 3
add rcx, rax
jmp 0x14004d246
mov rbx, qword [rsp]
xor eax, eax
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8], xmm0
add rax, 2
cmp rax, 4
jb 0x14004d2a0
mov rax, rdi
shr rax, 3
and eax, 3
mov rcx, qword [rbp + rax*8]
mov rax, qword [rbp]
mov qword [rbp - 0x68], rcx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + rax*4]
mov eax, edx
sub rdi, rcx
and rcx, rax
add rbx, rcx
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x14004d3b5
test rdi, rdi
je 0x14004d3b5
cmp rdi, r13
ja 0x14004d3b5
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r11
test r8, r8
je 0x14004d353
mov r10, rbx
sub r10, r11
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14004d580
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004d330
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004d372
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x14004d372
inc rcx
sub r8, 1
jne 0x14004d360
mov rdx, rcx
cmp rdx, 4
jb 0x14004d3b5
bsr eax, edi
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp r14, r8
jae 0x14004d3b5
mov rax, qword [rsp]
mov rsi, rdx
add rax, rdx
mov qword [rbp - 0x20], rdx
mov r14, r8
mov qword [rbp - 0x10], r8
mov qword [rbp - 0x18], rdi
movzx r15d, byte [rax + r12]
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x14004d497
test rdi, rdi
je 0x14004d497
cmp rdi, r13
ja 0x14004d497
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x14004d433
mov r10, rbx
sub r10, r11
nop dword [rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14004d599
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004d410
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004d454
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004d454
inc rcx
inc rdx
sub r8, 1
jne 0x14004d440
mov r8, rdx
cmp r8, 4
jb 0x14004d497
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp r14, rdx
jae 0x14004d497
mov rax, qword [rsp]
mov rsi, r8
add rax, r8
mov qword [rbp - 0x20], r8
mov r14, rdx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], rdi
movzx r15d, byte [rax + r12]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x48]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + rsi]
cmp r15d, eax
jne 0x14004d5cb
test rdi, rdi
je 0x14004d5cb
cmp rdi, r13
ja 0x14004d5cb
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x14004d513
mov r10, rbx
sub r10, r11
nop
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14004d5b2
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004d4f0
mov r9, qword [rsp + 8]
mov r8, r9
and r8d, 7
je 0x14004d534
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004d534
inc rcx
inc rdx
sub r8, 1
jne 0x14004d520
mov r8, rdx
cmp r8, 4
jb 0x14004d5cb
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp r14, rdx
jae 0x14004d5cb
mov rax, qword [rsp]
mov rsi, r8
add rax, r8
mov qword [rbp - 0x20], r8
mov r14, rdx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], rdi
movzx r15d, byte [rax + r12]
mov r12, rdx
jmp 0x14004d5cf
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004d375
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004d457
xor rax, r9
mov r9, qword [rsp + 8]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004d537
mov r12, qword [rbp - 0x10]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x38]
mov r10, qword [rsp]
mov rdi, qword [rsp + 0x48]
mov rbx, rdi
mov ecx, dword [rcx + rax*4]
mov eax, dword [rsp + 0x10]
sub rbx, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + rsi]
cmp r15d, eax
jne 0x14004d6a9
test rbx, rbx
je 0x14004d6a9
cmp rbx, r13
ja 0x14004d6a9
mov rdx, r9
xor ecx, ecx
shr rdx, 3
test rdx, rdx
je 0x14004d653
mov r9, r10
sub r9, r11
nop dword [rax + rax]
mov rax, qword [r11]
mov r8, qword [r11 + r9]
cmp rax, r8
jne 0x14004d722
add r11, 8
add rcx, 8
sub rdx, 1
jne 0x14004d630
mov r9, qword [rsp + 8]
mov rdx, r9
and edx, 7
je 0x14004d676
nop dword [rax + rax]
movzx eax, byte [r11]
cmp byte [rcx + r10], al
jne 0x14004d676
inc r11
inc rcx
sub rdx, 1
jne 0x14004d660
mov rdx, rcx
cmp rdx, 4
jb 0x14004d6a9
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp r14, rax
jae 0x14004d6a9
mov qword [rbp - 0x20], rdx
mov r12, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], rbx
mov rax, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x18]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x40]
add rax, 0xaf
cmp r12, rax
jb 0x14004d742
mov ecx, dword [rsp + 0x78]
inc r10
movups xmm0, xmmword [rbp - 0x20]
inc ecx
mov r12, rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x18], r10
mov dword [rsp + 0x78], ecx
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
cmp ecx, 4
jge 0x14004d73b
lea rax, [rdi + 8]
cmp rax, qword [rbp - 0x78]
jae 0x14004d73b
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], rdx
jmp 0x14004d11c
mov r9, qword [rsp + 8]
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004d679
mov r13, qword [rsp + 0x58]
jmp 0x14004d74c
mov r12, qword [rsp + 0x28]
mov r13, qword [rsp + 0x20]
mov r9, qword [rbp - 0x70]
lea r11, [r12 + r13*2]
add r11, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rbx, qword [rsp + 0x60]
add rax, r12
cmp rax, r9
mov qword [rsp + 0x48], r11
mov r11, qword [rbp - 0x80]
cmovb r9, rax
cmp rbx, r9
ja 0x14004d7f7
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r8, dword [r11 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14004d797
xor r8d, r8d
jmp 0x14004d7fb
cmp rbx, r8
jne 0x14004d7a4
mov r8d, 1
jmp 0x14004d7fb
cmp rdx, 7
jae 0x14004d7bf
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14004d7fb
cmp rcx, 7
jae 0x14004d7d7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14004d7fb
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x14004d7e8
mov r8d, 2
jmp 0x14004d7fb
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14004d7fb
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14004d823
test r8, r8
je 0x14004d823
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [r11 + 4]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [r11 + 4], eax
mov eax, dword [rsp + 0x60]
mov dword [r11], eax
mov rcx, qword [rsp + 0x30]
mov esi, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x58]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r10d
mov dword [rcx + 4], eax
mov rcx, qword [rbp - 0x60]
mov r15d, dword [rcx + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004d856
xor edi, edi
jmp 0x14004d8cf
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
mov r10, qword [rsp + 0x18]
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rsp + 0x30]
lea r9d, [r14 + rsi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], edi
cmp r10, 6
jae 0x14004d8fa
mov eax, 0x17
jmp 0x14004d96a
cmp r10, 0x82
jae 0x14004d924
lea eax, [r10 - 2]
add r10, 0xfffffffffffffffe
bsr ecx, eax
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14004d96a
cmp r10, 0x842
jae 0x14004d941
lea eax, [r10 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14004d96a
mov eax, 0x17
cmp r10, 0x1842
jae 0x14004d955
lea r10d, [rax - 2]
jmp 0x14004d96a
cmp r10, 0x5842
jae 0x14004d966
mov r10d, 0x16
jmp 0x14004d96a
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004d976
sub dx, 2
jmp 0x14004d9b4
cmp rdx, 0x86
jae 0x14004d99b
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14004d9b4
cmp rdx, 0x846
jae 0x14004d9b1
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14004d9b4
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14004d9f3
cmp r10w, 8
jae 0x14004d9f3
cmp dx, 0x10
jae 0x14004d9f3
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004da25
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rsp + 0x18]
lea rdx, [r12 + 2]
mov r8, qword [rbp - 0x58]
xor edi, edi
mov rcx, qword [rbp - 0x40]
mov word [r15 + 0xc], r9w
add r15, 0x10
lea r9, [r12 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x18], rdi
add qword [rcx], rax
mov rax, r13
cmp r9, r8
mov qword [rbp - 0x68], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x14004da89
lea rax, [rbx*4]
sub r12, rax
add r12, r13
cmp rdx, r12
cmova r12, rdx
cmp r8, r12
mov rdx, r12
cmovb rdx, r8
cmp rdx, r8
jae 0x14004dadf
mov r9, qword [rsp]
movabs r15, 0x35a7bd1e35a7bd00
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x10]
and rax, rdx
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r15
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rdi + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x14004daa1
mov r9, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x18]
mov r15, qword [rsp + 0x30]
mov r12, r9
mov qword [rsp + 0x28], r9
jmp 0x14004dc4b
mov rdi, qword [rsp + 0x18]
inc r12
mov r11, qword [rsp + 0x48]
inc rdi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x28], r12
cmp r12, r11
jbe 0x14004dc46
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x78]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r12, rax
jbe 0x14004dbb9
mov rbx, qword [rsp + 0x10]
lea rax, [r12 + 0x10]
cmp rax, rdx
movabs rsi, 0x35a7bd1e35a7bd00
cmovb rdx, rax
cmp r12, rdx
jae 0x14004dbaf
add rdi, 4
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffc
add rdi, rax
mov qword [rsp + 0x18], rdi
mov rdi, qword [rsp + 0x50]
nop word [rax + rax]
mov rax, rbx
and rax, r12
mov rcx, qword [rax + rcx]
mov eax, r12d
imul rcx, rsi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rdi + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], r12d
add r12, 4
mov rcx, qword [rsp]
cmp r12, rdx
jb 0x14004db70
mov rdi, qword [rsp + 0x18]
mov qword [rsp + 0x28], r12
mov r15, qword [rsp + 0x30]
jmp 0x14004dc5a
lea rax, [r12 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x14004dc46
mov rbx, qword [rsp + 0x10]
add rdi, 2
mov rax, rdx
movabs rsi, 0x35a7bd1e35a7bd00
sub rax, r12
dec rax
and rax, 0xfffffffffffffffe
add rdi, rax
mov qword [rsp + 0x18], rdi
mov rdi, qword [rsp + 0x50]
nop word [rax + rax]
mov rax, rbx
and rax, r12
mov rcx, qword [rax + rcx]
mov eax, r12d
imul rcx, rsi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rdi + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], r12d
add r12, 2
mov rcx, qword [rsp]
cmp r12, rdx
jb 0x14004dc00
mov rdi, qword [rsp + 0x18]
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x28], r12
jmp 0x14004dc5a
mov r15, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x10]
movabs rsi, 0x35a7bd1e35a7bd00
mov rcx, qword [rbp - 0x78]
lea rax, [r12 + 8]
mov r10, qword [rsp]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rbp - 0x80]
mov r11, qword [rbp - 0x70]
cmp rax, rcx
jb 0x14004cb40
mov rsi, qword [rbp - 0x38]
mov r13, qword [rsp + 0x138]
sub r15, qword [rbp - 0x28]
sub rcx, r12
mov rax, qword [rbp - 0x30]
add rcx, rdi
sar r15, 4
mov qword [rax], rcx
add qword [rsi], r15
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400a3970
add rsp, 0x140
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r13
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov r15, qword [rbp + 0x7f]
mov rax, rcx
mov r11, r8
mov qword [rsp + 0x20], r15
mov r8, qword [rbp + 0x5f]
mov r13d, 1
mov rsi, rdx
mov qword [rbp - 0x31], r15
add rdx, rax
mov qword [rbp - 0x51], rdx
mov ecx, dword [r8 + 8]
shl r13, cl
mov rcx, qword [r8 + 0x10]
sub r13, 0x10
mov qword [rbp - 0x39], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rsp + 0x18], r13
mov r10, qword [rcx]
mov qword [rsp], r10
cmp rax, 8
jb 0x14004dd3c
lea rax, [rdx - 7]
mov qword [rbp - 0x49], rax
jmp 0x14004dd40
mov qword [rbp - 0x49], rsi
cmp dword [r8 + 4], 9
mov eax, 0x200
mov ebx, 0x40
cmovl eax, ebx
mov qword [rbp - 0x41], rax
add rax, rsi
mov qword [rsp + 0x28], rax
lea rax, [rsi + 8]
cmp rax, rdx
jae 0x14004ee75
movdqa xmm2, xmmword [0x140139f60]
mov eax, 3
mov rbx, qword [rbp + 0x67]
movdqa xmm3, xmmword [0x140139f80]
mov rcx, qword [rbp + 0x6f]
mov qword [rsp + 0xd8], rdi
movabs rdi, 0xbd1e35a7bd000000
movd xmm0, eax
mov qword [rsp + 0xd0], r12
psllq xmm2, xmm0
mov qword [rsp + 0xc8], r14
nop dword [rax]
nop word [rax + rax]
mov r10, rdx
mov qword [rsp + 0x10], 0x7e4
sub r10, rsi
mov rdx, r13
cmp rsi, r13
mov qword [rbp + 0x57], r10
mov r13, qword [rbx + 0x58]
mov r12, rsi
cmovb rdx, rsi
xor r14d, r14d
and r12, r9
mov qword [rbp + 0x37], r14
mov rax, qword [r12 + r11]
lea r8, [r12 + r11]
imul rax, rdi
movsxd rdi, dword [rcx]
xor r15d, r15d
shr rax, 0x30
mov rcx, rsi
sub rcx, rdi
mov qword [rbp - 0x71], r14
mov esi, 0x7e4
mov qword [rbp - 0x69], r14
movzx r14d, byte [r12 + r11]
movq xmm1, rax
mov qword [rbp + 0x7f], rdx
punpcklqdq xmm1, xmm1
mov qword [rsp + 0x30], r12
mov dword [rbp - 0x59], r15d
cmp rcx, qword [rbp + 0x3f]
jae 0x14004df00
mov ebx, r9d
and rbx, rcx
add rbx, r11
movzx eax, byte [rbx]
cmp r14d, eax
jne 0x14004df00
mov r9, r10
xor ecx, ecx
shr r9, 3
mov rdx, r8
test r9, r9
je 0x14004de92
mov r11, rbx
sub r11, r8
nop dword [rax + rax]
mov r10, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r10, rax
jne 0x14004e0f4
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004de70
mov r10, qword [rbp + 0x57]
mov r9, r10
and r9d, 7
je 0x14004deb2
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x14004deb2
inc rcx
sub r9, 1
jne 0x14004dea0
mov rax, rcx
mov r11, qword [rbp + 0x47]
mov rdx, qword [rbp + 0x7f]
cmp rax, 4
jb 0x14004df00
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x14004df00
mov qword [rbp + 0x37], rax
mov r15, rax
mov qword [rbp - 0x71], rax
mov rsi, rcx
add rax, r12
mov qword [rbp - 0x69], rdi
mov qword [rsp + 0x10], rcx
movzx r14d, byte [rax + r11]
nop word [rax + rax]
mov rax, qword [rbp + 0x3f]
movdqa xmm0, xmm2
mov rdi, qword [rbp + 0x3f]
paddq xmm0, xmm1
shr rax, 3
pand xmm0, xmm3
and eax, 1
movdqu xmmword [rsp + 0x58], xmm0
mov r12, qword [rsp + rax*8 + 0x58]
movq rax, xmm0
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x4f]
sub rdi, r9
and r9, rax
lea rax, [r9 + r15]
movzx ecx, byte [rax + r11]
cmp r14d, ecx
jne 0x14004e00f
test rdi, rdi
je 0x14004e00f
cmp rdi, rdx
ja 0x14004e00f
lea rbx, [r9 + r11]
xor ecx, ecx
mov r9, r10
mov rdx, r8
shr r9, 3
test r9, r9
je 0x14004dfa2
mov r11, rbx
sub r11, r8
nop dword [rax + rax]
mov r10, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r10, rax
jne 0x14004e10c
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x14004df80
mov r10, qword [rbp + 0x57]
mov r9, r10
and r9d, 7
je 0x14004dfc2
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x14004dfc2
inc rcx
sub r9, 1
jne 0x14004dfb0
mov rdx, rcx
mov r11, qword [rbp + 0x47]
cmp rdx, 4
jb 0x14004e00f
bsr eax, edi
imul r9, rdx, 0x87
imul ecx, eax, 0x1e
sub r9, rcx
add r9, 0x780
cmp rsi, r9
jae 0x14004e00f
mov rax, qword [rsp + 0x30]
mov r15, rdx
add rax, rdx
mov qword [rbp + 0x37], rdx
mov qword [rbp - 0x71], rdx
mov rsi, r9
mov qword [rsp + 0x10], r9
mov qword [rbp - 0x69], rdi
movzx r14d, byte [rax + r11]
mov rax, qword [rbp - 0x79]
mov rbx, qword [rbp + 0x3f]
mov edx, dword [r13 + rax*4]
mov eax, dword [rbp + 0x4f]
sub rbx, rdx
and rdx, rax
lea rax, [rdx + r15]
movzx ecx, byte [rax + r11]
cmp r14d, ecx
mov r14, qword [rbp + 0x7f]
jne 0x14004e135
test rbx, rbx
je 0x14004e135
cmp rbx, r14
ja 0x14004e135
add r11, rdx
xor ecx, ecx
mov rdx, r10
shr rdx, 3
test rdx, rdx
je 0x14004e092
mov r10, r11
sub r10, r8
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [r8]
mov rax, qword [r10 + r8]
cmp r9, rax
jne 0x14004e124
add r8, 8
add rcx, 8
sub rdx, 1
jne 0x14004e070
mov r10, qword [rbp + 0x57]
mov rdx, r10
and edx, 7
je 0x14004e0b6
nop word [rax + rax]
movzx eax, byte [r8]
cmp byte [rcx + r11], al
jne 0x14004e0b6
inc r8
inc rcx
sub rdx, 1
jne 0x14004e0a0
mov rdx, rcx
mov r11, qword [rbp + 0x47]
cmp rdx, 4
jb 0x14004e135
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x14004e135
mov r10, rdx
mov qword [rbp + 0x37], rdx
mov qword [rbp - 0x71], rdx
mov qword [rsp + 0x10], rax
mov qword [rbp - 0x69], rbx
jmp 0x14004e139
xor rax, r10
mov r10, qword [rbp + 0x57]
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14004deb5
xor rax, r10
mov r10, qword [rbp + 0x57]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004dfc5
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004e0b9
mov r10, qword [rbp + 0x37]
mov r15, qword [rbp + 0x3f]
mov rdi, qword [rbp + 0x67]
mov dword [r13 + r12*4], r15d
mov r13, qword [rbp + 0x57]
test r15b, 3
jne 0x14004e2f3
cmp r13, 0x20
jb 0x14004e2f3
mov rbx, qword [rdi + 0x70]
cmp rbx, r15
ja 0x14004e2eb
mov r12, qword [rbp + 0x4f]
lea rsi, [rbx + 0x20]
mov r8d, dword [rdi + 0x60]
mov rax, rbx
and rax, r12
mov r9d, r8d
imul r8d, dword [rdi + 0x7c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, rsi
and rax, r12
inc edx
imul edx, dword [rdi + 0x80]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x60], eax
cmp r9d, 0x1000000
jae 0x14004e2da
mov rax, qword [rdi + 0x68]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r15
jne 0x14004e2d6
mov eax, 0xffffffff
cmp r10, rax
je 0x14004e2d6
mov edi, r15d
sub edi, r10d
cmp rdi, r14
ja 0x14004e2d2
mov rdx, qword [rsp + 0x30]
and r10, r12
mov r8, r13
add rdx, r11
add r10, r11
shr r8, 3
xor ecx, ecx
test r8, r8
je 0x14004e23e
mov r11, r10
sub r11, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r11 + rdx]
cmp r9, rax
jne 0x14004e2b7
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004e220
mov r8, r13
and r8d, 7
je 0x14004e263
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x14004e263
inc rcx
sub r8, 1
jne 0x14004e250
mov rdx, rcx
mov r10, qword [rbp + 0x37]
cmp rdx, 4
jb 0x14004e2c8
cmp rdx, r10
jbe 0x14004e2c8
mov r11, qword [rbp + 0x47]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x10]
jbe 0x14004e2cc
mov qword [rbp - 0x69], rdi
mov r10, rdx
mov rdi, qword [rbp + 0x67]
mov qword [rbp + 0x37], rdx
mov qword [rbp - 0x71], rdx
mov qword [rsp + 0x10], rax
mov dword [rbp - 0x59], 0
jmp 0x14004e2da
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004e266
mov r11, qword [rbp + 0x47]
mov rdi, qword [rbp + 0x67]
jmp 0x14004e2da
mov rdi, qword [rbp + 0x67]
mov r10, qword [rbp + 0x37]
add rbx, 4
add rsi, 4
cmp rbx, r15
jbe 0x14004e173
lea rax, [r15 + 4]
mov qword [rdi + 0x70], rax
cmp qword [rsp + 0x10], 0x7e4
lea r12, [r15 + 1]
mov qword [rsp + 0x30], r12
jbe 0x14004ecc0
mov dword [rbp + 0x7f], 0
mov rax, qword [rbp + 0x5f]
dec r13
mov qword [rbp + 0x57], r13
cmp dword [rax + 4], 5
jge 0x14004e333
lea rax, [r10 - 1]
mov r9, r13
cmp rax, r13
cmovb r9, rax
jmp 0x14004e336
xor r9d, r9d
mov r10, qword [rsp + 0x18]
mov r8d, 0x7e4
mov rcx, qword [rbp + 0x4f]
cmp r12, r10
mov r13, qword [rdi + 0x58]
mov r14, r12
cmovb r10, r12
mov qword [rsp + 0x48], r8
and r14, rcx
mov qword [rsp + 0x38], r9
lea rdx, [r14 + r11]
mov qword [rsp + 8], r9
movabs r8, 0xbd1e35a7bd000000
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x28], r10
mov r15, r9
lea rax, [r14 + r9]
mov qword [rsp + 0x58], rdx
movzx esi, byte [rax + r11]
mov edi, 0x7e4
mov rax, qword [rdx]
imul rax, r8
mov r8, r12
mov dword [rsp + 0x50], 0
shr rax, 0x30
movq xmm0, rax
mov rax, qword [rbp + 0x6f]
punpcklqdq xmm0, xmm0
movsxd rbx, dword [rax]
sub r8, rbx
cmp r8, r12
jae 0x14004e4a0
mov eax, ecx
and r8, rax
lea rax, [r8 + r9]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x14004e4a0
mov rdi, qword [rbp + 0x57]
add r11, r8
mov r8, rdi
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x14004e41e
mov r10, r11
sub r10, rdx
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14004e69f
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004e400
mov r8, rdi
and r8d, 7
je 0x14004e443
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14004e443
inc rcx
sub r8, 1
jne 0x14004e430
mov rax, rcx
mov r11, qword [rbp + 0x47]
mov edi, 0x7e4
mov rdx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x28]
cmp rax, 4
jb 0x14004e4a0
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rdi
jbe 0x14004e4a0
mov qword [rsp + 8], rax
mov r15, rax
mov qword [rsp + 0x38], rax
mov rdi, rcx
add rax, r14
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
movzx esi, byte [rax + r11]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x30]
mov rax, r12
shr rax, 3
paddq xmm0, xmm2
and eax, 1
pand xmm0, xmm3
movdqu xmmword [rbp - 0x29], xmm0
mov r12, qword [rbp + rax*8 - 0x29]
movq rax, xmm0
mov r8d, dword [r13 + rax*4]
mov eax, dword [rbp + 0x4f]
sub rbx, r8
and r8, rax
lea rax, [r8 + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x14004e5af
test rbx, rbx
je 0x14004e5af
cmp rbx, r10
ja 0x14004e5af
mov rax, qword [rbp + 0x57]
add r11, r8
mov r8, rax
xor ecx, ecx
shr r8, 3
test r8, r8
je 0x14004e542
mov r10, r11
sub r10, qword [rsp + 0x58]
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x14004e6b3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004e520
mov rax, qword [rbp + 0x57]
mov r8, rax
and r8d, 7
je 0x14004e563
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x14004e563
inc rcx
sub r8, 1
jne 0x14004e550
mov rdx, rcx
mov r11, qword [rbp + 0x47]
cmp rdx, 4
jb 0x14004e5af
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rdi, r8
jae 0x14004e5af
lea rax, [rdx + r14]
mov qword [rsp + 8], rdx
movzx esi, byte [rax + r11]
mov r15, rdx
mov qword [rsp + 0x38], rdx
mov rdi, r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rbx
mov rax, qword [rbp - 0x21]
mov r10, qword [rbp + 0x4f]
mov rbx, qword [rsp + 0x30]
mov edx, r10d
mov ecx, dword [r13 + rax*4]
and rdx, rcx
sub rbx, rcx
lea rax, [rdx + r15]
movzx ecx, byte [rax + r11]
cmp esi, ecx
jne 0x14004e6d8
test rbx, rbx
je 0x14004e6d8
cmp rbx, qword [rsp + 0x28]
ja 0x14004e6d8
mov rsi, qword [rbp + 0x57]
add r11, rdx
mov rax, qword [rsp + 0x58]
mov r8, rsi
shr r8, 3
xor edx, edx
mov rcx, rax
test r8, r8
je 0x14004e63e
mov r10, r11
sub r10, rax
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [r10 + rcx]
cmp r9, rax
jne 0x14004e6c7
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004e620
mov r8, rsi
and r8d, 7
je 0x14004e65c
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14004e65c
inc rcx
inc rdx
sub r8, 1
jne 0x14004e647
mov r8, rdx
mov r11, qword [rbp + 0x47]
mov r10, qword [rbp + 0x4f]
cmp r8, 4
jb 0x14004e6d8
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, r8, 0x87
sub rax, rcx
add rax, 0x780
cmp rdi, rax
jae 0x14004e6d8
mov r14, r8
mov qword [rsp + 0x38], r8
mov r15, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
jmp 0x14004e6e2
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14004e446
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004e566
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004e65f
mov r14, qword [rsp + 8]
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov rdi, qword [rbp + 0x67]
mov dword [r13 + r12*4], eax
mov r12, rax
mov r13, qword [rbp + 0x57]
test r12b, 3
jne 0x14004e89e
cmp r13, 0x20
jb 0x14004e89e
mov rbx, qword [rdi + 0x70]
cmp rbx, rax
ja 0x14004e895
lea rsi, [rbx + 0x20]
nop dword [rax]
mov r8d, dword [rdi + 0x60]
mov rax, rbx
and rax, r10
mov r9d, r8d
imul r8d, dword [rdi + 0x7c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, rsi
and rax, r10
inc edx
imul edx, dword [rdi + 0x80]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x60], eax
cmp r9d, 0x1000000
jae 0x14004e87f
mov rax, qword [rdi + 0x68]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r12
jne 0x14004e87b
mov eax, 0xffffffff
cmp r10, rax
je 0x14004e87b
mov edi, r12d
sub edi, r10d
cmp rdi, qword [rsp + 0x28]
ja 0x14004e877
and r10, qword [rbp + 0x4f]
mov r8, r13
mov rcx, qword [rsp + 0x58]
add r10, r11
shr r8, 3
xor eax, eax
mov rdx, rcx
test r8, r8
je 0x14004e7ee
mov r11, r10
sub r11, rcx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [r11 + rdx]
cmp r9, rcx
jne 0x14004e862
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14004e7d0
mov r8, r13
and r8d, 7
je 0x14004e813
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x14004e813
inc rax
sub r8, 1
jne 0x14004e800
mov rdx, rax
cmp rdx, 4
jb 0x14004e873
cmp rdx, r14
jbe 0x14004e873
mov r11, qword [rbp + 0x47]
mov r10, qword [rbp + 0x4f]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r15
jbe 0x14004e85c
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdi
mov r15, rax
mov dword [rsp + 0x50], 0
mov rdi, qword [rbp + 0x67]
jmp 0x14004e87f
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14004e816
mov r11, qword [rbp + 0x47]
mov rdi, qword [rbp + 0x67]
mov r10, qword [rbp + 0x4f]
add rbx, 4
add rsi, 4
cmp rbx, r12
jbe 0x14004e720
mov qword [rsp + 0x48], r15
lea rax, [r12 + 4]
mov qword [rdi + 0x70], rax
mov rax, qword [rsp + 0x10]
mov r10, qword [rsp]
add rax, 0xaf
cmp r15, rax
mov r15, qword [rbp + 0x3f]
jb 0x14004e912
mov ecx, dword [rbp + 0x7f]
inc r15
movups xmm0, xmmword [rsp + 0x38]
inc ecx
inc r12
movups xmm1, xmmword [rsp + 0x48]
inc r10
mov qword [rbp + 0x3f], r15
mov qword [rsp + 0x30], r12
mov qword [rsp], r10
mov dword [rbp + 0x7f], ecx
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm1
cmp ecx, 4
jge 0x14004e90c
lea rax, [r12 + 7]
cmp rax, qword [rbp - 0x51]
jae 0x14004e90c
mov rax, qword [rbp - 0x61]
mov r10, qword [rbp - 0x71]
mov qword [rsp + 0x10], rax
mov qword [rbp + 0x37], r10
jmp 0x14004e312
mov r12, qword [rbp - 0x71]
jmp 0x14004e916
mov r12, qword [rbp + 0x37]
mov rax, qword [rbp - 0x41]
mov r13, qword [rsp + 0x18]
mov rbx, qword [rbp - 0x69]
mov r9, r13
lea r11, [rax + r12*2]
mov rax, qword [rbp - 0x39]
add r11, r15
add rax, r15
cmp rax, r13
mov qword [rsp + 0x28], r11
mov r11, qword [rbp + 0x6f]
cmovb r9, rax
cmp rbx, r9
ja 0x14004e9c7
movsxd rax, dword [r11]
lea rcx, [rbx + 3]
movsxd r8, dword [r11 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14004e967
xor r8d, r8d
jmp 0x14004e9cb
cmp rbx, r8
jne 0x14004e974
mov r8d, 1
jmp 0x14004e9cb
cmp rdx, 7
jae 0x14004e98f
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14004e9cb
cmp rcx, 7
jae 0x14004e9a7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14004e9cb
movsxd rax, dword [r11 + 8]
cmp rbx, rax
jne 0x14004e9b8
mov r8d, 2
jmp 0x14004e9cb
movsxd rax, dword [r11 + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14004e9cb
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14004e9f2
test r8, r8
je 0x14004e9f2
mov eax, dword [r11 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [r11 + 4]
mov dword [r11 + 8], eax
mov eax, dword [r11]
mov dword [r11 + 4], eax
mov eax, dword [rbp - 0x69]
mov dword [r11], eax
mov rcx, qword [rsp + 0x20]
mov esi, dword [rbp - 0x59]
mov r14d, dword [rbp - 0x71]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r10d
mov dword [rcx + 4], eax
mov rcx, qword [rbp + 0x5f]
mov r15d, dword [rcx + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14004ea23
xor edi, edi
jmp 0x14004ea9b
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
sub rdi, rax
shl r8, cl
add r8w, 0x10
shr rdi, cl
mov eax, 1
shl ax, cl
dec ax
and ax, r10w
mov r10, qword [rsp]
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rsp + 0x20]
lea r9d, [r14 + rsi]
mov eax, 0x3ff
movsxd rdx, r9d
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], edi
cmp r10, 6
jae 0x14004eac6
mov eax, 0x17
jmp 0x14004eb36
cmp r10, 0x82
jae 0x14004eaf0
lea eax, [r10 - 2]
add r10, 0xfffffffffffffffe
bsr ecx, eax
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x14004eb36
cmp r10, 0x842
jae 0x14004eb0d
lea eax, [r10 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x14004eb36
mov eax, 0x17
cmp r10, 0x1842
jae 0x14004eb21
lea r10d, [rax - 2]
jmp 0x14004eb36
cmp r10, 0x5842
jae 0x14004eb32
mov r10d, 0x16
jmp 0x14004eb36
movzx r10d, ax
cmp rdx, 0xa
jae 0x14004eb42
sub dx, 2
jmp 0x14004eb80
cmp rdx, 0x86
jae 0x14004eb67
add rdx, 0xfffffffffffffffa
lea eax, [r9 - 6]
bsr ecx, eax
dec ecx
shr rdx, cl
add cx, 2
add cx, cx
add dx, cx
jmp 0x14004eb80
cmp rdx, 0x846
jae 0x14004eb7d
lea eax, [r9 - 0x46]
bsr edx, eax
add dx, 0xc
jmp 0x14004eb80
movzx edx, ax
movzx r9d, r10w
movzx eax, dx
and r9w, 7
and ax, 7
shl r9w, 3
or r9w, ax
test r8w, r8w
jne 0x14004ebbf
cmp r10w, 8
jae 0x14004ebbf
cmp dx, 0x10
jae 0x14004ebbf
movzx eax, r9w
or ax, 0x40
cmp dx, 8
cmovae r9w, ax
jmp 0x14004ebf1
movzx eax, r10w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, dx
shr eax, 3
mov edx, 0xc0
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, dx
add ax, cx
or r9w, ax
mov rax, qword [rsp]
xor r10d, r10d
mov rcx, qword [rbp + 0x8f]
mov r8, qword [rbp - 0x49]
mov word [r15 + 0xc], r9w
add r15, 0x10
mov qword [rsp + 0x20], r15
add qword [rcx], rax
mov rax, r12
mov rcx, qword [rbp + 0x3f]
mov qword [rsp], r10
lea r9, [r12 + rcx]
cmp r9, r8
lea rdx, [rcx + 2]
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x14004ec5d
lea rax, [rbx*4]
sub r12, rax
lea rax, [r12 + rcx]
cmp rdx, rax
mov eax, 2
cmova r12, rax
lea rdx, [rcx + r12]
cmp r8, rdx
cmovb rdx, r8
mov rbx, qword [rbp + 0x67]
cmp rdx, r8
jae 0x14004ecb4
mov r10, qword [rbp + 0x47]
movabs r13, 0xbd1e35a7bd000000
mov r11, qword [rbp + 0x4f]
nop dword [rax + rax]
mov rax, rdx
and rax, r11
mov rcx, qword [rax + r10]
mov eax, edx
imul rcx, r13
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rbx + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x14004ec80
mov r10, qword [rsp]
mov r13, qword [rsp + 0x18]
mov rsi, r9
mov qword [rbp + 0x3f], r9
jmp 0x14004ee32
mov r10, qword [rsp]
mov rsi, r12
mov r11, qword [rsp + 0x28]
inc r10
mov qword [rsp], r10
mov qword [rbp + 0x3f], r12
cmp r12, r11
jbe 0x14004ee24
mov rax, qword [rbp - 0x41]
mov rdx, qword [rbp - 0x51]
add rdx, 0xfffffffffffffff9
lea rax, [r11 + rax*4]
cmp r12, rax
jbe 0x14004ed87
mov r11, qword [rbp + 0x47]
lea rax, [r12 + 0x10]
mov r9, qword [rbp + 0x4f]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x14004ee14
add r10, 4
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffc
add r10, rax
mov qword [rsp], r10
movabs r10, 0xbd1e35a7bd000000
nop dword [rax + rax]
mov rax, rsi
and rax, r9
mov rcx, qword [rax + r11]
mov eax, esi
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], esi
add rsi, 4
cmp rsi, rdx
jb 0x14004ed40
mov rbx, qword [rbp + 0x67]
mov r10, qword [rsp]
mov r13, qword [rsp + 0x18]
mov r15, qword [rsp + 0x20]
mov qword [rbp + 0x3f], rsi
jmp 0x14004ee3a
lea rax, [r12 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r12, rdx
jae 0x14004ee24
mov r11, qword [rbp + 0x47]
add r10, 2
mov r9, qword [rbp + 0x4f]
mov rax, rdx
sub rax, r12
dec rax
and rax, 0xfffffffffffffffe
add r10, rax
mov qword [rsp], r10
movabs r10, 0xbd1e35a7bd000000
nop word [rax + rax]
mov rax, rsi
and rax, r9
mov rcx, qword [rax + r11]
mov eax, esi
imul rcx, r10
and eax, 8
shr rcx, 0x30
add ecx, eax
mov rax, qword [rdi + 0x58]
movzx ecx, cx
mov dword [rax + rcx*4], esi
add rsi, 2
cmp rsi, rdx
jb 0x14004edd0
mov rbx, qword [rbp + 0x67]
mov r10, qword [rsp]
mov r13, qword [rsp + 0x18]
mov r15, qword [rsp + 0x20]
mov qword [rbp + 0x3f], rsi
jmp 0x14004ee3a
mov rbx, qword [rbp + 0x67]
mov r13, qword [rsp + 0x18]
mov r15, qword [rsp + 0x20]
jmp 0x14004ee3a
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x18]
mov rbx, qword [rbp + 0x67]
mov r11, qword [rbp + 0x47]
mov r9, qword [rbp + 0x4f]
mov rdx, qword [rbp - 0x51]
lea rax, [rsi + 8]
mov rcx, qword [rbp + 0x6f]
movabs rdi, 0xbd1e35a7bd000000
cmp rax, rdx
jb 0x14004ddc0
mov rcx, qword [rbp + 0x77]
mov r14, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
sub r15, qword [rbp - 0x31]
sub rdx, rsi
mov rax, qword [rbp + 0x87]
add rdx, r10
sar r15, 4
mov qword [rcx], rdx
add qword [rax], r15
add rsp, 0xe0
pop r15
pop r13
pop rsi
pop rbx
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x140142248]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r15, qword [rbp + 0xc8]
mov rax, rcx
mov rcx, qword [rbp + 0xd8]
mov rbx, r9
mov r9, qword [rbp + 0xa8]
mov r13, rdx
mov r10, qword [rbp + 0xb0]
mov r12d, 1
mov rdi, qword [rbp + 0xd0]
mov r11, r8
mov qword [rbp - 0x38], rcx
mov ecx, dword [r9 + 8]
shl r12, cl
mov rcx, qword [r9 + 0x10]
sub r12, 0x10
mov qword [rsp + 0x38], rdx
mov rdx, qword [rbp + 0xc0]
mov qword [rbp - 0x40], rcx
mov rcx, r15
mov qword [rsp], r8
mov r8, qword [rbp + 0xb8]
mov rsi, qword [rdx]
mov qword [rbp - 0x20], rdx
lea rdx, [rax + r13]
mov qword [rbp - 0x28], rcx
mov qword [rsp + 8], rbx
mov qword [rbp - 0x58], r9
mov qword [rsp + 0x18], r10
mov qword [rbp - 0x68], r8
mov qword [rsp + 0x60], r15
mov qword [rbp - 0x30], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x40], rsi
mov qword [rbp - 0x60], rdx
cmp rax, 8
jb 0x14004ef75
lea rax, [rdx - 7]
mov qword [rbp - 0x50], rax
jmp 0x14004ef79
mov qword [rbp - 0x50], r13
cmp dword [r9 + 4], 9
mov eax, 0x200
mov r14d, 0x40
cmovl eax, r14d
mov qword [rbp - 0x48], rax
add rax, r13
mov qword [rsp + 0x68], rax
lea rax, [r13 + 8]
cmp rax, rdx
jae 0x1400504ae
movdqa xmm2, xmmword [0x140139f60]
mov eax, 3
movdqa xmm4, xmmword [0x140139fa0]
movabs rcx, 0x35a7bd1e35a7bd00
movd xmm3, eax
nop dword [rax]
mov r9, rdx
mov qword [rsp + 0x50], 0x7e4
sub r9, r13
mov rdx, r12
cmp r13, r12
mov qword [rsp + 0x10], r9
mov r12, qword [rsp + 0x38]
mov rdi, rbx
movsxd rbx, dword [r8]
cmovb rdx, r13
mov r13, qword [r10 + 0x58]
xor esi, esi
mov r8, qword [rsp + 8]
and rdi, r12
add r11, rdi
mov qword [rsp + 0x28], rsi
xor r15d, r15d
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
mov dword [rbp - 0x70], esi
mov esi, 0x7e4
mov rax, qword [r11]
movzx r14d, byte [r11]
imul rax, rcx
mov rcx, r12
mov qword [rsp + 0x20], rdx
shr rax, 0x2c
sub rcx, rbx
mov qword [rsp + 0x30], rdi
movq xmm1, rax
punpcklqdq xmm1, xmm1
cmp rcx, r12
jae 0x14004f126
mov r10, qword [rsp]
mov eax, r8d
and rcx, rax
add r10, rcx
movzx eax, byte [r10]
cmp r14d, eax
jne 0x14004f126
mov rax, r9
xor ecx, ecx
shr rax, 3
mov rdx, r11
test rax, rax
je 0x14004f0a3
nop
mov r9, qword [rdx]
mov r8, qword [rcx + r10]
cmp r9, r8
jne 0x14004f110
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x14004f080
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14004f0c3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14004f0c3
inc rcx
sub r8, 1
jne 0x14004f0b0
mov rax, rcx
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 8]
cmp rax, 4
jb 0x14004f126
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x14004f126
mov qword [rbp - 0x80], rbx
mov r15, rax
mov rbx, qword [rsp]
mov rsi, rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x78], rax
add rax, rbx
mov qword [rsp + 0x50], rcx
movzx r14d, byte [rax + rdi]
jmp 0x14004f12a
xor r8, r9
mov r9, qword [rsp + 0x10]
tzcnt rax, r8
shr rax, 3
add rax, rcx
jmp 0x14004f0c6
mov rbx, qword [rsp]
xor eax, eax
nop dword [rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 - 0x18], xmm0
add rax, 2
cmp rax, 4
jb 0x14004f130
mov rdi, qword [rsp + 0x38]
mov rax, r12
shr rax, 3
and eax, 3
mov r12, qword [rbp + rax*8 - 0x18]
mov rax, qword [rbp - 0x18]
mov ecx, dword [r13 + rax*4]
mov eax, r8d
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004f251
test rdi, rdi
je 0x14004f251
cmp rdi, rdx
ja 0x14004f251
mov r8, r9
xor ecx, ecx
shr r8, 3
mov rdx, r11
test r8, r8
je 0x14004f1e3
mov r10, rbx
sub r10, r11
nop dword [rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x14004f516
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004f1c0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14004f202
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rbx], al
jne 0x14004f202
inc rcx
sub r8, 1
jne 0x14004f1f0
mov rdx, rcx
cmp rdx, 4
jb 0x14004f251
bsr eax, edi
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14004f251
mov rax, qword [rsp]
mov r15, rdx
mov rcx, qword [rsp + 0x30]
add rax, rdx
mov qword [rsp + 0x28], rdx
mov rsi, r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x50], r8
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x80], rdi
mov rax, qword [rbp - 0x10]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004f348
test rdi, rdi
je 0x14004f348
cmp rdi, rdx
ja 0x14004f348
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x14004f2d3
mov r10, rbx
sub r10, r11
nop dword [rax]
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14004f52f
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004f2b0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14004f2f4
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004f2f4
inc rcx
inc rdx
sub r8, 1
jne 0x14004f2e0
mov r8, rdx
cmp r8, 4
jb 0x14004f343
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004f343
mov rax, qword [rsp]
mov r15, r8
mov rcx, qword [rsp + 0x30]
add rax, r8
mov qword [rsp + 0x28], r8
mov rsi, rdx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x50], rdx
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x80], rdi
mov rdx, qword [rsp + 0x20]
mov rax, qword [rbp - 8]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 0x38]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub rdi, rcx
and rax, rcx
add rbx, rax
movzx eax, byte [rbx + r15]
cmp r14d, eax
jne 0x14004f433
test rdi, rdi
je 0x14004f433
cmp rdi, rdx
ja 0x14004f433
mov r8, r9
xor edx, edx
shr r8, 3
mov rcx, r11
test r8, r8
je 0x14004f3c3
mov r10, rbx
sub r10, r11
nop
mov rax, qword [rcx]
mov r9, qword [rcx + r10]
cmp rax, r9
jne 0x14004f548
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004f3a0
mov r9, qword [rsp + 0x10]
mov r8, r9
and r8d, 7
je 0x14004f3e4
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + rbx], al
jne 0x14004f3e4
inc rcx
inc rdx
sub r8, 1
jne 0x14004f3d0
mov r8, rdx
cmp r8, 4
jb 0x14004f433
bsr eax, edi
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004f433
mov rax, qword [rsp]
mov r15, r8
mov rcx, qword [rsp + 0x30]
add rax, r8
mov qword [rsp + 0x28], r8
mov rsi, rdx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x50], rdx
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x80], rdi
mov rax, qword [rbp]
mov r10, qword [rsp]
mov rdi, qword [rsp + 0x38]
mov rbx, rdi
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub rbx, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r10 + r15]
cmp r14d, eax
mov r14, qword [rsp + 0x20]
jne 0x14004f575
test rbx, rbx
je 0x14004f575
cmp rbx, r14
ja 0x14004f575
mov rdx, r9
xor ecx, ecx
shr rdx, 3
test rdx, rdx
je 0x14004f4b3
mov r9, r10
sub r9, r11
nop
mov rax, qword [r11]
mov r8, qword [r11 + r9]
cmp rax, r8
jne 0x14004f561
add r11, 8
add rcx, 8
sub rdx, 1
jne 0x14004f490
mov r9, qword [rsp + 0x10]
mov rdx, r9
and edx, 7
je 0x14004f4d6
nop dword [rax + rax]
movzx eax, byte [r11]
cmp byte [rcx + r10], al
jne 0x14004f4d6
inc r11
inc rcx
sub rdx, 1
jne 0x14004f4c0
mov rdx, rcx
cmp rdx, 4
jb 0x14004f575
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x14004f575
mov r15, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x80], rbx
jmp 0x14004f57a
xor rax, r9
mov r9, qword [rsp + 0x10]
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004f205
xor rax, r9
mov r9, qword [rsp + 0x10]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004f2f7
xor rax, r9
mov r9, qword [rsp + 0x10]
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004f3e7
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004f4d9
mov r15, qword [rsp + 0x28]
mov dword [r13 + r12*4], edi
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
test r13b, 3
jne 0x14004f712
cmp r12, 0x20
jb 0x14004f712
mov rbx, qword [rdi + 0x70]
cmp rbx, r13
ja 0x14004f70a
mov r10, qword [rsp]
lea rsi, [rbx + 0x20]
mov r11, qword [rsp + 8]
nop dword [rax]
mov r8d, dword [rdi + 0x60]
mov rax, r11
and rax, rbx
mov r9d, r8d
imul r8d, dword [rdi + 0x7c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r10]
mov rax, r11
and rax, rsi
inc edx
imul edx, dword [rdi + 0x80]
movzx ecx, byte [rax + r10]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x60], eax
cmp r9d, 0x1000000
jae 0x14004f6f4
mov rax, qword [rdi + 0x68]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r13
jne 0x14004f6f4
mov eax, 0xffffffff
cmp r8, rax
je 0x14004f6f4
mov edi, r13d
sub edi, r8d
cmp rdi, r14
ja 0x14004f6ef
mov rdx, qword [rsp + 0x30]
and r11, r8
mov r8, r12
add rdx, r10
shr r8, 3
add r11, r10
xor ecx, ecx
test r8, r8
je 0x14004f67e
mov r10, r11
sub r10, rdx
nop
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14004f752
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004f660
mov r8, r12
and r8d, 7
je 0x14004f6a3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14004f6a3
inc rcx
sub r8, 1
jne 0x14004f690
mov rdx, rcx
mov r10, qword [rsp]
mov r11, qword [rsp + 8]
cmp rdx, 4
jb 0x14004f6ef
cmp rdx, r15
jbe 0x14004f6ef
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x50]
jbe 0x14004f6ef
mov r15, rdx
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x50], rax
mov dword [rbp - 0x70], 0
mov rdi, qword [rsp + 0x18]
add rbx, 4
add rsi, 4
cmp rbx, r13
jbe 0x14004f5c0
mov qword [rsp + 0x28], r15
lea rax, [r13 + 4]
mov qword [rdi + 0x70], rax
cmp qword [rsp + 0x50], 0x7e4
jbe 0x140050307
xor esi, esi
mov dword [rsp + 0x20], esi
dec r12
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x10], r12
cmp dword [rax + 4], 5
jge 0x14004f766
lea rax, [r15 - 1]
mov r9, r12
cmp rax, r12
cmovb r9, rax
mov qword [rsp + 0x30], r9
mov qword [rbp - 0x18], r9
jmp 0x14004f772
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004f6a6
mov r9, rsi
mov qword [rsp + 0x30], rsi
mov qword [rbp - 0x18], rsi
mov r10, qword [rsp + 8]
lea rbx, [r13 + 1]
mov r8, qword [rsp]
mov edx, 0x7e4
mov r13, qword [rdi + 0x58]
movabs rcx, 0x35a7bd1e35a7bd00
mov qword [rbp - 8], rdx
mov r12, r10
mov rdx, qword [rsp + 0x58]
mov r15, r9
cmp rbx, rdx
mov qword [rbp - 0x10], rsi
mov dword [rbp], esi
mov esi, 0x7e4
cmovb rdx, rbx
mov qword [rsp + 0x70], rbx
and r12, rbx
mov qword [rsp + 0x48], rdx
mov rax, qword [r8 + r12]
lea rdi, [r8 + r12]
movzx r14d, byte [r9 + rdi]
imul rax, rcx
mov rcx, rbx
mov qword [rsp + 0x68], r12
shr rax, 0x2c
movq xmm1, rax
mov rax, qword [rbp - 0x68]
punpcklqdq xmm1, xmm1
movsxd r11, dword [rax]
sub rcx, r11
cmp rcx, rbx
jae 0x14004f8d6
mov r10d, r10d
and r10, rcx
add r10, r8
movzx eax, byte [r9 + r10]
cmp r14d, eax
jne 0x14004f8db
mov rsi, qword [rsp + 0x10]
xor ecx, ecx
mov r8, rsi
mov rdx, rdi
shr r8, 3
test r8, r8
je 0x14004f84a
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004f8b9
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004f830
mov r8, rsi
and r8d, 7
je 0x14004f869
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x14004f869
inc rcx
sub r8, 1
jne 0x14004f856
mov rax, rcx
mov rdx, qword [rsp + 0x48]
mov esi, 0x7e4
cmp rax, 4
jb 0x14004f8ca
mov r10, qword [rsp + 8]
imul rcx, rax, 0x87
add rcx, 0x78f
cmp rcx, rsi
jbe 0x14004f8d0
mov qword [rbp - 0x10], r11
mov r15, rax
mov r11, qword [rsp]
mov rsi, rcx
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x18], rax
add rax, r11
mov qword [rbp - 8], rcx
movzx r14d, byte [rax + r12]
jmp 0x14004f8e3
xor rax, r9
tzcnt rax, rax
shr rax, 3
add rax, rcx
jmp 0x14004f86c
mov r11, qword [rsp]
jmp 0x14004f8de
mov r11, qword [rsp]
jmp 0x14004f8e3
mov r11, r8
jmp 0x14004f8e3
mov r11, r8
mov r10, qword [rsp + 8]
xor eax, eax
nop word [rax + rax]
movq xmm0, rax
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
psllq xmm0, xmm3
paddq xmm0, xmm1
pand xmm0, xmm4
movdqu xmmword [rbp + rax*8 + 8], xmm0
add rax, 2
cmp rax, 4
jb 0x14004f8f0
mov rax, rbx
shr rax, 3
and eax, 3
mov r12, qword [rbp + rax*8 + 8]
mov rax, qword [rbp + 8]
mov ecx, dword [r13 + rax*4]
mov eax, r10d
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r15 + r11]
cmp r14d, eax
jne 0x14004fa10
test rbx, rbx
je 0x14004fa10
cmp rbx, rdx
ja 0x14004fa10
mov rax, qword [rsp + 0x10]
xor ecx, ecx
mov r8, rax
mov rdx, rdi
shr r8, 3
test r8, r8
je 0x14004f9a3
mov r10, r11
sub r10, rdi
nop dword [rax]
mov r9, qword [rdx]
mov rax, qword [rdx + r10]
cmp r9, rax
jne 0x14004fcd8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x14004f980
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x14004f9c3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r11], al
jne 0x14004f9c3
inc rcx
sub r8, 1
jne 0x14004f9b0
mov rdx, rcx
cmp rdx, 4
jb 0x14004fa10
bsr eax, ebx
imul r8, rdx, 0x87
imul ecx, eax, 0x1e
sub r8, rcx
add r8, 0x780
cmp rsi, r8
jae 0x14004fa10
mov rax, qword [rsp]
mov r15, rdx
mov rcx, qword [rsp + 0x68]
add rax, rdx
mov qword [rsp + 0x30], rdx
mov rsi, r8
mov qword [rbp - 0x18], rdx
mov qword [rbp - 8], r8
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x10], rbx
mov rax, qword [rbp + 0x10]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x48]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r15 + r11]
cmp r14d, eax
jne 0x14004fb07
test rbx, rbx
je 0x14004fb07
cmp rbx, rdx
ja 0x14004fb07
mov rax, qword [rsp + 0x10]
xor edx, edx
mov r8, rax
mov rcx, rdi
shr r8, 3
test r8, r8
je 0x14004fa93
mov r10, r11
sub r10, rdi
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004fcec
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004fa70
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x14004fab5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14004fab5
inc rcx
inc rdx
sub r8, 1
jne 0x14004faa0
mov r8, rdx
cmp r8, 4
jb 0x14004fb02
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004fb02
mov rax, qword [rsp]
mov r15, r8
mov rcx, qword [rsp + 0x68]
add rax, r8
mov qword [rsp + 0x30], r8
mov rsi, rdx
mov qword [rbp - 0x18], r8
mov qword [rbp - 8], rdx
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x10], rbx
mov rdx, qword [rsp + 0x48]
mov rax, qword [rbp + 0x18]
mov r11, qword [rsp]
mov rbx, qword [rsp + 0x70]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub rbx, rcx
and rax, rcx
add r11, rax
movzx eax, byte [r15 + r11]
cmp r14d, eax
jne 0x14004fc02
test rbx, rbx
je 0x14004fc02
cmp rbx, rdx
ja 0x14004fc02
mov rax, qword [rsp + 0x10]
xor edx, edx
mov r8, rax
mov rcx, rdi
shr r8, 3
test r8, r8
je 0x14004fb93
mov r10, r11
sub r10, rdi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx]
mov rax, qword [rcx + r10]
cmp r9, rax
jne 0x14004fd00
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14004fb70
mov rax, qword [rsp + 0x10]
mov r8, rax
and r8d, 7
je 0x14004fbb5
nop dword [rax]
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x14004fbb5
inc rcx
inc rdx
sub r8, 1
jne 0x14004fba0
mov r8, rdx
cmp r8, 4
jb 0x14004fc02
bsr eax, ebx
imul rdx, r8, 0x87
imul ecx, eax, 0x1e
sub rdx, rcx
add rdx, 0x780
cmp rsi, rdx
jae 0x14004fc02
mov rax, qword [rsp]
mov r15, r8
mov rcx, qword [rsp + 0x68]
add rax, r8
mov qword [rsp + 0x30], r8
mov rsi, rdx
mov qword [rbp - 0x18], r8
mov qword [rbp - 8], rdx
movzx r14d, byte [rax + rcx]
mov qword [rbp - 0x10], rbx
mov rax, qword [rbp + 0x20]
mov r10, qword [rsp]
mov r11, qword [rsp + 0x70]
mov ecx, dword [r13 + rax*4]
mov eax, dword [rsp + 8]
sub r11, rcx
and rax, rcx
add r10, rax
movzx eax, byte [r15 + r10]
cmp r14d, eax
jne 0x14004fd28
test r11, r11
je 0x14004fd28
cmp r11, qword [rsp + 0x48]
ja 0x14004fd28
mov rbx, qword [rsp + 0x10]
xor ecx, ecx
mov rdx, rbx
shr rdx, 3
test rdx, rdx
je 0x14004fc7e
mov r9, r10
sub r9, rdi
nop dword [rax]
mov r8, qword [rdi]
mov rax, qword [rdi + r9]
cmp r8, rax
jne 0x14004fd14
add rdi, 8
add rcx, 8
sub rdx, 1
jne 0x14004fc60
mov rdx, rbx
and edx, 7
je 0x14004fc9b
movzx eax, byte [rdi]
cmp byte [rcx + r10], al
jne 0x14004fc9b
inc rdi
inc rcx
sub rdx, 1
jne 0x14004fc86
mov rdx, rcx
cmp rdx, 4
jb 0x14004fd28
bsr eax, r11d
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rsi, rax
jae 0x14004fd28
mov r14, rdx
mov qword [rbp - 0x18], rdx
mov r10, rax
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], r11
jmp 0x14004fd31
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004f9c6
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004fab8
xor rax, r9
tzcnt r8, rax
shr r8, 3
add r8, rdx
jmp 0x14004fbb8
xor rax, r8
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x14004fc9e
mov r14, qword [rsp + 0x30]
mov r10, qword [rbp - 8]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x18]
mov dword [r13 + r12*4], r15d
mov r12, qword [rsp + 0x10]
test r15b, 3
jne 0x14004fecc
cmp r12, 0x20
jb 0x14004fecc
mov rbx, qword [rdi + 0x70]
cmp rbx, r15
ja 0x14004fec4
mov r13, qword [rsp]
lea rsi, [rbx + 0x20]
mov r11, qword [rsp + 8]
mov r8d, dword [rdi + 0x60]
mov rax, r11
and rax, rbx
mov r9d, r8d
imul r8d, dword [rdi + 0x7c]
and r9d, 0x3fffffff
movzx edx, byte [rax + r13]
mov rax, r11
and rax, rsi
inc edx
imul edx, dword [rdi + 0x80]
movzx ecx, byte [rax + r13]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x60], eax
cmp r9d, 0x1000000
jae 0x14004feb3
mov rax, qword [rdi + 0x68]
mov r8d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r15
jne 0x14004feb3
mov eax, 0xffffffff
cmp r8, rax
je 0x14004feb3
mov edi, r15d
sub edi, r8d
cmp rdi, qword [rsp + 0x48]
ja 0x14004feae
mov rdx, qword [rsp + 0x68]
and r11, r8
mov r8, r12
add rdx, r13
shr r8, 3
add r11, r13
xor eax, eax
test r8, r8
je 0x14004fe3e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rcx, qword [rdx + r10]
cmp r9, rcx
jne 0x14004ff38
add rdx, 8
add rax, 8
sub r8, 1
jne 0x14004fe20
mov r8, r12
and r8d, 7
je 0x14004fe63
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
cmp byte [rax + r11], cl
jne 0x14004fe63
inc rax
sub r8, 1
jne 0x14004fe50
mov rdx, rax
mov r10, qword [rbp - 8]
mov r11, qword [rsp + 8]
cmp rdx, 4
jb 0x14004feae
cmp rdx, r14
jbe 0x14004feae
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r10
jbe 0x14004feae
mov r14, rdx
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rdi
mov r10, rax
mov qword [rbp - 8], rax
mov dword [rbp], 0
mov rdi, qword [rsp + 0x18]
add rbx, 4
add rsi, 4
cmp rbx, r15
jbe 0x14004fd73
lea rax, [r15 + 4]
mov qword [rdi + 0x70], rax
mov rax, qword [rsp + 0x50]
add rax, 0xaf
cmp r10, rax
mov r10, qword [rsp + 0x40]
jb 0x14004ff58
mov ecx, dword [rsp + 0x20]
inc r10
movups xmm0, xmmword [rbp - 0x18]
inc ecx
mov r13, r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x20], ecx
movups xmm1, xmmword [rbp - 8]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp ecx, 4
jge 0x14004ff4c
lea rax, [r15 + 8]
cmp rax, qword [rbp - 0x60]
jae 0x14004ff4c
mov rax, qword [rbp - 0x78]
dec r12
mov r15, qword [rsp + 0x78]
xor esi, esi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], r15
jmp 0x14004f72a
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x14004fe66
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x28], r11
jmp 0x14004ff62
mov r13, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov rax, qword [rbp - 0x40]
lea r12, [r11*2]
mov rbx, qword [rbp - 0x80]
add r12, r13
add r12, qword [rbp - 0x48]
add rax, r13
mov rdi, qword [rbp - 0x68]
mov qword [rsp + 0x68], r12
mov r12, qword [rsp + 0x58]
cmp rax, r12
mov r9, r12
cmovb r9, rax
cmp rbx, r9
ja 0x140050017
movsxd rax, dword [rdi]
lea rcx, [rbx + 3]
movsxd r8, dword [rdi + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rbx, rax
jne 0x14004ffb7
xor r8d, r8d
jmp 0x14005001b
cmp rbx, r8
jne 0x14004ffc4
mov r8d, 1
jmp 0x14005001b
cmp rdx, 7
jae 0x14004ffdf
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x14005001b
cmp rcx, 7
jae 0x14004fff7
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x14005001b
movsxd rax, dword [rdi + 8]
cmp rbx, rax
jne 0x140050008
mov r8d, 2
jmp 0x14005001b
movsxd rax, dword [rdi + 0xc]
mov r8d, 3
cmp rbx, rax
je 0x14005001b
lea r8, [rbx + 0xf]
cmp rbx, r9
ja 0x14005003b
test r8, r8
je 0x14005003b
mov eax, dword [rdi + 8]
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 4]
mov dword [rdi + 8], eax
mov eax, dword [rdi]
mov dword [rdi + 4], eax
mov eax, dword [rbp - 0x80]
mov dword [rdi], eax
mov rcx, qword [rsp + 0x60]
mov esi, dword [rbp - 0x70]
mov r14d, dword [rsp + 0x78]
movzx eax, sil
shl eax, 0x19
or eax, r14d
mov dword [rcx], r10d
mov dword [rcx + 4], eax
mov rcx, qword [rbp - 0x58]
mov r15d, dword [rcx + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jae 0x14005006d
xor edi, edi
jmp 0x1400500eb
mov r11d, dword [rcx + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rdi, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x28]
sub rdi, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rdi, cl
and ax, r10w
mov r10, qword [rsp + 0x40]
add r8w, ax
add r8w, r15w
or r8w, r9w
mov r15, qword [rsp + 0x60]
lea edx, [r14 + rsi]
mov eax, 0x3ff
movsxd r9, edx
mov word [r15 + 0xe], r8w
and r8w, ax
mov dword [r15 + 8], edi
cmp r10, 6
jae 0x140050116
mov eax, 0x17
jmp 0x140050186
cmp r10, 0x82
jae 0x140050140
lea eax, [r10 - 2]
add r10, 0xfffffffffffffffe
bsr ecx, eax
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140050186
cmp r10, 0x842
jae 0x14005015d
lea eax, [r10 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140050186
mov eax, 0x17
cmp r10, 0x1842
jae 0x140050171
lea r10d, [rax - 2]
jmp 0x140050186
cmp r10, 0x5842
jae 0x140050182
mov r10d, 0x16
jmp 0x140050186
movzx r10d, ax
cmp r9, 0xa
jae 0x140050193
sub r9w, 2
jmp 0x1400501d3
cmp r9, 0x86
jae 0x1400501b8
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x1400501d3
cmp r9, 0x846
jae 0x1400501cf
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x1400501d3
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140050210
cmp r10w, 8
jae 0x140050210
cmp r9w, 0x10
jae 0x140050210
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140050244
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rsp + 0x40]
lea r9, [r11 + r13]
mov r8, qword [rbp - 0x50]
xor esi, esi
mov rcx, qword [rbp - 0x38]
mov word [r15 + 0xc], dx
add r15, 0x10
mov qword [rsp + 0x60], r15
lea rdx, [r13 + 2]
mov qword [rsp + 0x40], rsi
add qword [rcx], rax
mov rax, r11
cmp r9, r8
mov qword [rsp + 0x70], r9
cmovb r8, r9
shr rax, 2
cmp rbx, rax
jae 0x1400502a8
lea rax, [rbx*4]
sub r13, rax
add r13, r11
cmp rdx, r13
cmova r13, rdx
cmp r8, r13
mov rdx, r13
cmovb rdx, r8
mov r10, qword [rsp + 0x18]
cmp rdx, r8
jae 0x1400502fa
mov r9, qword [rsp]
movabs r12, 0x35a7bd1e35a7bd00
mov rax, qword [rsp + 8]
and rax, rdx
mov rcx, qword [rax + r9]
mov eax, edx
imul rcx, r12
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [r10 + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], edx
inc rdx
cmp rdx, r8
jb 0x1400502c0
mov r9, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
mov r13, r9
mov qword [rsp + 0x38], r9
jmp 0x14005047e
mov rsi, qword [rsp + 0x40]
inc r13
mov r12, qword [rsp + 0x68]
inc rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r13
cmp r13, r12
jbe 0x14005046f
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x60]
add rdx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp r13, rax
jbe 0x1400503d2
mov r11, qword [rsp]
lea rax, [r13 + 0x10]
mov rbx, qword [rsp + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x14005045e
add rsi, 4
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffc
add rsi, rax
mov qword [rsp + 0x40], rsi
movabs rsi, 0x35a7bd1e35a7bd00
mov rax, rbx
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, rsi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rdi + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], r13d
add r13, 4
cmp r13, rdx
jb 0x140050383
mov r10, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x38], r13
jmp 0x140050487
lea rax, [r13 + 8]
cmp rax, rdx
cmovb rdx, rax
cmp r13, rdx
jae 0x14005046f
mov r11, qword [rsp]
add rsi, 2
mov rbx, qword [rsp + 8]
mov rax, rdx
sub rax, r13
dec rax
and rax, 0xfffffffffffffffe
add rsi, rax
mov qword [rsp + 0x40], rsi
movabs rsi, 0x35a7bd1e35a7bd00
mov rax, rbx
and rax, r13
mov rcx, qword [rax + r11]
mov eax, r13d
imul rcx, rsi
and eax, 0x18
shr rcx, 0x2c
add ecx, eax
mov rax, qword [rdi + 0x58]
and ecx, 0xfffff
mov dword [rax + rcx*4], r13d
add r13, 2
cmp r13, rdx
jb 0x140050412
mov r10, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x38], r13
jmp 0x140050487
mov r10, qword [rsp + 0x18]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
jmp 0x140050487
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
mov r10, qword [rsp + 0x18]
mov r11, qword [rsp]
mov rbx, qword [rsp + 8]
mov rdx, qword [rbp - 0x60]
lea rax, [r13 + 8]
mov r8, qword [rbp - 0x68]
movabs rcx, 0x35a7bd1e35a7bd00
cmp rax, rdx
jb 0x14004efd0
mov rdi, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
sub rdx, r13
sub r15, rcx
add rdx, rsi
sar r15, 4
mov qword [rax], rdx
add qword [rdi], r15
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400a3970
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe8
mov r8, qword [rbp + 0x67]
mov rax, rcx
mov r11, qword [rbp + 0x6f]
mov rsi, rdx
mov rdx, qword [rbp + 0x7f]
mov r10d, 1
mov r12, r9
mov qword [rbp + 0x3f], r11
mov ecx, dword [r8 + 8]
mov r9, qword [rbp + 0x87]
lea rbx, [rax + rsi]
mov r15, qword [rdx]
shl r10, cl
mov rcx, qword [r8 + 0x10]
sub r10, 0x10
mov qword [rbp - 0x41], r10
mov qword [rbp - 0x51], rcx
mov qword [rbp - 0x39], r9
mov qword [rbp - 0x19], r9
mov qword [rsp + 0x28], r15
mov qword [rbp - 0x49], rbx
cmp rax, 8
jb 0x140050578
lea rax, [rbx - 7]
mov qword [rbp - 0x29], rax
jmp 0x14005057c
mov qword [rbp - 0x29], rsi
cmp dword [r8 + 4], 9
mov edx, 0x40
mov rdi, qword [rbp + 0x77]
mov eax, 0x200
cmovl eax, edx
mov edx, dword [r11 + 0x78]
mov qword [rbp - 0x21], rax
add rax, rsi
mov qword [rsp + 0x60], rax
cmp edx, 4
jle 0x1400505fd
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi + 0x10], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x14], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x18], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x1c], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x20], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x24], eax
cmp edx, 0xa
jle 0x1400505f9
mov ecx, dword [rdi + 4]
lea eax, [rcx - 1]
mov dword [rdi + 0x28], eax
lea eax, [rcx + 1]
mov dword [rdi + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdi + 0x30], eax
lea eax, [rcx + 2]
mov dword [rdi + 0x34], eax
lea eax, [rcx - 3]
mov dword [rdi + 0x38], eax
lea eax, [rcx + 3]
mov dword [rdi + 0x3c], eax
mov rcx, qword [rbp - 0x51]
lea rax, [rsi + 8]
cmp rax, rbx
jae 0x140051caa
mov qword [rsp + 0xe0], r13
xor edx, edx
mov qword [rsp + 0xd8], r14
nop dword [rax]
mov r14, qword [r11 + 0x88]
lea rax, [rcx + rsi]
mov r15, qword [r11 + 0x90]
mov r13, rbx
sub r13, rsi
mov qword [rbp - 0x69], rdx
cmp rsi, r10
mov qword [rbp + 0x87], r13
mov r9, r10
mov qword [rsp + 0x18], 0x7e4
cmovb r9, rsi
mov qword [rsp + 0x50], r14
cmp rax, r10
mov qword [rbp + 0x5f], r9
mov rcx, r10
mov qword [rsp + 0x58], r15
cmovb rcx, rax
mov qword [rsp + 0x20], rdx
mov rax, qword [r8 + 0x50]
mov rbx, rdx
mov r8, rsi
mov qword [rsp], rcx
movsxd rsi, dword [r11 + 0x78]
and r8, r12
mov qword [rbp - 0x79], rax
mov ecx, 0x7e4
mov qword [rsp + 0x10], r8
mov r10, rdx
mov qword [rbp - 0x71], rdx
mov dword [rbp - 0x59], edx
mov qword [rsp + 8], rcx
mov qword [rbp + 0x6f], rdx
test rsi, rsi
je 0x140050834
mov r15, qword [rbp + 0x4f]
mov r14, r8
mov rax, qword [rbp + 0x47]
mov qword [rsp + 8], rcx
mov qword [rbp + 0x6f], rdx
nop word [rax + rax]
movsxd rdi, dword [rdi + rbx*4]
mov rcx, rax
sub rcx, rdi
cmp rcx, rax
jae 0x140050811
cmp rdi, r9
ja 0x140050811
and rcx, r12
lea rdx, [r10 + r14]
cmp rdx, r12
ja 0x140050811
lea rax, [rcx + r10]
cmp rax, r12
ja 0x14005080d
movzx eax, byte [rax + r15]
cmp byte [rdx + r15], al
jne 0x14005080d
mov r8, r13
lea r11, [rcx + r15]
shr r8, 3
lea rdx, [r14 + r15]
xor ecx, ecx
test r8, r8
je 0x14005075e
mov r10, r11
sub r10, rdx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400507f4
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140050740
mov r8, r13
and r8d, 7
je 0x140050783
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140050783
inc rcx
sub r8, 1
jne 0x140050770
mov r9, rcx
cmp r9, 3
jae 0x140050797
cmp r9, 2
jne 0x140050805
cmp rbx, r9
jae 0x140050805
mov r11, qword [rsp + 8]
imul r8, r9, 0x87
add r8, 0x78f
cmp r11, r8
jae 0x140050805
test rbx, rbx
je 0x1400507d1
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r11, r8
jae 0x140050805
mov rdx, r9
mov qword [rsp + 8], r8
mov qword [rsp + 0x20], rdx
mov r10, r9
mov qword [rbp - 0x71], rdx
mov qword [rbp + 0x6f], r9
mov qword [rbp - 0x69], rdi
mov qword [rsp + 0x18], r8
jmp 0x140050809
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140050786
mov r10, qword [rbp + 0x6f]
mov r9, qword [rbp + 0x5f]
mov rax, qword [rbp + 0x47]
mov rdi, qword [rbp + 0x77]
inc rbx
cmp rbx, rsi
jb 0x1400506d0
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov r8, qword [rsp + 0x10]
mov r11, qword [rbp + 0x3f]
mov ecx, dword [r11 + 0x60]
movabs rax, 0x1fe35a7bd3579bd3
mov r12, qword [rbp + 0x4f]
mov rdx, qword [r11 + 0x68]
add r12, r8
and rdx, qword [r12]
imul rdx, rax
shr rdx, cl
mov ecx, dword [r11 + 0x74]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx edx, word [r14 + rax*2]
mov esi, edx
mov edi, edx
sub rsi, qword [r11 + 0x58]
cmp rdx, qword [r11 + 0x58]
lea r13, [r14 + rax*2]
mov eax, 0
mov qword [rsp + 0x50], r13
cmovbe rsi, rax
cmp rdx, rsi
jbe 0x1400509df
mov r14d, dword [r11 + 0x70]
mov r13, qword [rbp + 0x4f]
nop word [rax + rax]
mov rbx, qword [rbp + 0x47]
dec rdi
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r9
ja 0x1400509d1
mov r11, qword [rbp + 0x57]
lea rdx, [r10 + r8]
and rcx, r11
cmp rdx, r11
ja 0x1400509c8
lea rax, [rcx + r10]
cmp rax, r11
ja 0x1400509c8
movzx eax, byte [rax + r13]
cmp byte [rdx + r13], al
jne 0x1400509c8
xor eax, eax
lea r11, [rcx + r13]
mov ecx, eax
mov rdx, r12
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140050945
mov r10, r11
sub r10, r12
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x1400509b3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140050920
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140050964
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140050964
inc rcx
sub r8, 1
jne 0x140050951
mov rdx, rcx
mov r8, qword [rsp + 0x10]
mov r9, qword [rbp + 0x5f]
cmp rdx, 4
jb 0x1400509c4
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 8], rax
jae 0x1400509c4
mov qword [rsp + 8], rax
mov r10, rdx
mov qword [rbp + 0x6f], rdx
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x71], rdx
mov qword [rbp - 0x69], rbx
mov qword [rsp + 0x18], rax
jmp 0x1400509c8
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140050967
mov r10, qword [rbp + 0x6f]
cmp rdi, rsi
ja 0x1400508a0
mov r13, qword [rsp + 0x50]
mov r11, qword [rbp + 0x3f]
movzx edx, word [r13]
mov eax, dword [r11 + 0x70]
mov rsi, qword [rbp + 0x47]
and rax, rdx
mov dword [r15 + rax*4], esi
inc word [r13]
cmp qword [rsp + 0x18], 0x7e4
jne 0x140050cfb
mov r13, qword [r11 + 0x80]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x140050cfb
imul ebx, dword [r12], 0x1e35a7bd
lea r15, [rcx + 1]
mov r8, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
mov qword [r13 + 0x28], r15
mov rax, qword [r8 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x140050b9f
mov rax, qword [r8 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x140050b9f
mov rdi, qword [r8 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140050abe
mov r10, r12
sub r10, rdx
nop dword [rax + rax]
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140050b8b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140050aa0
mov r8, r11
and r8d, 7
je 0x140050ae3
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r12], al
jne 0x140050ae3
inc rcx
sub r8, 1
jne 0x140050ad0
mov r9, rcx
mov r10, qword [rbp + 0x67]
mov eax, dword [r10 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140050ba5
test r9, r9
je 0x140050ba5
mov rax, qword [r10 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rdi]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp]
lea r8, [rsi + 1]
add r8, rdx
cmp r8, qword [rbp - 0x79]
ja 0x140050ba9
mov rdx, qword [rbp + 0x87]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140050bb0
mov rcx, r9
mov qword [rsp + 0x18], rax
lea rax, [r14 + 1]
mov qword [rsp + 0x20], rcx
sub r11d, r9d
mov qword [r13 + 0x30], rax
mov qword [rbp - 0x71], rcx
mov dword [rbp - 0x59], r11d
mov qword [rbp - 0x69], r8
jmp 0x140050bb0
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140050ae6
mov rsi, qword [rsp]
jmp 0x140050bb0
mov rsi, qword [rsp]
mov rdx, qword [rbp + 0x87]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x140050cf7
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x140050cf7
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x140050c2e
mov r10, r12
sub r10, rdx
mov r9, qword [rdx]
mov rax, qword [r10 + rdx]
cmp r9, rax
jne 0x140050ce3
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140050c10
mov r8, r11
and r8d, 7
je 0x140050c4c
movzx eax, byte [rdx]
cmp byte [rcx + r12], al
jne 0x140050c4c
inc rdx
inc rcx
sub r8, 1
jne 0x140050c37
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140050cf7
test r9, r9
je 0x140050cf7
mov rax, qword [r14 + 0x68]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, qword [rbp - 0x79]
ja 0x140050cf7
mov rsi, qword [rbp + 0x47]
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jb 0x140050cfb
mov rcx, r9
mov qword [rbp - 0x69], r8
sub r11d, r9d
mov qword [rsp + 0x20], rcx
inc qword [r13 + 0x30]
mov qword [rbp - 0x71], rcx
mov dword [rbp - 0x59], r11d
mov qword [rsp + 0x18], rax
jmp 0x140050cfb
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140050c4f
mov rsi, qword [rbp + 0x47]
mov r13, qword [rbp + 0x87]
mov rdi, qword [rbp + 0x3f]
cmp r13, 0x20
jb 0x140050eb6
mov rbx, qword [rdi + 0xa8]
cmp rbx, rsi
ja 0x140050eab
mov r14, qword [rsp + 0x10]
lea rsi, [rbx + 0x20]
mov r15, qword [rbp + 0x5f]
mov r11, qword [rbp + 0x4f]
mov r12, qword [rbp + 0x57]
mov r10, qword [rbp + 0x47]
nop dword [rax]
mov r8d, dword [rdi + 0x98]
mov rax, rbx
and rax, r12
mov r9d, r8d
imul r8d, dword [rdi + 0xb4]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, rsi
and rax, r12
inc edx
imul edx, dword [rdi + 0xb8]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x98], eax
cmp r9d, 0x1000000
jae 0x140050e98
mov rax, qword [rdi + 0xa0]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
mov rax, qword [rbp + 0x47]
cmp rbx, rax
jne 0x140050e94
mov ecx, 0xffffffff
cmp r10, rcx
je 0x140050e94
sub eax, r10d
mov edi, eax
cmp rdi, r15
ja 0x140050e90
and r10, r12
lea rdx, [r14 + r11]
xor eax, eax
mov r8, r13
add r10, r11
shr r8, 3
mov ecx, eax
test r8, r8
je 0x140050e0a
mov r11, r10
sub r11, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r11 + rdx]
cmp rax, r9
jne 0x140050e7b
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140050df0
mov r8, r13
and r8d, 7
je 0x140050e29
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r10], al
jne 0x140050e29
inc rcx
sub r8, 1
jne 0x140050e16
mov rdx, rcx
cmp rdx, 4
jb 0x140050e8c
cmp rdx, qword [rsp + 0x20]
jbe 0x140050e8c
mov r11, qword [rbp + 0x4f]
mov r10, qword [rbp + 0x47]
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, qword [rsp + 0x18]
jbe 0x140050e75
mov qword [rsp + 0x18], rax
xor eax, eax
mov dword [rbp - 0x59], eax
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x71], rdx
mov qword [rbp - 0x69], rdi
mov rdi, qword [rbp + 0x3f]
jmp 0x140050e98
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140050e2c
mov r11, qword [rbp + 0x4f]
mov rdi, qword [rbp + 0x3f]
mov r10, qword [rbp + 0x47]
inc rbx
inc rsi
cmp rbx, r10
jbe 0x140050d40
mov rsi, qword [rbp + 0x47]
lea rax, [rsi + 1]
mov qword [rdi + 0xa8], rax
cmp qword [rsp + 0x18], 0x7e4
jbe 0x140051cd9
mov rax, qword [rsp + 0x20]
xor ebx, ebx
mov dword [rbp + 0x6f], ebx
dec r13
mov rdx, qword [rbp + 0x67]
mov qword [rbp + 0x87], r13
cmp dword [rdx + 4], 5
jge 0x140050ef2
dec rax
mov r11, r13
cmp rax, r13
cmovb r11, rax
jmp 0x140050ef5
mov r11, rbx
mov r10, qword [rbp - 0x41]
lea r9, [rsi + 1]
mov rax, qword [rbp - 0x51]
cmp r9, r10
mov r14, qword [rdi + 0x88]
mov r13, r10
mov r15, qword [rdi + 0x90]
cmovb r13, r9
inc rax
mov qword [rsp + 8], r11
add rax, rsi
mov qword [rsp + 0x38], rbx
movsxd rsi, dword [rdi + 0x78]
cmp rax, r10
mov rcx, r10
mov qword [rsp], r9
cmovb rcx, rax
mov qword [rbp - 0x79], r13
mov rax, qword [rdx + 0x50]
mov r8d, 0x7e4
mov qword [rsp + 0x50], rax
mov r10, r9
mov rax, qword [rbp + 0x57]
and r10, rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x40], r8
mov ecx, r8d
mov qword [rbp + 0x5f], r14
mov qword [rbp - 0x31], r15
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x60], rcx
test rsi, rsi
je 0x1400510fd
mov r14, qword [rbp + 0x4f]
mov r12d, ecx
mov r15, qword [rbp + 0x87]
nop word [rax + rax]
mov rcx, qword [rbp + 0x77]
movsxd rdi, dword [rcx + rbx*4]
mov rcx, r9
sub rcx, rdi
cmp rcx, r9
jae 0x1400510e0
cmp rdi, r13
ja 0x1400510e0
and rcx, rax
lea rdx, [r11 + r10]
cmp rdx, rax
ja 0x1400510e0
lea rax, [rcx + r11]
cmp rax, qword [rbp + 0x57]
ja 0x1400510dc
movzx eax, byte [rax + r14]
cmp byte [rdx + r14], al
jne 0x1400510dc
xor eax, eax
lea r11, [rcx + r14]
mov r8, r15
lea rdx, [r10 + r14]
shr r8, 3
mov ecx, eax
test r8, r8
je 0x14005102e
mov r10, r11
sub r10, rdx
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x1400510b8
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x140051010
mov r8, r15
and r8d, 7
je 0x140051053
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140051053
inc rcx
sub r8, 1
jne 0x140051040
mov r9, rcx
cmp r9, 3
jae 0x140051067
cmp r9, 2
jne 0x1400510c9
cmp rbx, r9
jae 0x1400510c9
imul r8, r9, 0x87
add r8, 0x78f
cmp r12, r8
jae 0x1400510c9
test rbx, rbx
je 0x14005109c
movzx ecx, bl
mov edx, 0x1ca10
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub r8, rdx
sub r8, 0x27
cmp r12, r8
jae 0x1400510c9
mov r12, r8
mov qword [rsp + 8], r9
mov r11, r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r8
jmp 0x1400510d3
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140051056
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 8]
mov r9, qword [rsp]
mov r10, qword [rsp + 0x10]
mov rax, qword [rbp + 0x57]
inc rbx
cmp rbx, rsi
jb 0x140050fa0
mov r14, qword [rbp + 0x5f]
mov r15, qword [rbp - 0x31]
mov rdi, qword [rbp + 0x3f]
mov qword [rsp + 0x60], r12
add r10, qword [rbp + 0x4f]
movabs rax, 0x1fe35a7bd3579bd3
mov ecx, dword [rdi + 0x60]
mov rdx, qword [rdi + 0x68]
mov qword [rbp + 0x5f], r10
and rdx, qword [r10]
imul rdx, rax
shr rdx, cl
mov ecx, dword [rdi + 0x74]
mov eax, edx
shl eax, cl
lea r15, [r15 + rax*4]
mov eax, edx
movzx r13d, word [r14 + rax*2]
lea r12, [r14 + rax*2]
mov esi, r13d
mov qword [rbp - 0x31], r12
sub rsi, qword [rdi + 0x58]
mov eax, 0
cmp r13, qword [rdi + 0x58]
mov edi, r13d
cmovbe rsi, rax
cmp r13, rsi
jbe 0x1400512b0
mov rax, qword [rbp + 0x3f]
mov r13, qword [rsp + 0x10]
mov r12, qword [rbp - 0x79]
mov r14d, dword [rax + 0x70]
nop dword [rax + rax]
dec rdi
mov rbx, r9
mov rax, rdi
and rax, r14
mov ecx, dword [r15 + rax*4]
sub rbx, rcx
cmp rbx, r12
ja 0x1400512a7
and rcx, qword [rbp + 0x57]
lea rdx, [r11 + r13]
cmp rdx, qword [rbp + 0x57]
ja 0x14005129e
lea rax, [rcx + r11]
cmp rax, qword [rbp + 0x57]
ja 0x14005129e
mov r12, qword [rbp + 0x4f]
movzx eax, byte [rax + r12]
cmp byte [rdx + r12], al
mov r12, qword [rbp - 0x79]
jne 0x14005129e
mov r11, qword [rbp + 0x4f]
xor eax, eax
add r11, rcx
mov rdx, r10
mov ecx, eax
mov rax, qword [rbp + 0x87]
mov r8, rax
shr r8, 3
test r8, r8
je 0x140051215
mov r10, r11
sub r10, qword [rbp + 0x5f]
nop dword [rax + rax]
mov rax, qword [rdx]
mov r9, qword [r10 + rdx]
cmp rax, r9
jne 0x140051283
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400511f0
mov rax, qword [rbp + 0x87]
mov r8, rax
and r8d, 7
je 0x140051234
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + r11], al
jne 0x140051234
inc rcx
sub r8, 1
jne 0x140051221
mov rdx, rcx
mov r10, qword [rbp + 0x5f]
mov r9, qword [rsp]
cmp rdx, 4
jb 0x140051294
bsr eax, ebx
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp qword [rsp + 0x60], rax
jae 0x140051294
mov qword [rsp + 0x60], rax
mov r11, rdx
mov qword [rsp + 8], rdx
mov r8, rax
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
jmp 0x14005129e
xor rax, r9
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x140051237
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 8]
cmp rdi, rsi
ja 0x140051170
mov r12, qword [rbp - 0x31]
movzx r13d, word [r12]
mov rcx, qword [rbp + 0x3f]
mov eax, dword [rcx + 0x70]
and rax, r13
mov dword [r15 + rax*4], r9d
inc word [r12]
cmp r8, 0x7e4
jne 0x1400515df
mov r13, qword [rcx + 0x80]
mov rcx, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, rcx
shr rax, 7
cmp r14, rax
jb 0x1400515df
imul ebx, dword [r10], 0x1e35a7bd
lea r15, [rcx + 1]
mov r12, qword [rbp + 0x67]
mov rdx, qword [rbp + 0x87]
mov qword [r13 + 0x28], r15
mov rax, qword [r12 + 0x78]
shr rbx, 0x11
and ebx, 0x7ffe
movzx ecx, byte [rbx + rax]
test cl, cl
je 0x14005147c
mov rax, qword [r12 + 0x70]
mov r11d, ecx
movzx esi, word [rax + rbx*2]
cmp rcx, rdx
ja 0x14005147c
mov rdi, qword [r12 + 0x58]
mov eax, ecx
imul rax, rsi
mov edx, dword [rdi + rcx*4 + 0x20]
mov r9d, r11d
add rdx, rax
shr r9, 3
add rdx, qword [rdi + 0xa8]
xor eax, eax
mov ecx, eax
test r9, r9
je 0x140051392
sub r10, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r8, qword [rdx + r10]
cmp rax, r8
jne 0x14005145d
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x140051370
mov r10, qword [rbp + 0x5f]
mov r8, r11
and r8d, 7
je 0x1400513b3
sub rdx, rcx
nop
movzx eax, byte [rcx + rdx]
cmp byte [rcx + r10], al
jne 0x1400513b3
inc rcx
sub r8, 1
jne 0x1400513a0
mov r9, rcx
mov eax, dword [r12 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x140051471
test r9, r9
je 0x140051471
mov rax, qword [r12 + 0x68]
mov r8, r11
mov r12, qword [rsp + 0x50]
sub r8, r9
mov r10, qword [rbp + 0x5f]
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rdi + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
shl rdx, cl
add rdx, rsi
mov rsi, qword [rsp + 0x58]
lea r8, [rsi + 1]
add r8, rdx
mov rdx, qword [rbp + 0x87]
cmp r8, r12
ja 0x140051486
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, 0x7e4
jb 0x140051486
mov qword [rsp + 0x40], rax
sub r11d, r9d
lea rax, [r14 + 1]
mov qword [rsp + 0x30], r9
mov qword [r13 + 0x30], rax
mov dword [rsp + 0x48], r11d
mov qword [rsp + 0x38], r8
jmp 0x140051486
xor rax, r8
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x1400513b6
mov rdx, qword [rbp + 0x87]
mov r10, qword [rbp + 0x5f]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r14, qword [rbp + 0x67]
lea rax, [r15 + 1]
mov qword [r13 + 0x28], rax
mov rax, qword [r14 + 0x78]
movzx ecx, byte [rax + rbx + 1]
test cl, cl
je 0x1400515df
mov rax, qword [r14 + 0x70]
mov r11d, ecx
movzx edi, word [rax + rbx*2 + 2]
cmp rcx, rdx
ja 0x1400515df
mov rbx, qword [r14 + 0x58]
mov eax, ecx
imul rax, rdi
mov edx, dword [rbx + rcx*4 + 0x20]
mov r8d, r11d
add rdx, rax
shr r8, 3
add rdx, qword [rbx + 0xa8]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x14005150e
sub r10, rdx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx]
mov r9, qword [rdx + r10]
cmp rax, r9
jne 0x1400515cb
add rdx, 8
add rcx, 8
sub r8, 1
jne 0x1400514f0
mov r8, r11
and r8d, 7
je 0x140051535
mov r9, qword [rbp + 0x5f]
nop dword [rax + rax]
movzx eax, byte [rdx]
cmp byte [rcx + r9], al
jne 0x140051535
inc rdx
inc rcx
sub r8, 1
jne 0x140051520
mov r9, rcx
mov eax, dword [r14 + 0x64]
add rax, r9
cmp rax, r11
jbe 0x1400515df
test r9, r9
je 0x1400515df
mov rax, qword [r14 + 0x68]
mov r8, r11
mov r14, qword [rsp + 0x40]
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea r8, [rax + r8*4]
shl r8, cl
inc r8
add r8, rdi
add r8, rsi
cmp r8, r12
ja 0x1400515e4
bsr eax, r8d
imul ecx, eax, 0x1e
imul rax, r9, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r14
jb 0x1400515e4
sub r11d, r9d
mov qword [rsp + 0x30], r9
inc qword [r13 + 0x30]
mov r15, r9
mov dword [rsp + 0x48], r11d
mov r14, rax
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rax
jmp 0x1400515e9
xor rax, r9
tzcnt r9, rax
shr r9, 3
add r9, rcx
jmp 0x140051538
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
cmp qword [rbp + 0x87], 0x20
mov rdi, qword [rbp + 0x3f]
mov r13, qword [rsp]
jb 0x14005178a
mov rbx, qword [rdi + 0xa8]
cmp rbx, r13
ja 0x14005177f
mov r11, qword [rbp + 0x4f]
lea rsi, [rbx + 0x20]
mov r12, qword [rbp + 0x57]
nop dword [rax + rax]
mov r8d, dword [rdi + 0x98]
mov rax, rbx
and rax, r12
mov r9d, r8d
imul r8d, dword [rdi + 0xb4]
and r9d, 0x3fffffff
movzx edx, byte [rax + r11]
mov rax, rsi
and rax, r12
inc edx
imul edx, dword [rdi + 0xb8]
movzx ecx, byte [rax + r11]
lea eax, [r8 + 1]
sub ecx, edx
add eax, ecx
mov dword [rdi + 0x98], eax
cmp r9d, 0x1000000
jae 0x140051770
mov rax, qword [rdi + 0xa0]
mov r10d, dword [rax + r9*4]
mov dword [rax + r9*4], ebx
cmp rbx, r13
jne 0x140051770
mov eax, 0xffffffff
cmp r10, rax
je 0x140051770
mov edi, r13d
sub edi, r10d
cmp rdi, qword [rbp - 0x79]
ja 0x14005176c
mov rcx, qword [rbp + 0x87]
and r10, r12
mov rdx, qword [rsp + 0x10]
mov r8, rcx
shr r8, 3
add rdx, r11
add r10, r11
xor eax, eax
test r8, r8
je 0x140051705
mov r11, r10
sub r11, rdx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdx]
mov r9, qword [r11 + rdx]
cmp rcx, r9
jne 0x1400517fa
add rdx, 8
add rax, 8
sub r8, 1
jne 0x1400516e0
mov rcx, qword [rbp + 0x87]
mov r8, rcx
and r8d, 7
je 0x140051724
sub rdx, rax
movzx ecx, byte [rdx + rax]
cmp byte [rax + r10], cl
jne 0x140051724
inc rax
sub r8, 1
jne 0x140051711
mov rdx, rax
mov r11, qword [rbp + 0x4f]
cmp rdx, 4
jb 0x14005176c
cmp rdx, r15
jbe 0x14005176c
bsr eax, edi
imul ecx, eax, 0x1e
imul rax, rdx, 0x87
sub rax, rcx
add rax, 0x780
cmp rax, r14
jbe 0x14005176c
mov r14, rax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x48], eax
mov r15, rdx
mov qword [rsp + 0x38], rdi
mov rdi, qword [rbp + 0x3f]
inc rbx
inc rsi
cmp rbx, r13
jbe 0x140051620
lea rax, [r13 + 1]
mov qword [rdi + 0xa8], rax
mov rax, qword [rsp + 0x18]
add rax, 0xaf
cmp r14, rax
jb 0x140051819
mov ecx, dword [rbp + 0x6f]
mov rsi, r13
movups xmm0, xmmword [rsp + 0x30]
mov qword [rbp + 0x47], r13
inc ecx
mov r13, qword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x40]
inc r13
mov dword [rbp + 0x6f], ecx
mov qword [rsp + 0x28], r13
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm1
cmp ecx, 4
jge 0x14005180e
lea rax, [rsi + 8]
cmp rax, qword [rbp - 0x49]
jae 0x14005180e
mov rax, qword [rbp - 0x61]
mov r13, qword [rbp + 0x87]
mov qword [rsp + 0x18], rax
dec r13
mov rax, qword [rbp - 0x71]
xor ebx, ebx
mov qword [rsp + 0x20], rax
jmp 0x140050ed2
xor rcx, r9
tzcnt rdx, rcx
shr rdx, 3
add rdx, rax
jmp 0x140051727
mov r11, qword [rbp - 0x71]
mov qword [rsp + 0x20], r11
jmp 0x140051827
mov rsi, qword [rbp + 0x47]
mov r11, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov rax, qword [rbp - 0x21]
mov r9, qword [rbp - 0x41]
mov r10, qword [rbp + 0x77]
lea r12, [rax + r11*2]
mov rax, qword [rbp - 0x51]
add rax, rsi
add r12, rsi
mov rsi, qword [rbp - 0x69]
cmp rax, r9
mov qword [rsp + 0x60], r12
cmovb r9, rax
cmp rsi, r9
ja 0x1400518da
movsxd rax, dword [r10]
lea rcx, [rsi + 3]
movsxd r8, dword [r10 + 4]
mov rdx, rcx
sub rdx, rax
sub rcx, r8
cmp rsi, rax
jne 0x14005187a
xor ebx, ebx
mov r8d, ebx
jmp 0x1400518e0
cmp rsi, r8
jne 0x140051887
mov r8d, 1
jmp 0x1400518de
cmp rdx, 7
jae 0x1400518a2
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400518de
cmp rcx, 7
jae 0x1400518ba
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400518de
movsxd rax, dword [r10 + 8]
cmp rsi, rax
jne 0x1400518cb
mov r8d, 2
jmp 0x1400518de
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp rsi, rax
je 0x1400518de
lea r8, [rsi + 0xf]
xor ebx, ebx
cmp rsi, r9
ja 0x140051973
test r8, r8
je 0x140051973
mov eax, dword [r10 + 8]
mov edx, dword [r10]
mov ecx, dword [rbp - 0x69]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10 + 8], eax
mov dword [r10 + 4], edx
mov dword [r10], ecx
mov r9d, dword [rdi + 0x78]
cmp r9d, 4
jle 0x140051973
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
cmp r9d, 0xa
jle 0x140051973
lea eax, [rdx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rdx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rdx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rdx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rdx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rdx + 3]
mov dword [r10 + 0x3c], eax
mov r12, qword [rbp - 0x39]
mov edi, dword [rbp - 0x59]
mov r10, qword [rbp + 0x67]
mov r14d, dword [rbp - 0x71]
movzx eax, dil
shl eax, 0x19
or eax, r14d
mov dword [r12], r13d
mov dword [r12 + 4], eax
mov r15d, dword [r10 + 0x44]
lea rax, [r15 + 0x10]
cmp r8, rax
jb 0x140051a1b
mov r11d, dword [r10 + 0x40]
mov r10d, 1
lea ecx, [r11 + 2]
shl r10, cl
sub r10, r15
add r10, 0xfffffffffffffff0
add r10, r8
bsr eax, r10d
mov rdx, r10
mov rbx, r10
dec eax
mov ecx, eax
mov r9d, eax
shr rdx, cl
sub r9, r11
and edx, 1
lea r8, [r9 - 1]
shl r9, 0xa
lea r8, [rdx + r8*2]
lea rax, [rdx + 2]
shl rax, cl
mov ecx, r11d
mov r11, qword [rsp + 0x20]
sub rbx, rax
shl r8, cl
mov eax, 1
shl ax, cl
add r8w, 0x10
dec ax
shr rbx, cl
and ax, r10w
add r8w, ax
add r8w, r15w
or r8w, r9w
mov word [r12 + 0xe], r8w
lea edx, [rdi + r14]
mov eax, 0x3ff
mov dword [r12 + 8], ebx
and r8w, ax
movsxd r9, edx
cmp r13, 6
jae 0x140051a47
movzx r10d, r13w
mov eax, 0x17
jmp 0x140051ab7
cmp r13, 0x82
jae 0x140051a71
lea eax, [r13 - 2]
bsr ecx, eax
lea r10, [r13 - 2]
mov eax, 0x17
dec ecx
shr r10, cl
inc cx
add cx, cx
add r10w, cx
jmp 0x140051ab7
cmp r13, 0x842
jae 0x140051a8e
lea eax, [r13 - 0x42]
bsr r10d, eax
mov eax, 0x17
add r10w, 0xa
jmp 0x140051ab7
mov eax, 0x17
cmp r13, 0x1842
jae 0x140051aa2
lea r10d, [rax - 2]
jmp 0x140051ab7
cmp r13, 0x5842
jae 0x140051ab3
mov r10d, 0x16
jmp 0x140051ab7
movzx r10d, ax
cmp r9, 0xa
jae 0x140051ac4
sub r9w, 2
jmp 0x140051b04
cmp r9, 0x86
jae 0x140051ae9
add r9, 0xfffffffffffffffa
lea eax, [rdx - 6]
bsr ecx, eax
dec ecx
shr r9, cl
add cx, 2
add cx, cx
add r9w, cx
jmp 0x140051b04
cmp r9, 0x846
jae 0x140051b00
lea eax, [rdx - 0x46]
bsr r9d, eax
add r9w, 0xc
jmp 0x140051b04
movzx r9d, ax
movzx edx, r10w
movzx eax, r9w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r8w, r8w
jne 0x140051b41
cmp r10w, 8
jae 0x140051b41
cmp r9w, 0x10
jae 0x140051b41
movzx eax, dx
or ax, 0x40
cmp r9w, 8
cmovae dx, ax
jmp 0x140051b75
movzx eax, r10w
mov r8d, 0xc0
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r9w
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rcx, qword [rbp + 0x47]
mov rax, qword [rbp + 0x97]
mov rdi, qword [rbp - 0x29]
mov word [r12 + 0xc], dx
add r12, 0x10
lea r14, [r11 + rcx]
mov qword [rbp - 0x39], r12
add qword [rax], r13
lea rbx, [rcx + 2]
xor eax, eax
mov qword [rbp + 0x47], r14
cmp r14, rdi
mov qword [rsp + 0x28], rax
mov r15d, eax
mov rax, r11
cmovb rdi, r14
shr rax, 2
cmp rsi, rax
jae 0x140051be4
lea rax, [rsi*4]
sub r11, rax
lea rax, [r11 + rcx]
cmp rbx, rax
mov eax, 2
cmova r11, rax
lea rbx, [rcx + r11]
cmp rdi, rbx
cmovb rbx, rdi
cmp rbx, rdi
jae 0x140051c61
mov r14, qword [rbp + 0x4f]
movabs r15, 0x1fe35a7bd3579bd3
mov rsi, qword [rbp + 0x3f]
nop dword [rax + rax]
mov ecx, dword [rsi + 0x60]
mov rax, rbx
and rax, qword [rbp + 0x57]
mov rdx, qword [rsi + 0x88]
mov r8d, dword [rsi + 0x70]
mov r11, qword [rsi + 0x90]
mov r10, qword [rax + r14]
and r10, qword [rsi + 0x68]
imul r10, r15
shr r10, cl
mov ecx, dword [rsi + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], ebx
inc rbx
cmp rbx, rdi
jb 0x140051c00
mov r14, qword [rbp + 0x47]
mov r15, qword [rsp + 0x28]
mov rsi, r14
mov qword [rbp + 0x47], r14
mov r12, qword [rbp + 0x57]
mov rbx, qword [rbp - 0x49]
lea rax, [rsi + 8]
mov r11, qword [rbp + 0x3f]
mov edx, 0
mov r8, qword [rbp + 0x67]
mov rdi, qword [rbp + 0x77]
mov r10, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x51]
cmp rax, rbx
jb 0x140050620
mov r9, qword [rbp - 0x39]
mov r14, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
mov rax, qword [rbp + 0x7f]
sub rbx, rsi
sub r9, qword [rbp - 0x19]
add rbx, r15
sar r9, 4
mov qword [rax], rbx
mov rax, qword [rbp + 0x8f]
add qword [rax], r9
add rsp, 0xe8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r15, qword [rsp + 0x28]
inc rsi
mov r12, qword [rsp + 0x60]
inc r15
mov qword [rsp + 0x28], r15
mov qword [rbp + 0x47], rsi
cmp rsi, r12
jbe 0x140051c68
mov rax, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x49]
add rbx, 0xfffffffffffffff9
lea rax, [r12 + rax*4]
cmp rsi, rax
jbe 0x140051dba
mov r12, qword [rbp + 0x57]
lea rax, [rsi + 0x10]
cmp rax, rbx
cmovb rbx, rax
cmp rsi, rbx
jae 0x140051c6c
add r15, 4
mov rax, rbx
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffc
add r15, rax
mov qword [rsp + 0x28], r15
movabs r15, 0x1fe35a7bd3579bd3
nop
mov rdx, qword [rdi + 0x88]
mov rax, rsi
mov r8d, dword [rdi + 0x70]
and rax, r12
mov rcx, qword [rbp + 0x4f]
mov r11, qword [rdi + 0x90]
mov r10, qword [rax + rcx]
and r10, qword [rdi + 0x68]
mov ecx, dword [rdi + 0x60]
imul r10, r15
shr r10, cl
mov ecx, dword [rdi + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], esi
add rsi, 4
cmp rsi, rbx
jb 0x140051d50
mov r15, qword [rsp + 0x28]
mov qword [rbp + 0x47], rsi
jmp 0x140051c6c
lea rax, [rsi + 8]
cmp rax, rbx
cmovb rbx, rax
cmp rsi, rbx
jae 0x140051c68
mov r12, qword [rbp + 0x57]
add r15, 2
mov rax, rbx
sub rax, rsi
dec rax
and rax, 0xfffffffffffffffe
add r15, rax
mov qword [rsp + 0x28], r15
movabs r15, 0x1fe35a7bd3579bd3
nop word [rax + rax]
mov rdx, qword [rdi + 0x88]
mov rax, rsi
mov r8d, dword [rdi + 0x70]
and rax, r12
mov rcx, qword [rbp + 0x4f]
mov r11, qword [rdi + 0x90]
mov r10, qword [rax + rcx]
and r10, qword [rdi + 0x68]
mov ecx, dword [rdi + 0x60]
imul r10, r15
shr r10, cl
mov ecx, dword [rdi + 0x74]
mov eax, r10d
lea r9, [rdx + rax*2]
shl r10d, cl
movzx edx, word [r9]
and r8, rdx
mov eax, r10d
add r8, rax
inc dx
mov word [r9], dx
mov dword [r11 + r8*4], esi
add rsi, 2
cmp rsi, rbx
jb 0x140051e00
mov r15, qword [rsp + 0x28]
mov qword [rbp + 0x47], rsi
jmp 0x140051c6c
sub rsp, 0x68
mov r11, qword [rsp + 0x98]
mov eax, dword [r11 + 0x28]
add eax, 0xfffffffe
cmp eax, 0x3f
ja case.0x140051eb2.14
mov qword [rsp + 0x60], rbx
lea rbx, [0x140000000]
cdqe
movzx eax, byte [rbx + rax + 0x51fbc]
mov r10d, dword [rbx + rax*4 + 0x51f88]
add r10, rbx
mov rbx, qword [rsp + 0x60]
jmp r10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140041cd0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140042b70
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140043990
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140044fc0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140046570
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140047b90
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x140049550
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14004ace0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14004ca10
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14004dcc0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x14004eea0
mov qword [rsp + 0x98], r11
add rsp, 0x68
jmp 0x1400504f0
add rsp, 0x68
ret