File zig_demo_f2072c8e87056dd4f010dfd24f7c5fd7f3ab5198bb7930c7044fb6b6b95222af.elf
Function:
    01040cac
    01040cacThread.maybeAttachSignalStack:
    01040cacpush rbp
    01040cadmov rbp, rsp
    01040cb0mov rax, [0x0]
    01040cb9lea rax, [rax-0x40003]
    01040cc0lea rdi, [rbp-24]
    01040cc4mov [rdi], rax
    01040cc7and [rdi+8], 0
    01040ccbmov [rdi+16], 0x40000
    01040cd3mov eax, 131
    01040cd8xor esi, esi
    01040cdasyscall
    01040cdcpop rbp
    01040cddret
    01040cac
    01040cde
    01040cdeheap.PageAllocator.alloc:
    01040cdepush rbp
    01040cdfmov rbp, rsp
    01040ce2push r15
    01040ce4push r14
    01040ce6push r13
    01040ce8push r12
    01040ceapush rbx
    01040cebsub rsp, 40
    01040cefcmp rsi, -4098
    01040cf6jbe 0x1040d00
    01040cf8xor r12l, r12l
    01040cfbjmp 0x1040dd0
    01040d00
    01040d00loc_1040d00:
    01040d00mov rbx, rsi
    01040d03push 1
    01040d05pop rax
    01040d06mov [rbp-56], rdx
    01040d0ashlx r15, rax, rdx
    01040d0fadd rbx, 4095
    01040d16and rbx, -4096
    01040d1dxor r12l, r12l
    01040d20mov r14, r15
    01040d23sub r14, 4096
    01040d2acmovb r14, r12
    01040d2emov r13, [rip+49875]
    01040d35mov rsi, r13
    01040d38sub rsi, rbx
    01040d3bmov [rbp-48], r15
    01040d3fneg r15
    01040d42and rsi, r15
    01040d45sub rsi, r14
    01040d48add r14, rbx
    01040d4btest r13, r13
    01040d4ecmove rsi, r13
    01040d52lea rdi, [rbp-80]
    01040d56push 3
    01040d58pop rcx
    01040d59push 34
    01040d5bpop r8
    01040d5dpush -1
    01040d5fpop r9
    01040d61mov rdx, r14
    01040d64call posix.mmap
    01040d69lea rax, [rbp-80]
    01040d6dcmp [rax+16], 0
    01040d72jne 0x1040dd0
    01040d74mov r12, [rbp-48]
    01040d78mov rdi, [rbp-80]
    01040d7cmov rax, [rbp-56]
    01040d80and al, 63
    01040d82cmp al, 13
    01040d84jae 0x1040d8b
    01040d86xor r12l, r12l
    01040d89jmp 0x1040d9e
    01040d8b
    01040d8bloc_1040d8b:
    01040d8bdec r12
    01040d8eadd r12, rdi
    01040d91jae 0x1040d98
    01040d93xor r12l, r12l
    01040d96jmp 0x1040da1
    01040d98
    01040d98loc_1040d98:
    01040d98and r12, r15
    01040d9bsub r12, rdi
    01040d9e
    01040d9eloc_1040d9e:
    01040d9eadd r12, rdi
    01040da1
    01040da1loc_1040da1:
    01040da1mov rsi, r12
    01040da4sub rsi, rdi
    01040da7je 0x1040dae
    01040da9push 11
    01040dabpop rax
    01040dacsyscall
    01040dae
    01040daeloc_1040dae:
    01040daesub r14, rsi
    01040db1sub r14, rbx
    01040db4jbe 0x1040dc4
    01040db6add rbx, r12
    01040db9push 11
    01040dbbpop rax
    01040dbcmov rdi, rbx
    01040dbfmov rsi, r14
    01040dc2syscall
    01040dc4
    01040dc4loc_1040dc4:
    01040dc4mov rax, r13
    01040dc7lock cmpxchg [rip+49720], r12
    01040dd0
    01040dd0loc_1040dd0:
    01040dd0mov rax, r12
    01040dd3add rsp, 40
    01040dd7pop rbx
    01040dd8pop r12
    01040ddapop r13
    01040ddcpop r14
    01040ddepop r15
    01040de0pop rbp
    01040de1ret
    01040cde
    01040de2
    01040de2heap.PageAllocator.free:
    01040de2push rbp
    01040de3mov rbp, rsp
    01040de6mov rdi, rsi
    01040de9lea rsi, [rdx+4095]
    01040df0and rsi, -4096
    01040df7mov rax, 11
    01040e01syscall
    01040e03pop rbp
    01040e04ret
    01040de2
    01040e05
    01040e05heap.PageAllocator.remap:
    01040e05push rbp
    01040e06mov rbp, rsp
    01040e09mov rax, r8
    01040e0cmov rdi, rsi
    01040e0fmov r8l, 1
    01040e15mov rsi, rdx
    01040e18mov edx, ecx
    01040e1amov rcx, rax
    01040e1dpop rbp
    01040e1ejmp 0x1040e20
    01040e05
    01040e20
    01040e20heap.PageAllocator.realloc:
    01040e20and dl, 63
    01040e23cmp dl, 13
    01040e26jb 0x1040e30
    01040e28
    01040e28loc_1040e28:
    01040e28xor r9l, r9l
    01040e2bjmp 0x1040eb1
    01040e30
    01040e30loc_1040e30:
    01040e30mov r9, rdi
    01040e33mov eax, 4095
    01040e38add rcx, rax
    01040e3bmov rdx, -4096
    01040e42and rcx, rdx
    01040e45add rsi, rax
    01040e48and rsi, rdx
    01040e4bcmp rsi, rcx
    01040e4eje 0x1040eb1
    01040e50test r8b, 1
    01040e54je 0x1040e9a
    01040e56push rbp
    01040e57mov rbp, rsp
    01040e5apush rbx
    01040e5bxor ebx, ebx
    01040e5dmov rax, 25
    01040e67mov r10, 1
    01040e71mov rdi, r9
    01040e74mov rdx, rcx
    01040e77xor r8l, r8l
    01040e7asyscall
    01040e7cmov rcx, rax
    01040e7fneg rcx
    01040e82cmp rax, -4095
    01040e88cmovb rcx, rbx
    01040e8ctest rcx, rcx
    01040e8fcmove rbx, rax
    01040e93mov r9, rbx
    01040e96pop rbx
    01040e97pop rbp
    01040e98jmp 0x1040eb1
    01040e9a
    01040e9aloc_1040e9a:
    01040e9asub rsi, rcx
    01040e9djbe 0x1040e28
    01040e9fadd rcx, r9
    01040ea2mov rax, 11
    01040eacmov rdi, rcx
    01040eafsyscall
    01040eb1
    01040eb1loc_1040eb1:
    01040eb1mov rax, r9
    01040eb4ret
    01040e20
    01040eb5
    01040eb5heap.PageAllocator.resize:
    01040eb5push rbp
    01040eb6mov rbp, rsp
    01040eb9mov rdi, rsi
    01040ebcmov rsi, rdx
    01040ebfmov edx, ecx
    01040ec1mov rcx, r8
    01040ec4xor r8l, r8l
    01040ec7call heap.PageAllocator.realloc
    01040ecctest rax, rax
    01040ecfsetne al
    01040ed2pop rbp
    01040ed3ret
    01040eb5
    01040ed4
    01040ed4compress.flate.Decompress.readVec:
    01040ed4push rbp
    01040ed5mov rbp, rsp
    01040ed8push r15
    01040edapush r14
    01040edcpush rbx
    01040eddsub rsp, 56
    01040ee1mov rbx, rdi
    01040ee4lea r14, [rsi-8]
    01040ee8mov rax, [rsi+16]
    01040eecmov rsi, [rsi+32]
    01040ef0mov rcx, rax
    01040ef3sub rcx, rsi
    01040ef6cmp rcx, 32768
    01040efdjae 0x1040f1b
    01040efflea rdi, [r14+8]
    01040f03mov esi, 32768
    01040f08call compress.flate.Decompress.rebase
    01040f0dmov rax, [r14+24]
    01040f11mov rsi, [r14+40]
    01040f15mov rcx, rax
    01040f18sub rcx, rsi
    01040f1b
    01040f1bloc_1040f1b:
    01040f1bmov rdi, [r14+16]
    01040f1flea rdx, [rbp-64]
    01040f23mov [rdx+8], rdi
    01040f27mov [rdx+16], rax
    01040f2bmov [rdx+24], rsi
    01040f2fmov [rdx], 0x1007618
    01040f36lea r15, [rbp-80]
    01040f3amov rdi, r15
    01040f3dmov rsi, r14
    01040f40call compress.flate.Decompress.streamFallible
    01040f45movzx eax, [r15+8]
    01040f4atest ax, ax
    01040f4djne 0x1040f84
    01040f4fand [rbp-32], 0
    01040f53mov rcx, [rbp-40]
    01040f57and [rbp-28], 0
    01040f5c
    01040f5cloc_1040f5c:
    01040f5cmov [r14+40], rcx
    01040f60and [rbx], 0
    01040f64mov [rbx+8], ax
    01040f68mov eax, [rbp-32]
    01040f6bmov [rbx+10], eax
    01040f6emovzx eax, [rbp-28]
    01040f72mov [rbx+14], ax
    01040f76mov rax, rbx
    01040f79add rsp, 56
    01040f7dpop rbx
    01040f7epop r14
    01040f80pop r15
    01040f82pop rbp
    01040f83ret
    01040f84
    01040f84loc_1040f84:
    01040f84mov rcx, [rbp-40]
    01040f88jmp 0x1040f5c
    01040ed4
    01040f8a
    01040f8acompress.flate.Decompress.streamFallible:
    01040f8apush rbp
    01040f8bmov rbp, rsp
    01040f8epush r15
    01040f90push r14
    01040f92push rbx
    01040f93sub rsp, 24
    01040f97mov r14, rsi
    01040f9amov rbx, rdi
    01040f9dlea r15, [rbp-40]
    01040fa1mov rdi, r15
    01040fa4call compress.flate.Decompress.streamInner
    01040fa9movzx eax, [r15+8]
    01040faetest eax, eax
    01040fb0jne 0x1040fcc
    01040fb2mov rax, [rbp-40]
    01040fb6mov [rbx], rax
    01040fb9and [rbx+8], 0
    01040fbe
    01040fbeloc_1040fbe:
    01040fbemov rax, rbx
    01040fc1add rsp, 24
    01040fc5pop rbx
    01040fc6pop r14
    01040fc8pop r15
    01040fcapop rbp
    01040fcbret
    01040fcc
    01040fccloc_1040fcc:
    01040fcccmp eax, 20
    01040fcfje 0x1040fe0
    01040fd1cmp eax, 106
    01040fd4jne 0x1040ff4
    01040fd6vmovups x0, [rip-0x3955e]
    01040fdejmp 0x1041010
    01040fe0
    01040fe0loc_1040fe0:
    01040fe0cmp [r14+3376], 10
    01040fe8jne 0x1040ffe
    01040feavmovups x0, [rip-0x39522]
    01040ff2jmp 0x1041010
    01040ff4
    01040ff4loc_1040ff4:
    01040ff4mov [r14+3378], ax
    01040ffcjmp 0x1041008
    01040ffe
    01040ffeloc_1040ffe:
    01040ffemov [r14+3378], 20
    01041008
    01041008loc_1041008:
    01041008vmovups x0, [rip-0x39690]
    01041010
    01041010loc_1041010:
    01041010vmovups [rbx], x0
    01041014jmp 0x1040fbe
    01040f8a
    01041016
    01041016Io.Writer.unreachableRebase:
    01041016push rbp
    01041017mov rbp, rsp
    01041016
    0104101a
    0104101acompress.flate.Decompress.takeBits:
    0104101apush rbp
    0104101bmov rbp, rsp
    0104101epush r15
    01041020push r14
    01041022push r13
    01041024push r12
    01041026push rbx
    01041027sub rsp, 24
    0104102bmov r12l, edx
    0104102emov r14, rsi
    01041031mov rbx, rdi
    01041034mov rsi, [rsi]
    01041037lea r15, [rbp-64]
    0104103bmov rdi, r15
    0104103ecall Io.Reader.peekArray__func_667
    01041043movzx ecx, [r15+8]
    01041048movzx r15l, r12b
    0104104ctest ecx, ecx
    0104104ejne 0x10410ac
    01041050mov rax, [rbp-64]
    01041054mov eax, [rax]
    01041056mov [rbp-44], eax
    01041059xor eax, eax
    0104105bpush 4
    0104105dpop rcx
    0104105e
    0104105eloc_104105e:
    0104105emovzx edx, [rbp+rcx-45]
    01041063shl eax, 8
    01041066or eax, edx
    01041068dec rcx
    0104106bjne 0x104105e
    0104106dand r12b, 15
    01041071mov cl, [r14+3380]
    01041078and cl, 7
    0104107bshrx eax, eax, ecx
    01041080bzhi r12l, eax, r12l
    01041085
    01041085loc_1041085:
    01041085mov rdi, r14
    01041088mov esi, r15l
    0104108bcall compress.flate.Decompress.tossBits
    01041090mov [rbx], r12w
    01041094xor eax, eax
    01041096
    01041096loc_1041096:
    01041096mov [rbx+2], ax
    0104109amov rax, rbx
    0104109dadd rsp, 24
    010410a1pop rbx
    010410a2pop r12
    010410a4pop r13
    010410a6pop r14
    010410a8pop r15
    010410aapop rbp
    010410abret
    010410ac
    010410acloc_10410ac:
    010410acmov eax, 0x1007ce8
    010410b1cmp ecx, 21
    010410b4je 0x1041115
    010410b6mov rax, [r14]
    010410b9mov rdi, [rax+24]
    010410bdmov rsi, [rax+32]
    010410c1sub rsi, rdi
    010410c4lea rcx, [8*rsi]
    010410ccmovzx r13l, [r14+3380]
    010410d4and r13l, 7
    010410d8sub rcx, r13
    010410dbmov edx, r15l
    010410deand edx, 15
    010410e1cmp rcx, rdx
    010410e4jae 0x10410f2
    010410e6lea rax, [rbp-48]
    010410eamov [rax], 0x140000
    010410f0jmp 0x1041115
    010410f2
    010410f2loc_10410f2:
    010410f2add rdi, [rax+8]
    010410f6call mem.readVarInt__func_668
    010410fband r12b, 15
    010410ffshrx eax, eax, r13l
    01041104bzhi ecx, eax, r12l
    01041109lea rax, [rbp-48]
    0104110dmov [rax], cx
    01041110and [rax+2], 0
    01041115
    01041115loc_1041115:
    01041115mov r12l, [rax]
    01041118mov eax, r12l
    0104111bshr eax, 16
    0104111eje 0x1041085
    01041124jmp 0x1041096
    0104101a
    01041129
    01041129compress.flate.Decompress.takeIntBits__func_666:
    01041129push rbp
    0104112amov rbp, rsp
    0104112dpush r14
    0104112fpush rbx
    01041130sub rsp, 16
    01041134mov rbx, rdi
    01041137lea r14, [rbp-20]
    0104113bpush 1
    0104113dpop rdx
    0104113emov rdi, r14
    01041141call compress.flate.Decompress.takeBits
    01041146movzx eax, [r14+2]
    0104114btest ax, ax
    0104114ejne 0x1041156
    01041150mov cl, [rbp-20]
    01041153mov [rbx+2], cl
    01041156
    01041156loc_1041156:
    01041156mov [rbx], ax
    01041159mov rax, rbx
    0104115cadd rsp, 16
    01041160pop rbx
    01041161pop r14
    01041163pop rbp
    01041164ret
    01041129
    01041165
    01041165compress.flate.Decompress.takeIntBits__func_669:
    01041165push rbp
    01041166mov rbp, rsp
    01041169push r14
    0104116bpush rbx
    0104116csub rsp, 16
    01041170mov rbx, rdi
    01041173lea r14, [rbp-20]
    01041177push 2
    01041179pop rdx
    0104117amov rdi, r14
    0104117dcall compress.flate.Decompress.takeBits
    01041182movzx eax, [r14+2]
    01041187test ax, ax
    0104118ajne 0x1041192
    0104118cmov cl, [rbp-20]
    0104118fmov [rbx+2], cl
    01041192
    01041192loc_1041192:
    01041192mov [rbx], ax
    01041195mov rax, rbx
    01041198add rsp, 16
    0104119cpop rbx
    0104119dpop r14
    0104119fpop rbp
    010411a0ret
    01041165
    010411a1
    010411a1compress.flate.Decompress.takeIntBits__func_670:
    010411a1push rbp
    010411a2mov rbp, rsp
    010411a5push r14
    010411a7push rbx
    010411a8sub rsp, 16
    010411acmov rbx, rdi
    010411aflea r14, [rbp-20]
    010411b3push 5
    010411b5pop rdx
    010411b6mov rdi, r14
    010411b9call compress.flate.Decompress.takeBits
    010411bemovzx eax, [r14+2]
    010411c3test ax, ax
    010411c6jne 0x10411ce
    010411c8mov cl, [rbp-20]
    010411cbmov [rbx+2], cl
    010411ce
    010411celoc_10411ce:
    010411cemov [rbx], ax
    010411d1mov rax, rbx
    010411d4add rsp, 16
    010411d8pop rbx
    010411d9pop r14
    010411dbpop rbp
    010411dcret
    010411a1
    010411dd
    010411ddcompress.flate.Decompress.takeIntBits__func_672:
    010411ddpush rbp
    010411demov rbp, rsp
    010411e1push r14
    010411e3push rbx
    010411e4sub rsp, 16
    010411e8mov rbx, rdi
    010411eblea r14, [rbp-20]
    010411efpush 3
    010411f1pop rdx
    010411f2mov rdi, r14
    010411f5call compress.flate.Decompress.takeBits
    010411famovzx eax, [r14+2]
    010411fftest ax, ax
    01041202jne 0x104120a
    01041204mov cl, [rbp-20]
    01041207mov [rbx+2], cl
    0104120a
    0104120aloc_104120a:
    0104120amov [rbx], ax
    0104120dmov rax, rbx
    01041210add rsp, 16
    01041214pop rbx
    01041215pop r14
    01041217pop rbp
    01041218ret
    010411dd
    01041219
    01041219compress.flate.Decompress.peekBitsShort:
    01041219push rbp
    0104121amov rbp, rsp
    0104121dpush r15
    0104121fpush r14
    01041221push r12
    01041223push rbx
    01041224sub rsp, 32
    01041228mov r14l, edx
    0104122bmov r15, rsi
    0104122emov rbx, rdi
    01041231mov rsi, [rsi]
    01041234lea r12, [rbp-56]
    01041238mov rdi, r12
    0104123bcall Io.Reader.peekArray__func_667
    01041240movzx ecx, [r12+8]
    01041246test ecx, ecx
    01041248jne 0x1041297
    0104124amov rax, [rbp-56]
    0104124emov eax, [rax]
    01041250mov [rbp-36], eax
    01041253xor eax, eax
    01041255push 4
    01041257pop rcx
    01041258
    01041258loc_1041258:
    01041258movzx edx, [rbp+rcx-37]
    0104125dshl eax, 8
    01041260or eax, edx
    01041262dec rcx
    01041265jne 0x1041258
    01041267and r14b, 15
    0104126bmov cl, [r15+3380]
    01041272and cl, 7
    01041275shrx eax, eax, ecx
    0104127abzhi eax, eax, r14l
    0104127fmov [rbx], ax
    01041282and [rbx+2], 0
    01041287
    01041287loc_1041287:
    01041287mov rax, rbx
    0104128aadd rsp, 32
    0104128epop rbx
    0104128fpop r12
    01041291pop r14
    01041293pop r15
    01041295pop rbp
    01041296ret
    01041297
    01041297loc_1041297:
    01041297mov eax, 0x1007ce8
    0104129ccmp ecx, 21
    0104129fje 0x10412df
    010412a1mov rax, [r15]
    010412a4mov rcx, [rax+24]
    010412a8mov rsi, [rax+32]
    010412acmov rdi, [rax+8]
    010412b0add rdi, rcx
    010412b3sub rsi, rcx
    010412b6call mem.readVarInt__func_668
    010412bband r14b, 15
    010412bfmov cl, [r15+3380]
    010412c6and cl, 7
    010412c9shrx eax, eax, ecx
    010412cebzhi ecx, eax, r14l
    010412d3lea rax, [rbp-40]
    010412d7mov [rax], cx
    010412daand [rax+2], 0
    010412df
    010412dfloc_10412df:
    010412dfmov eax, [rax]
    010412e1mov [rbx], eax
    010412e3jmp 0x1041287
    01041219
    010412e5
    010412e5compress.flate.Decompress.tossBitsShort:
    010412e5mov rax, [rdi]
    010412e8mov rcx, [rax+32]
    010412ecsub rcx, [rax+24]
    010412f0shl rcx, 3
    010412f4movzx eax, [rdi+3380]
    010412fband eax, 7
    010412fesub rcx, rax
    01041301mov edx, esi
    01041303and edx, 15
    01041306mov ax, 20
    0104130acmp rcx, rdx
    0104130djb 0x104131f
    0104130fpush rbp
    01041310mov rbp, rsp
    01041313movzx esi, sil
    01041317call compress.flate.Decompress.tossBits
    0104131cxor eax, eax
    0104131epop rbp
    0104131f
    0104131floc_104131f:
    0104131fret
    010412e5
    01041320
    01041320compress.flate.Decompress.takeIntBits__func_674:
    01041320push rbp
    01041321mov rbp, rsp
    01041324push r14
    01041326push rbx
    01041327sub rsp, 16
    0104132bmov rbx, rdi
    0104132elea r14, [rbp-20]
    01041332push 7
    01041334pop rdx
    01041335mov rdi, r14
    01041338call compress.flate.Decompress.takeBits
    0104133dmovzx eax, [r14+2]
    01041342test ax, ax
    01041345jne 0x104134d
    01041347mov cl, [rbp-20]
    0104134amov [rbx+2], cl
    0104134d
    0104134dloc_104134d:
    0104134dmov [rbx], ax
    01041350mov rax, rbx
    01041353add rsp, 16
    01041357pop rbx
    01041358pop r14
    0104135apop rbp
    0104135bret
    01041320
    0104135c
    0104135ccompress.flate.Decompress.decodeLength:
    0104135cpush rbp
    0104135dmov rbp, rsp
    01041360push r15
    01041362push r14
    01041364push rbx
    01041365push rax
    01041366mov rbx, rdi
    01041369mov ecx, edx
    0104136band cl, 31
    0104136ecmp cl, 28
    01041371jbe 0x104137b
    01041373mov [rbx], 0x890000
    01041379jmp 0x10413d6
    0104137b
    0104137bloc_104137b:
    0104137bjne 0x1041386
    0104137dmov r15w, 255
    01041382xor eax, eax
    01041384jmp 0x10413a8
    01041386
    01041386loc_1041386:
    01041386mov eax, ecx
    01041388shr al, 2
    0104138bcmp cl, 8
    0104138ejb 0x10413a0
    01041390and dl, 3
    01041393or dl, 4
    01041396lea ecx, [rax-1]
    01041399and cl, 7
    0104139cshl dl, cl
    0104139emov ecx, edx
    010413a0
    010413a0loc_10413a0:
    010413a0cmp al, 1
    010413a2adc al, -1
    010413a4movzx r15l, cl
    010413a8
    010413a8loc_10413a8:
    010413a8movzx edx, al
    010413aband edx, 7
    010413aelea r14, [rbp-28]
    010413b2mov rdi, r14
    010413b5call compress.flate.Decompress.takeBits
    010413bamovzx eax, [r14+2]
    010413bftest ax, ax
    010413c2jne 0x10413e4
    010413c4or r15w, [rbp-28]
    010413c9add r15l, 3
    010413cdmov [rbx], r15w
    010413d1and [rbx+2], 0
    010413d6
    010413d6loc_10413d6:
    010413d6mov rax, rbx
    010413d9add rsp, 8
    010413ddpop rbx
    010413depop r14
    010413e0pop r15
    010413e2pop rbp
    010413e3ret
    010413e4
    010413e4loc_10413e4:
    010413e4mov [rbx+2], ax
    010413e8jmp 0x10413d6
    0104135c
    010413ea
    010413eacompress.flate.Decompress.decodeDistance:
    010413eapush rbp
    010413ebmov rbp, rsp
    010413eepush r15
    010413f0push r14
    010413f2push rbx
    010413f3push rax
    010413f4mov rbx, rdi
    010413f7mov eax, edx
    010413f9and al, 31
    010413fbcmp al, 29
    010413fdjbe 0x1041407
    010413ffmov [rbx], 0x890000
    01041405jmp 0x104146e
    01041407
    01041407loc_1041407:
    01041407cmp al, 3
    01041409ja 0x104141a
    0104140bmovzx r15l, dl
    0104140fand r15l, 31
    01041413and dl, 30
    01041416shr dl, 1
    01041418jmp 0x1041437
    0104141a
    0104141aloc_104141a:
    0104141amov eax, edx
    0104141cshr al, 1
    0104141emov ecx, eax
    01041420and cl, 15
    01041423and dl, 1
    01041426or dl, 2
    01041429movzx edx, dl
    0104142cdec al
    0104142eand al, 15
    01041430shlx r15l, edx, eax
    01041435mov edx, ecx
    01041437
    01041437loc_1041437:
    01041437cmp dl, 1
    0104143aadc dl, -1
    0104143dmovzx edx, dl
    01041440lea r14, [rbp-28]
    01041444mov rdi, r14
    01041447call compress.flate.Decompress.takeBits
    0104144cmovzx eax, [r14+2]
    01041451test ax, ax
    01041454jne 0x104147c
    01041456and r15l, 32767
    0104145dor r15w, [rbp-28]
    01041462inc r15l
    01041465mov [rbx], r15w
    01041469and [rbx+2], 0
    0104146e
    0104146eloc_104146e:
    0104146emov rax, rbx
    01041471add rsp, 8
    01041475pop rbx
    01041476pop r14
    01041478pop r15
    0104147apop rbp
    0104147bret
    0104147c
    0104147cloc_104147c:
    0104147cmov [rbx+2], ax
    01041480jmp 0x104146e
    010413ea
    01041482
    01041482compress.flate.Decompress.writeMatch:
    01041482push rbp
    01041483mov rbp, rsp
    01041486push r15
    01041488push r14
    0104148apush r13
    0104148cpush r12
    0104148epush rbx
    0104148fsub rsp, 24
    01041493mov r14l, edx
    01041496movzx r13l, r14w
    0104149amov ax, 138
    0104149ecmp [rdi+24], r13
    010414a2jb 0x1041502
    010414a4mov r15l, esi
    010414a7mov r12, rdi
    010414aamovzx ebx, r15w
    010414aelea rdi, [rbp-64]
    010414b2mov edx, 32768
    010414b7mov rsi, r12
    010414bamov rcx, rbx
    010414bdcall Io.Writer.writableSliceGreedyPreserve
    010414c2lea rax, [rbp-64]
    010414c6movzx eax, [rax+16]
    010414catest ax, ax
    010414cdjne 0x1041502
    010414cfmov rdi, [rbp-64]
    010414d3add [r12+24], rbx
    010414d8mov rsi, rdi
    010414dbsub rsi, r13
    010414decmp r14w, r15w
    010414e2jae 0x10414f8
    010414e4cmp r14w, 1
    010414e9jne 0x1041511
    010414ebmovzx esi, [rsi]
    010414eemov rdx, rbx
    010414f1call compiler_rt.smallMemset
    010414f6jmp 0x1041500
    010414f8
    010414f8loc_10414f8:
    010414f8mov rdx, rbx
    010414fbcall compiler_rt.memcpy.memcpySmall
    01041500
    01041500loc_1041500:
    01041500xor eax, eax
    01041502
    01041502loc_1041502:
    01041502add rsp, 24
    01041506pop rbx
    01041507pop r12
    01041509pop r13
    0104150bpop r14
    0104150dpop r15
    0104150fpop rbp
    01041510ret
    01041511
    01041511loc_1041511:
    01041511xor eax, eax
    01041513
    01041513loc_1041513:
    01041513cmp rbx, rax
    01041516je 0x1041500
    01041518mov cl, [rsi+rax]
    0104151bmov [rdi+rax], cl
    0104151einc rax
    01041521jmp 0x1041513
    01041482
    01041523
    01041523compress.flate.Decompress.peekIntBitsShort__func_676:
    01041523push rbp
    01041524mov rbp, rsp
    01041527push r14
    01041529push rbx
    0104152asub rsp, 16
    0104152emov rbx, rdi
    01041531lea r14, [rbp-20]
    01041535push 15
    01041537pop rdx
    01041538mov rdi, r14
    0104153bcall compress.flate.Decompress.peekBitsShort
    01041540movzx eax, [r14+2]
    01041545test ax, ax
    01041548jne 0x1041551
    0104154amovzx ecx, [rbp-20]
    0104154emov [rbx], cx
    01041551
    01041551loc_1041551:
    01041551mov [rbx+2], ax
    01041555mov rax, rbx
    01041558add rsp, 16
    0104155cpop rbx
    0104155dpop r14
    0104155fpop rbp
    01041560ret
    01041523
    01041561
    01041561compress.flate.Decompress.streamInner:
    01041561push rbp
    01041562mov rbp, rsp
    01041565push r15
    01041567push r14
    01041569push r13
    0104156bpush r12
    0104156dpush rbx
    0104156esub rsp, 10200
    01041575mov r12, rcx
    01041578mov [rbp-64], rdx
    0104157cmov r15, rsi
    0104157fmov [rbp-48], rdi
    01041583mov rax, [rsi]
    01041586mov [rbp-72], rax
    0104158alea rax, [rsi+3372]
    01041591mov [rbp-256], rax
    01041598movzx ebx, [rsi+3372]
    0104159fmovzx r14l, [rsi+3374]
    010415a7movzx eax, [rsi+3376]
    010415aemov [rbp-80], rcx
    010415b2jmp [8*rax+0x1007640]
    010415b9movzx eax, [r15+56]
    010415becmp eax, 2
    010415c1mov rcx, [rbp-72]
    010415c5je 0x10416c2
    010415cbcmp eax, 1
    010415cejne 0x10416f4
    010415d4lea rsi, [rbp-238]
    010415dbpush 10
    010415ddpop rdx
    010415demov rdi, rcx
    010415e1call Io.Reader.readSliceAll
    010415e6test ax, ax
    010415e9jne 0x1042536
    010415efcmp [rbp-238], -29921
    010415f8jne 0x1042305
    010415fecmp [rbp-236], 8
    01041605jne 0x1042305
    0104160bmov r14b, [rbp-235]
    01041612test r14b, 4
    01041616je 0x1041656
    01041618lea rbx, [rbp-320]
    0104161fmov rdi, rbx
    01041622mov r13, [rbp-72]
    01041626mov rsi, r13
    01041629call Io.Reader.takeArray__func_118
    0104162emovzx eax, [rbx+8]
    01041632test ax, ax
    01041635jne 0x1042536
    0104163bmov rax, [rbp-320]
    01041642movzx esi, [rax]
    01041645mov rdi, r13
    01041648call Io.Reader.discardAll
    0104164dtest ax, ax
    01041650jne 0x1042536
    01041656
    01041656loc_1041656:
    01041656test r14b, 8
    0104165aje 0x104167e
    0104165clea rbx, [rbp-472]
    01041663mov rdi, rbx
    01041666mov rsi, [rbp-72]
    0104166axor edx, edx
    0104166ccall Io.Reader.discardDelimiterInclusive
    01041671movzx eax, [rbx+8]
    01041675test ax, ax
    01041678jne 0x1042536
    0104167e
    0104167eloc_104167e:
    0104167etest r14b, 16
    01041682je 0x10416a6
    01041684lea rbx, [rbp-488]
    0104168bmov rdi, rbx
    0104168emov rsi, [rbp-72]
    01041692xor edx, edx
    01041694call Io.Reader.discardDelimiterInclusive
    01041699movzx eax, [rbx+8]
    0104169dtest ax, ax
    010416a0jne 0x1042536
    010416a6
    010416a6loc_10416a6:
    010416a6test r14b, 2
    010416aaje 0x10416f4
    010416acpush 2
    010416aepop rsi
    010416afmov rdi, [rbp-72]
    010416b3call Io.Reader.discardAll
    010416b8test ax, ax
    010416bbje 0x10416f4
    010416bdjmp 0x1042536
    010416c2
    010416c2loc_10416c2:
    010416c2lea rbx, [rbp-336]
    010416c9mov rdi, rbx
    010416ccmov rsi, rcx
    010416cfcall Io.Reader.takeArray__func_118
    010416d4movzx eax, [rbx+8]
    010416d8test ax, ax
    010416dbjne 0x1042536
    010416e1mov rax, [rbp-336]
    010416e8mov al, [rax]
    010416eaand al, 143
    010416eccmp al, 8
    010416eejne 0x10422f8
    010416f4
    010416f4loc_10416f4:
    010416f4lea rbx, [rbp-184]
    010416fbmov rdi, rbx
    010416femov rsi, r15
    01041701call compress.flate.Decompress.takeIntBits__func_666
    01041706movzx eax, [rbx]
    01041709test ax, ax
    0104170cjne 0x1042536
    01041712mov al, [rbp-182]
    01041718and al, 1
    0104171amov [r15+3381], al
    01041721lea rbx, [rbp-188]
    01041728mov rdi, rbx
    0104172bmov rsi, r15
    0104172ecall compress.flate.Decompress.takeIntBits__func_669
    01041733movzx eax, [rbx]
    01041736test ax, ax
    01041739jne 0x1042536
    0104173fmovzx eax, [rbp-186]
    01041746jmp [8*rax+0x1002c68]
    0104174dlea rbx, [rbp-192]
    01041754mov rdi, rbx
    01041757mov rsi, r15
    0104175acall compress.flate.Decompress.takeIntBits__func_670
    0104175fmovzx eax, [rbx]
    01041762test ax, ax
    01041765jne 0x1042536
    0104176bmovzx r13l, [rbp-190]
    01041773lea rbx, [rbp-196]
    0104177amov rdi, rbx
    0104177dmov rsi, r15
    01041780call compress.flate.Decompress.takeIntBits__func_670
    01041785movzx eax, [rbx]
    01041788test ax, ax
    0104178bjne 0x1042536
    01041791movzx r14l, [rbp-194]
    01041799lea rbx, [rbp-10228]
    010417a0push 4
    010417a2pop rdx
    010417a3mov rdi, rbx
    010417a6mov rsi, r15
    010417a9call compress.flate.Decompress.takeBits
    010417aemovzx eax, [rbx+2]
    010417b2test ax, ax
    010417b5jne 0x1042536
    010417bband r13l, 31
    010417bfmov [rbp-56], r13
    010417c3cmp r13b, 29
    010417c7ja 0x104224c
    010417cdmov rax, r14
    010417d0and eax, 31
    010417d3cmp al, 30
    010417d5jae 0x104224c
    010417dbvxorps x0, x0, x0
    010417dfvmovaps [rbp-288], x0
    010417e7add [rbp-56], 257
    010417efand [rbp-273], 0
    010417f6inc rax
    010417f9mov [rbp-248], rax
    01041800movzx r14l, [rbp-10228]
    01041808push -4
    0104180apop r13
    0104180c
    0104180cloc_104180c:
    0104180ccmp r14, r13
    0104180fje 0x1041843
    01041811movzx ebx, [r13+0x10076a8]
    01041819lea rdi, [rbp-92]
    0104181dmov rsi, r15
    01041820call compress.flate.Decompress.takeIntBits__func_672
    01041825movzx eax, [rbp-92]
    01041829test ax, ax
    0104182cjne 0x1042536
    01041832mov al, [rbp-90]
    01041835and al, 7
    01041837mov [rbp+rbx-288], al
    0104183einc r13
    01041841jmp 0x104180c
    01041843
    01041843loc_1041843:
    01041843vxorps x0, x0, x0
    01041847vmovaps [rbp-160], x0
    0104184fxor eax, eax
    01041851xor ecx, ecx
    01041853
    01041853loc_1041853:
    01041853cmp rax, 19
    01041857je 0x104187f
    01041859movzx edx, [rbp+rax-288]
    01041861test rdx, rdx
    01041864je 0x104187a
    01041866and edx, 15
    01041869cmp rcx, rdx
    0104186ccmovbe rcx, rdx
    01041870mov edx, edx
    01041872inc [rbp+2*rdx-160]
    0104187a
    0104187aloc_104187a:
    0104187ainc rax
    0104187djmp 0x1041853
    0104187f
    0104187floc_104187f:
    0104187ftest rcx, rcx
    01041882je 0x10418b1
    01041884push 1
    01041886pop rax
    01041887mov rcx, rax
    0104188a
    0104188aloc_104188a:
    0104188acmp rax, 8
    0104188eje 0x10418a8
    01041890add rcx, rcx
    01041893movzx edx, [rbp+2*rax-160]
    0104189binc rax
    0104189esub rcx, rdx
    010418a1jae 0x104188a
    010418a3jmp 0x1041f54
    010418a8
    010418a8loc_10418a8:
    010418a8test rcx, rcx
    010418abjne 0x10422ef
    010418b1
    010418b1loc_10418b1:
    010418b1vxorps x0, x0, x0
    010418b5vmovaps [rbp-128], x0
    010418baxor eax, eax
    010418bc
    010418bcloc_10418bc:
    010418bccmp rax, 19
    010418c0je 0x10418f9
    010418c2movzx ecx, [rbp+rax-288]
    010418camov edx, ecx
    010418ccand edx, 15
    010418cfimul rsi, rdx, 38
    010418d3add rsi, rbp
    010418d6add rsi, -10228
    010418ddmov edx, edx
    010418dfmovzx edi, [rbp+2*rdx-128]
    010418e4shl ecx, 12
    010418e7add ecx, eax
    010418e9mov [rsi+2*rdi], cx
    010418edinc edi
    010418efmov [rbp+2*rdx-128], di
    010418f4inc rax
    010418f7jmp 0x10418bc
    010418f9
    010418f9loc_10418f9:
    010418f9xor esi, esi
    010418fbxor r9l, r9l
    010418fexor r11l, r11l
    01041901
    01041901loc_1041901:
    01041901cmp rsi, 7
    01041905je 0x10419ac
    0104190blea rax, [rsi+1]
    0104190fmov cl, 6
    01041911sub cl, sil
    01041914push 1
    01041916pop rdx
    01041917shlx ecx, edx, ecx
    0104191cimul rdx, rax, 38
    01041920add rdx, rbp
    01041923add rdx, -10228
    0104192amovzx esi, [rbp+2*rsi-126]
    0104192fmovzx edi, r11w
    01041933add r11l, ecx
    01041936mov r10l, r11l
    01041939mov r11, rdi
    0104193cxor edi, edi
    0104193e
    0104193eloc_104193e:
    0104193emovzx r10l, r10w
    01041942lea r8, [r11+rcx]
    01041946cmp rdi, rsi
    01041949je 0x10419a4
    0104194bmovzx r11l, [rdx+2*rdi]
    01041950movzx r9l, r9w
    01041954
    01041954loc_1041954:
    01041954cmp r10, r9
    01041957je 0x1041996
    01041959mov ebx, r9l
    0104195crol bl, 4
    0104195fmov r14l, ebx
    01041962and r14b, 51
    01041966shl r14b, 2
    0104196ashr bl, 2
    0104196dand bl, 51
    01041970or bl, r14b
    01041973mov r14l, ebx
    01041976and r14b, 85
    0104197aadd r14b, r14b
    0104197dshr bl, 1
    0104197fand bl, 84
    01041982or bl, r14b
    01041985movzx ebx, bl
    01041988mov [rbp+rbx-1076], r11w
    01041991inc r9
    01041994jmp 0x1041954
    01041996
    01041996loc_1041996:
    01041996inc rdi
    01041999add r10l, ecx
    0104199cmov r11, r8
    0104199fmov r9l, r8l
    010419a2jmp 0x104193e
    010419a4
    010419a4loc_10419a4:
    010419a4mov rsi, rax
    010419a7jmp 0x1041901
    010419ac
    010419acloc_10419ac:
    010419acmovzx eax, r9w
    010419b0
    010419b0loc_10419b0:
    010419b0cmp rax, 128
    010419b6je 0x10419ed
    010419b8mov ecx, eax
    010419barol cl, 4
    010419bdmov edx, ecx
    010419bfand dl, 51
    010419c2shl dl, 2
    010419c5shr cl, 2
    010419c8and cl, 51
    010419cbor cl, dl
    010419cdmov edx, ecx
    010419cfand dl, 85
    010419d2add dl, dl
    010419d4shr cl, 1
    010419d6and cl, 84
    010419d9or cl, dl
    010419dbmovzx ecx, cl
    010419demov [rbp+rcx-1076], 4095
    010419e8inc rax
    010419ebjmp 0x10419b0
    010419ed
    010419edloc_10419ed:
    010419edxor r14l, r14l
    010419f0lea rdi, [rbp-820]
    010419f7mov ecx, 316
    010419fcxor eax, eax
    010419ferep stosb [rdi], al
    01041a00mov rbx, [rbp-56]
    01041a04add rbx, [rbp-248]
    01041a0b
    01041a0bloc_1041a0b:
    01041a0bcmp r14, rbx
    01041a0ejae 0x1041b72
    01041a14lea rdi, [rbp-10228]
    01041a1bmov rsi, r15
    01041a1epush 7
    01041a20pop rdx
    01041a21call compress.flate.Decompress.peekBitsShort
    01041a26movzx eax, [rbp-10226]
    01041a2dtest ax, ax
    01041a30jne 0x1042536
    01041a36movzx eax, [rbp-10228]
    01041a3dmovzx r13l, [rbp+2*rax-1076]
    01041a46cmp r13l, 4095
    01041a4djbe 0x1041bc5
    01041a53mov esi, r13l
    01041a56shr esi, 12
    01041a59mov rdi, r15
    01041a5ccall compress.flate.Decompress.tossBitsShort
    01041a61test ax, ax
    01041a64jne 0x1042536
    01041a6amov eax, r13l
    01041a6dand eax, 4095
    01041a72cmp eax, 18
    01041a75je 0x1041b26
    01041a7bcmp eax, 17
    01041a7eje 0x1041af7
    01041a80cmp eax, 16
    01041a83jne 0x1041b55
    01041a89lea rdi, [rbp-128]
    01041a8dmov rsi, r15
    01041a90call compress.flate.Decompress.takeIntBits__func_669
    01041a95movzx ecx, [rbp-128]
    01041a99test cx, cx
    01041a9cjne 0x1041f61
    01041aa2mov cx, 141
    01041aa6test r14, r14
    01041aa9je 0x1041f61
    01041aafmovzx eax, [rbp-126]
    01041ab3and eax, 3
    01041ab6lea rdx, [r14+rax]
    01041abaadd rdx, 3
    01041abecmp rdx, 316
    01041ac5ja 0x1041f61
    01041acbadd rax, 3
    01041acflea rcx, [r14+rbp]
    01041ad3add rcx, -820
    01041adaxor edx, edx
    01041adc
    01041adcloc_1041adc:
    01041adccmp rax, rdx
    01041adfje 0x1041b6a
    01041ae5mov sil, [rcx+rdx-1]
    01041aeaand sil, 15
    01041aeemov [rcx+rdx], sil
    01041af2inc rdx
    01041af5jmp 0x1041adc
    01041af7
    01041af7loc_1041af7:
    01041af7lea rdi, [rbp-160]
    01041afemov rsi, r15
    01041b01call compress.flate.Decompress.takeIntBits__func_672
    01041b06movzx ecx, [rbp-160]
    01041b0dtest cx, cx
    01041b10jne 0x1041f61
    01041b16movzx eax, [rbp-158]
    01041b1dand eax, 7
    01041b20add rax, 3
    01041b24jmp 0x1041b6a
    01041b26
    01041b26loc_1041b26:
    01041b26lea rdi, [rbp-10228]
    01041b2dmov rsi, r15
    01041b30call compress.flate.Decompress.takeIntBits__func_674
    01041b35movzx ecx, [rbp-10228]
    01041b3ctest cx, cx
    01041b3fjne 0x1041f61
    01041b45movzx eax, [rbp-10226]
    01041b4cand eax, 127
    01041b4fadd rax, 11
    01041b53jmp 0x1041b6a
    01041b55
    01041b55loc_1041b55:
    01041b55cmp ax, 16
    01041b59jae 0x1041f5d
    01041b5fmov [rbp+r14-820], r13b
    01041b67push 1
    01041b69pop rax
    01041b6a
    01041b6aloc_1041b6a:
    01041b6aadd r14, rax
    01041b6djmp 0x1041a0b
    01041b72
    01041b72loc_1041b72:
    01041b72ja 0x104224c
    01041b78cmp [rbp-564], 0
    01041b7fje 0x1042312
    01041b85movzx r8l, [rbp-56]
    01041b8avxorps x0, x0, x0
    01041b8evmovups [rbp-160], ymm0
    01041b96xor ecx, ecx
    01041b98xor eax, eax
    01041b9a
    01041b9aloc_1041b9a:
    01041b9acmp r8, rcx
    01041b9dje 0x1041bd4
    01041b9fmovzx edx, [rbp+rcx-820]
    01041ba7test rdx, rdx
    01041baaje 0x1041bc0
    01041bacand edx, 15
    01041bafcmp rax, rdx
    01041bb2cmovbe rax, rdx
    01041bb6mov edx, edx
    01041bb8inc [rbp+2*rdx-160]
    01041bc0
    01041bc0loc_1041bc0:
    01041bc0inc rcx
    01041bc3jmp 0x1041b9a
    01041bc5
    01041bc5loc_1041bc5:
    01041bc5mov rax, [rbp-48]
    01041bc9mov [rax+8], 137
    01041bcfjmp 0x1042541
    01041bd4
    01041bd4loc_1041bd4:
    01041bd4test rax, rax
    01041bd7je 0x1041c1d
    01041bd9push 1
    01041bdbpop rcx
    01041bdcmov rdx, rcx
    01041bdf
    01041bdfloc_1041bdf:
    01041bdfcmp rcx, 16
    01041be3je 0x1041bfe
    01041be5add rdx, rdx
    01041be8movzx esi, [rbp+2*rcx-160]
    01041bf0inc rcx
    01041bf3sub rdx, rsi
    01041bf6jb 0x1041f54
    01041bfcjmp 0x1041bdf
    01041bfe
    01041bfeloc_1041bfe:
    01041bfetest rdx, rdx
    01041c01je 0x1041c1d
    01041c03movzx ecx, [rbp-160]
    01041c0amovzx edx, [rbp-158]
    01041c11add rdx, rcx
    01041c14cmp rax, rdx
    01041c17jne 0x10422ef
    01041c1d
    01041c1dloc_1041c1d:
    01041c1dvxorps x0, x0, x0
    01041c21vmovups [rbp-128], ymm0
    01041c26xor eax, eax
    01041c28
    01041c28loc_1041c28:
    01041c28cmp r8, rax
    01041c2bje 0x1041c67
    01041c2dmovzx ecx, [rbp+rax-820]
    01041c35mov edx, ecx
    01041c37and edx, 15
    01041c3aimul rsi, rdx, 572
    01041c41add rsi, rbp
    01041c44add rsi, -10228
    01041c4bmov edx, edx
    01041c4dmovzx edi, [rbp+2*rdx-128]
    01041c52shl ecx, 12
    01041c55add ecx, eax
    01041c57mov [rsi+2*rdi], cx
    01041c5binc edi
    01041c5dmov [rbp+2*rdx-128], di
    01041c62inc rax
    01041c65jmp 0x1041c28
    01041c67
    01041c67loc_1041c67:
    01041c67mov [rbp-296], r8
    01041c6exor eax, eax
    01041c70mov edx, 3855
    01041c75mov esi, 13107
    01041c7axor edi, edi
    01041c7cxor ecx, ecx
    01041c7e
    01041c7eloc_1041c7e:
    01041c7ecmp rax, 9
    01041c82je 0x1041d5a
    01041c88lea r10, [rax+1]
    01041c8cmov r8b, 14
    01041c8fsub r8b, al
    01041c92push 1
    01041c94pop r9
    01041c96shlx r9l, r9l, r8l
    01041c9bmov [rbp-168], r10
    01041ca2imul r8, r10, 572
    01041ca9add r8, rbp
    01041cacadd r8, -10228
    01041cb3mov [rbp-88], r8
    01041cb7movzx eax, [rbp+2*rax-126]
    01041cbcmov [rbp-56], rax
    01041cc0lea eax, [rcx+r9]
    01041cc4xor ebx, ebx
    01041cc6
    01041cc6loc_1041cc6:
    01041cc6movzx r8l, ax
    01041ccashr r8l, 6
    01041ccelea r14l, [rcx+r9]
    01041cd2cmp rbx, [rbp-56]
    01041cd6je 0x1041d4e
    01041cd8movzx r13l, r14w
    01041cdcshr r13l, 6
    01041ce0mov rcx, [rbp-88]
    01041ce4movzx ecx, [rcx+2*rbx]
    01041ce8movzx r10l, di
    01041cec
    01041cecloc_1041cec:
    01041ceccmp r8, r10
    01041cefje 0x1041d3d
    01041cf1mov edi, r10l
    01041cf4rol di, 8
    01041cf8mov r11l, edi
    01041cfbshr r11l, 4
    01041cffand r11l, edx
    01041d02and edi, edx
    01041d04shl edi, 4
    01041d07or edi, r11l
    01041d0amov r11l, edi
    01041d0dand r11l, esi
    01041d10shr edi, 2
    01041d13and edi, esi
    01041d15lea edi, [rdi+4*r11]
    01041d19mov r11l, edi
    01041d1cand r11l, 21824
    01041d23shr edi, 1
    01041d25and edi, 21760
    01041d2blea edi, [rdi+2*r11]
    01041d2fshr edi, 6
    01041d32mov [r15+rdi+60], cx
    01041d38inc r10
    01041d3bjmp 0x1041cec
    01041d3d
    01041d3dloc_1041d3d:
    01041d3dinc rbx
    01041d40add eax, r9l
    01041d43mov ecx, r14l
    01041d46mov edi, r13l
    01041d49jmp 0x1041cc6
    01041d4e
    01041d4eloc_1041d4e:
    01041d4emov rax, [rbp-168]
    01041d55jmp 0x1041c7e
    01041d5a
    01041d5aloc_1041d5a:
    01041d5alea rax, [rbp-4508]
    01041d61mov [rbp-56], rax
    01041d65xor esi, esi
    01041d67mov r8l, 3855
    01041d6dmov r9l, 13107
    01041d73
    01041d73loc_1041d73:
    01041d73cmp rsi, 6
    01041d77je 0x1041e88
    01041d7dmov al, 5
    01041d7fsub al, sil
    01041d82push 1
    01041d84pop rdx
    01041d85shlx eax, edx, eax
    01041d8amov [rbp-88], rsi
    01041d8emovzx r10l, [rbp+2*rsi-108]
    01041d94movzx r11l, ax
    01041d98xor ebx, ebx
    01041d9a
    01041d9aloc_1041d9a:
    01041d9acmp r10, rbx
    01041d9dje 0x1041e74
    01041da3mov rax, [rbp-56]
    01041da7movzx r14l, [rax+2*rbx]
    01041daclea eax, [rcx+r11]
    01041db0movzx esi, ax
    01041db3shr esi, 6
    01041db6rol di, 8
    01041dbamov r13l, edi
    01041dbdshr r13l, 4
    01041dc1and r13l, r8l
    01041dc4and edi, r8l
    01041dc7shl edi, 4
    01041dcaor edi, r13l
    01041dcdmov r13l, edi
    01041dd0and r13l, r9l
    01041dd3shr edi, 2
    01041dd6and edi, r9l
    01041dd9lea edi, [rdi+4*r13]
    01041dddmov r13l, edi
    01041de0and r13l, 21824
    01041de7shr edi, 1
    01041de9and edi, 21760
    01041deflea edi, [rdi+2*r13]
    01041df3shr edi, 6
    01041df6movzx r13l, [r15+rdi+60]
    01041dfcand r13l, 4095
    01041e03mov edx, r14l
    01041e06and edx, 61440
    01041e0cor edx, r13l
    01041e0fand r14l, 4095
    01041e16mov r13l, r14l
    01041e19mov [r15+4*r13+1084], dx
    01041e22rol cx, 8
    01041e26mov edx, ecx
    01041e28shr edx, 4
    01041e2band edx, r8l
    01041e2eand ecx, r8l
    01041e31shl ecx, 4
    01041e34or ecx, edx
    01041e36mov edx, ecx
    01041e38and edx, r9l
    01041e3bshr ecx, 2
    01041e3eand ecx, r9l
    01041e41lea ecx, [rcx+4*rdx]
    01041e44mov edx, ecx
    01041e46and edx, 21845
    01041e4cshr ecx, 1
    01041e4eand ecx, 21844
    01041e54lea ecx, [rcx+2*rdx]
    01041e57shr ecx, 1
    01041e59mov [r15+4*r13+1086], cx
    01041e62mov [r15+rdi+60], r14w
    01041e68inc rbx
    01041e6bmov edi, esi
    01041e6dmov ecx, eax
    01041e6fjmp 0x1041d9a
    01041e74
    01041e74loc_1041e74:
    01041e74mov rsi, [rbp-88]
    01041e78inc rsi
    01041e7badd [rbp-56], 572
    01041e83jmp 0x1041d73
    01041e88
    01041e88loc_1041e88:
    01041e88movzx eax, di
    01041e8bmov ecx, 3855
    01041e90mov edx, 13107
    01041e95mov r8, [rbp-296]
    01041e9c
    01041e9cloc_1041e9c:
    01041e9ccmp rax, 512
    01041ea2je 0x1041ee7
    01041ea4mov esi, eax
    01041ea6rol si, 8
    01041eaamov edi, esi
    01041eacshr edi, 4
    01041eafand edi, ecx
    01041eb1and esi, ecx
    01041eb3shl esi, 4
    01041eb6or esi, edi
    01041eb8mov edi, esi
    01041ebaand edi, edx
    01041ebcshr esi, 2
    01041ebfand esi, edx
    01041ec1lea esi, [rsi+4*rdi]
    01041ec4mov edi, esi
    01041ec6and edi, 21824
    01041eccshr esi, 1
    01041eceand esi, 21760
    01041ed4lea esi, [rsi+2*rdi]
    01041ed7shr esi, 6
    01041edamov [r15+rsi+60], 4095
    01041ee2inc rax
    01041ee5jmp 0x1041e9c
    01041ee7
    01041ee7loc_1041ee7:
    01041ee7lea rax, [r8+rbp]
    01041eebadd rax, -820
    01041ef1movzx ecx, [rbp-248]
    01041ef8vxorps x0, x0, x0
    01041efcvmovups [rbp-160], ymm0
    01041f04xor esi, esi
    01041f06xor edx, edx
    01041f08
    01041f08loc_1041f08:
    01041f08cmp rcx, rsi
    01041f0bje 0x1041f2f
    01041f0dmovzx edi, [rax+rsi]
    01041f11test rdi, rdi
    01041f14je 0x1041f2a
    01041f16and edi, 15
    01041f19cmp rdx, rdi
    01041f1ccmovbe rdx, rdi
    01041f20mov edi, edi
    01041f22inc [rbp+2*rdi-160]
    01041f2a
    01041f2aloc_1041f2a:
    01041f2ainc rsi
    01041f2djmp 0x1041f08
    01041f2f
    01041f2floc_1041f2f:
    01041f2ftest rdx, rdx
    01041f32je 0x1041f8d
    01041f34push 1
    01041f36pop rsi
    01041f37mov rdi, rsi
    01041f3a
    01041f3aloc_1041f3a:
    01041f3acmp rsi, 16
    01041f3eje 0x1041f6e
    01041f40add rdi, rdi
    01041f43movzx r8l, [rbp+2*rsi-160]
    01041f4cinc rsi
    01041f4fsub rdi, r8
    01041f52jae 0x1041f3a
    01041f54
    01041f54loc_1041f54:
    01041f54mov ax, 142
    01041f58jmp 0x1042536
    01041f5d
    01041f5dloc_1041f5d:
    01041f5dmov cx, 141
    01041f61
    01041f61loc_1041f61:
    01041f61mov rax, [rbp-48]
    01041f65mov [rax+8], cx
    01041f69jmp 0x1042541
    01041f6e
    01041f6eloc_1041f6e:
    01041f6etest rdi, rdi
    01041f71je 0x1041f8d
    01041f73movzx esi, [rbp-160]
    01041f7amovzx edi, [rbp-158]
    01041f81add rdi, rsi
    01041f84cmp rdx, rdi
    01041f87jne 0x10422ef
    01041f8d
    01041f8dloc_1041f8d:
    01041f8dvxorps x0, x0, x0
    01041f91vmovups [rbp-128], ymm0
    01041f96xor edx, edx
    01041f98
    01041f98loc_1041f98:
    01041f98cmp rcx, rdx
    01041f9bje 0x1041fd4
    01041f9dmovzx esi, [rax+rdx]
    01041fa1mov edi, esi
    01041fa3and edi, 15
    01041fa6imul r8, rdi, 60
    01041faaadd r8, rbp
    01041fadadd r8, -10228
    01041fb4mov edi, edi
    01041fb6movzx r9l, [rbp+2*rdi-128]
    01041fbcshl esi, 12
    01041fbfadd esi, edx
    01041fc1mov [r8+2*r9], si
    01041fc6inc r9l
    01041fc9mov [rbp+2*rdi-128], r9w
    01041fcfinc rdx
    01041fd2jmp 0x1041f98
    01041fd4
    01041fd4loc_1041fd4:
    01041fd4xor edi, edi
    01041fd6mov ecx, 3855
    01041fdbmov edx, 13107
    01041fe0xor esi, esi
    01041fe2xor eax, eax
    01041fe4
    01041fe4loc_1041fe4:
    01041fe4cmp rdi, 9
    01041fe8je 0x10420bf
    01041feelea r10, [rdi+1]
    01041ff2mov r8b, 14
    01041ff5sub r8b, dil
    01041ff8push 1
    01041ffapop r9
    01041ffcshlx r8l, r9l, r8l
    01042001mov [rbp-168], r10
    01042008imul r9, r10, 60
    0104200cadd r9, rbp
    0104200fadd r9, -10228
    01042016mov [rbp-88], r9
    0104201amovzx edi, [rbp+2*rdi-126]
    0104201fmov [rbp-56], rdi
    01042023lea r11l, [rax+r8]
    01042027xor ebx, ebx
    01042029
    01042029loc_1042029:
    01042029movzx edi, r11w
    0104202dshr edi, 6
    01042030lea r14l, [rax+r8]
    01042034cmp rbx, [rbp-56]
    01042038je 0x10420b3
    0104203amovzx r13l, r14w
    0104203eshr r13l, 6
    01042042mov rax, [rbp-88]
    01042046movzx eax, [rax+2*rbx]
    0104204amovzx r9l, si
    0104204e
    0104204eloc_104204e:
    0104204ecmp rdi, r9
    01042051je 0x10420a2
    01042053mov esi, r9l
    01042056rol si, 8
    0104205amov r10l, esi
    0104205dshr r10l, 4
    01042061and r10l, ecx
    01042064and esi, ecx
    01042066shl esi, 4
    01042069or esi, r10l
    0104206cmov r10l, esi
    0104206fand r10l, edx
    01042072shr esi, 2
    01042075and esi, edx
    01042077lea esi, [rsi+4*r10]
    0104207bmov r10l, esi
    0104207eand r10l, 21824
    01042085shr esi, 1
    01042087and esi, 21760
    0104208dlea esi, [rsi+2*r10]
    01042091shr esi, 6
    01042094mov [r15+rsi+2228], ax
    0104209dinc r9
    010420a0jmp 0x104204e
    010420a2
    010420a2loc_10420a2:
    010420a2inc rbx
    010420a5add r11l, r8l
    010420a8mov eax, r14l
    010420abmov esi, r13l
    010420aejmp 0x1042029
    010420b3
    010420b3loc_10420b3:
    010420b3mov rdi, [rbp-168]
    010420bajmp 0x1041fe4
    010420bf
    010420bfloc_10420bf:
    010420bflea rcx, [rbp-9628]
    010420c6mov [rbp-56], rcx
    010420caxor r9l, r9l
    010420cdmov edi, 3855
    010420d2mov r8l, 13107
    010420d8
    010420d8loc_10420d8:
    010420d8cmp r9, 6
    010420dcje 0x10421ed
    010420e2mov dl, 5
    010420e4sub dl, r9b
    010420e7push 1
    010420e9pop rcx
    010420eashlx edx, ecx, edx
    010420efmov [rbp-88], r9
    010420f3movzx r9l, [rbp+2*r9-108]
    010420f9movzx r10l, dx
    010420fdxor r11l, r11l
    01042100
    01042100loc_1042100:
    01042100cmp r9, r11
    01042103je 0x10421dc
    01042109mov rcx, [rbp-56]
    0104210dmovzx ebx, [rcx+2*r11]
    01042112lea r14l, [rax+r10]
    01042116movzx edx, r14w
    0104211ashr edx, 6
    0104211drol si, 8
    01042121mov r13l, esi
    01042124shr r13l, 4
    01042128and r13l, edi
    0104212band esi, edi
    0104212dshl esi, 4
    01042130or esi, r13l
    01042133mov r13l, esi
    01042136and r13l, r8l
    01042139shr esi, 2
    0104213cand esi, r8l
    0104213flea esi, [rsi+4*r13]
    01042143mov r13l, esi
    01042146and r13l, 21824
    0104214dshr esi, 1
    0104214fand esi, 21760
    01042155lea esi, [rsi+2*r13]
    01042159shr esi, 6
    0104215cmovzx r13l, [r15+rsi+2228]
    01042165and r13l, 4095
    0104216cmov ecx, ebx
    0104216eand ecx, 61440
    01042174or ecx, r13l
    01042177and ebx, 4095
    0104217dmov r13l, ebx
    01042180mov [r15+4*r13+3252], cx
    01042189rol ax, 8
    0104218dmov ecx, eax
    0104218fshr ecx, 4
    01042192and ecx, edi
    01042194and eax, edi
    01042196shl eax, 4
    01042199or eax, ecx
    0104219bmov ecx, eax
    0104219dand ecx, r8l
    010421a0shr eax, 2
    010421a3and eax, r8l
    010421a6lea eax, [rax+4*rcx]
    010421a9mov ecx, eax
    010421aband ecx, 21845
    010421b1shr eax, 1
    010421b3and eax, 21844
    010421b8lea eax, [rax+2*rcx]
    010421bbshr eax, 1
    010421bdmov [r15+4*r13+3254], ax
    010421c6mov [r15+rsi+2228], bx
    010421cfinc r11
    010421d2mov esi, edx
    010421d4mov eax, r14l
    010421d7jmp 0x1042100
    010421dc
    010421dcloc_10421dc:
    010421dcmov r9, [rbp-88]
    010421e0inc r9
    010421e3add [rbp-56], 60
    010421e8jmp 0x10420d8
    010421ed
    010421edloc_10421ed:
    010421edmovzx eax, si
    010421f0mov ecx, 3855
    010421f5mov edx, 13107
    010421fa
    010421faloc_10421fa:
    010421facmp rax, 512
    01042200je 0x1042882
    01042206mov esi, eax
    01042208rol si, 8
    0104220cmov edi, esi
    0104220eshr edi, 4
    01042211and edi, ecx
    01042213and esi, ecx
    01042215shl esi, 4
    01042218or esi, edi
    0104221amov edi, esi
    0104221cand edi, edx
    0104221eshr esi, 2
    01042221and esi, edx
    01042223lea esi, [rsi+4*rdi]
    01042226mov edi, esi
    01042228and edi, 21824
    0104222eshr esi, 1
    01042230and esi, 21760
    01042236lea esi, [rsi+2*rdi]
    01042239shr esi, 6
    0104223cmov [r15+rsi+2228], 4095
    01042247inc rax
    0104224ajmp 0x10421fa
    0104224c
    0104224cloc_104224c:
    0104224cvmovups x0, [rip-0x3a8a4]
    01042254jmp 0x104252c
    01042259vmovups x0, [rip-0x3a841]
    01042261jmp 0x104252c
    01042266mov rdi, r15
    01042269call compress.flate.Decompress.alignBitsForward
    0104226elea rbx, [rbp-352]
    01042275mov rdi, rbx
    01042278mov r14, [rbp-72]
    0104227cmov rsi, r14
    0104227fcall Io.Reader.takeArray__func_118
    01042284movzx eax, [rbx+8]
    01042288test ax, ax
    0104228bjne 0x1042536
    01042291mov rax, [rbp-352]
    01042298movzx ecx, [rax]
    0104229bmov [rbp-56], ecx
    0104229emovzx r13l, [rax+1]
    010422a3lea rbx, [rbp-368]
    010422aamov rdi, rbx
    010422admov rsi, r14
    010422b0call Io.Reader.takeArray__func_118
    010422b5movzx eax, [rbx+8]
    010422b9test ax, ax
    010422bcjne 0x1042536
    010422c2movzx eax, r13w
    010422c6shl eax, 8
    010422c9movzx ebx, [rbp-56]
    010422cdor ebx, eax
    010422cfmov rax, [rbp-368]
    010422d6movzx eax, [rax]
    010422d9xor ax, bx
    010422dccmp ax, -1
    010422e0je 0x104231b
    010422e2vmovups x0, [rip-0x3a82a]
    010422eajmp 0x104252c
    010422ef
    010422efloc_10422ef:
    010422efmov ax, 143
    010422f3jmp 0x1042536
    010422f8
    010422f8loc_10422f8:
    010422f8vmovups x0, [rip-0x3a960]
    01042300jmp 0x104252c
    01042305
    01042305loc_1042305:
    01042305vmovups x0, [rip-0x3aa2d]
    0104230djmp 0x104252c
    01042312
    01042312loc_1042312:
    01042312mov ax, 144
    01042316jmp 0x1042536
    0104231b
    0104231bloc_104231b:
    0104231btest r12, r12
    0104231eje 0x1042359
    01042320lea r14, [rbp-392]
    01042327push 1
    01042329pop rcx
    0104232amov edx, 32768
    0104232fmov rdi, r14
    01042332mov rsi, [rbp-64]
    01042336call Io.Writer.writableSliceGreedyPreserve
    0104233bmovzx eax, [r14+16]
    01042340test ax, ax
    01042343jne 0x1042536
    01042349mov rax, [rbp-392]
    01042350mov rcx, [rbp-384]
    01042357jmp 0x104235e
    01042359
    01042359loc_1042359:
    01042359push 1
    0104235bpop rax
    0104235cxor ecx, ecx
    0104235e
    0104235eloc_104235e:
    0104235emovzx r13l, bx
    01042362mov rdx, [rbp-80]
    01042366cmp rdx, r13
    01042369mov rsi, r13
    0104236ccmovb rsi, rdx
    01042370cmp rcx, rsi
    01042373cmovb rsi, rcx
    01042377lea rdx, [rbp-504]
    0104237emov [rdx], rax
    01042381mov [rdx+8], rsi
    01042385lea r14, [rbp-408]
    0104238cmov rdi, r14
    0104238fmov rsi, [rbp-72]
    01042393call Io.Reader.readVec
    01042398movzx eax, [r14+8]
    0104239dtest ax, ax
    010423a0jne 0x1042536
    010423a6mov rax, [rbp-408]
    010423adcmp rax, r13
    010423b0mov rdi, [rbp-64]
    010423b4jne 0x10423e1
    010423b6mov ecx, 0x100769e
    010423bbmov edx, 0x1007698
    010423c0test [r15+3381], 1
    010423c8cmovne rdx, rcx
    010423ccmovzx ecx, [rdx+4]
    010423d0mov rsi, [rbp-256]
    010423d7mov [rsi+4], cx
    010423dbmov ecx, [rdx]
    010423ddmov [rsi], ecx
    010423dfjmp 0x10423f3
    010423e1
    010423e1loc_10423e1:
    010423e1mov [r15+3376], 2
    010423e9sub ebx, eax
    010423ebmov [r15+3372], bx
    010423f3
    010423f3loc_10423f3:
    010423f3add [rdi+24], rax
    010423f7mov rcx, [rbp-80]
    010423fbsub rcx, r12
    010423feadd rcx, rax
    01042401jmp 0x104251e
    01042406mov rdi, r15
    01042409call compress.flate.Decompress.alignBitsForward
    0104240emovzx eax, [r15+56]
    01042413test eax, eax
    01042415je 0x1042504
    0104241bcmp eax, 1
    0104241ejne 0x10424bc
    01042424lea rbx, [rbp-424]
    0104242bmov rdi, rbx
    0104242emov r14, [rbp-72]
    01042432mov rsi, r14
    01042435call Io.Reader.takeArray__func_119
    0104243amovzx eax, [rbx+8]
    0104243etest ax, ax
    01042441jne 0x1042536
    01042447mov rax, [rbp-424]
    0104244emov eax, [rax]
    01042450mov [rbp-172], eax
    01042456xor eax, eax
    01042458push 4
    0104245apop rcx
    0104245b
    0104245bloc_104245b:
    0104245bmovzx edx, [rbp+rcx-173]
    01042463shl eax, 8
    01042466or eax, edx
    01042468dec rcx
    0104246bjne 0x104245b
    0104246dmov [r15+48], eax
    01042471lea rbx, [rbp-440]
    01042478mov rdi, rbx
    0104247bmov rsi, r14
    0104247ecall Io.Reader.takeArray__func_119
    01042483movzx eax, [rbx+8]
    01042487test ax, ax
    0104248ajne 0x1042536
    01042490mov rax, [rbp-440]
    01042497mov eax, [rax]
    01042499mov [rbp-176], eax
    0104249fxor eax, eax
    010424a1push 4
    010424a3pop rcx
    010424a4
    010424a4loc_10424a4:
    010424a4movzx edx, [rbp+rcx-177]
    010424acshl eax, 8
    010424afor eax, edx
    010424b1dec rcx
    010424b4jne 0x10424a4
    010424b6mov [r15+52], eax
    010424bajmp 0x1042504
    010424bc
    010424bcloc_10424bc:
    010424bclea rbx, [rbp-456]
    010424c3mov rdi, rbx
    010424c6mov rsi, [rbp-72]
    010424cacall Io.Reader.takeArray__func_119
    010424cfmovzx eax, [rbx+8]
    010424d3test ax, ax
    010424d6jne 0x1042536
    010424d8mov rax, [rbp-456]
    010424dfmov eax, [rax]
    010424e1mov [rbp-180], eax
    010424e7xor eax, eax
    010424e9push 4
    010424ebpop rcx
    010424ec
    010424ecloc_10424ec:
    010424ecmovzx edx, [rbp+rcx-181]
    010424f4shl eax, 8
    010424f7or eax, edx
    010424f9dec rcx
    010424fcjne 0x10424ec
    010424femovbe [r15+48], eax
    01042504
    01042504loc_1042504:
    01042504mov rax, [rbp-256]
    0104250bmov [rax+4], 2570
    01042511mov [rax], 0xa0a0a0a
    01042517mov rcx, [rbp-80]
    0104251bsub rcx, r12
    0104251e
    0104251eloc_104251e:
    0104251emov rax, [rbp-48]
    01042522jmp 0x1042556
    01042524vmovups x0, [rip-0x3aa5c]
    0104252c
    0104252cloc_104252c:
    0104252cmov rax, [rbp-48]
    01042530vmovups [rax], x0
    01042534jmp 0x1042541
    01042536
    01042536loc_1042536:
    01042536mov rcx, [rbp-48]
    0104253amov [rcx+8], ax
    0104253e
    0104253eloc_104253e:
    0104253emov rax, rcx
    01042541
    01042541loc_1042541:
    01042541add rsp, 10200
    01042548pop rbx
    01042549pop r12
    0104254bpop r13
    0104254dpop r14
    0104254fpop r15
    01042551pop rbp
    01042552vzeroupper
    01042555ret
    01042556
    01042556loc_1042556:
    01042556mov [rax], rcx
    01042559and [rax+8], 0
    0104255ejmp 0x1042541
    01042560
    01042560loc_1042560:
    01042560lea rbx, [rbp-220]
    01042567mov rdi, rbx
    0104256amov rsi, r15
    0104256dcall compress.flate.Decompress.takeIntBits__func_674
    01042572movzx eax, [rbx]
    01042575test ax, ax
    01042578jne 0x1042754
    0104257emov r13b, [rbp-218]
    01042585rol r13b, 4
    01042589mov eax, r13l
    0104258cand al, 51
    0104258eshl al, 2
    01042591shr r13b, 2
    01042595and r13b, 51
    01042599or r13b, al
    0104259cmov eax, r13l
    0104259fand al, 85
    010425a1add al, al
    010425a3shr r13b, 1
    010425a6and r13b, 84
    010425aaor r13b, al
    010425adshr r13b, 1
    010425b0movzx r14l, r13b
    010425b4cmp r13b, 23
    010425b8ja 0x10425d6
    010425baor r14l, 256
    010425c1lea rax, [rbp-300]
    010425c8and [rax+2], 0
    010425cdmov [rax], r14w
    010425d1jmp 0x10426b1
    010425d6
    010425d6loc_10425d6:
    010425d6cmp r13b, 96
    010425dajae 0x1042617
    010425dclea rbx, [rbp-224]
    010425e3mov rdi, rbx
    010425e6mov rsi, r15
    010425e9call compress.flate.Decompress.takeIntBits__func_666
    010425eemovzx eax, [rbx]
    010425f1test ax, ax
    010425f4jne 0x1042754
    010425famovzx eax, [rbp-222]
    01042601and eax, 1
    01042604lea ecx, [rax+2*r14]
    01042608add ecx, -48
    0104260blea rax, [rbp-304]
    01042612jmp 0x10426a9
    01042617
    01042617loc_1042617:
    01042617cmp r13b, 100
    0104261bjae 0x1042659
    0104261dlea rbx, [rbp-228]
    01042624mov rdi, rbx
    01042627mov rsi, r15
    0104262acall compress.flate.Decompress.takeIntBits__func_666
    0104262fmovzx eax, [rbx]
    01042632test ax, ax
    01042635jne 0x1042754
    0104263band r14l, 31
    0104263fmovzx eax, [rbp-226]
    01042646and eax, 1
    01042649lea ecx, [rax+2*r14]
    0104264dadd ecx, 280
    01042653lea rax, [rbp-128]
    01042657jmp 0x10426a9
    01042659
    01042659loc_1042659:
    01042659lea rbx, [rbp-160]
    01042660mov rdi, rbx
    01042663mov rsi, r15
    01042666call compress.flate.Decompress.takeIntBits__func_669
    0104266bmovzx eax, [rbx]
    0104266etest ax, ax
    01042671jne 0x1042754
    01042677add r13b, 28
    0104267bmovzx eax, r13b
    0104267fand eax, 127
    01042682mov cl, [rbp-158]
    01042688mov edx, ecx
    0104268aand dl, 2
    0104268dadd cl, cl
    0104268fshr dl, 1
    01042691or dl, cl
    01042693and dl, 3
    01042696movzx ecx, dl
    01042699lea ecx, [rcx+4*rax]
    0104269cadd ecx, 144
    010426a2lea rax, [rbp-10228]
    010426a9
    010426a9loc_10426a9:
    010426a9and [rax+2], 0
    010426aemov [rax], cx
    010426b1
    010426b1loc_10426b1:
    010426b1mov edx, [rax]
    010426b3mov eax, edx
    010426b5shr eax, 16
    010426b8jne 0x1042754
    010426becmp edx, 256
    010426c4mov rdi, [rbp-64]
    010426c8jae 0x10426ea
    010426casub r12, 1
    010426cejb 0x1042761
    010426d4movzx esi, dl
    010426d7call Io.Writer.writeBytePreserve
    010426dctest ax, ax
    010426dfjne 0x1042536
    010426e5jmp 0x1042560
    010426ea
    010426ealoc_10426ea:
    010426eajne 0x104277d
    010426f0mov eax, 0x100769e
    010426f5mov ecx, 0x1007698
    010426fatest [r15+3381], 1
    01042702cmovne rcx, rax
    01042706movzx eax, [rcx+4]
    0104270alea rdx, [r15+3372]
    01042711mov [rdx+4], ax
    01042715mov eax, [rcx]
    01042717mov [rdx], eax
    01042719movzx ebx, [r15+3372]
    01042721movzx r14l, [r15+3374]
    01042729movzx eax, [r15+3376]
    01042731jmp [8*rax+0x1007640]
    01042738mov rdi, [rbp-64]
    0104273cmov esi, ebx
    0104273ecall Io.Writer.writeBytePreserve
    01042743test ax, ax
    01042746jne 0x1042536
    0104274cdec r12
    0104274fjmp 0x1042560
    01042754
    01042754loc_1042754:
    01042754mov rcx, [rbp-48]
    01042758mov [rcx+8], ax
    0104275cjmp 0x104253e
    01042761
    01042761loc_1042761:
    01042761mov [r15+3376], 4
    01042769mov [r15+3372], dl
    01042770
    01042770loc_1042770:
    01042770mov rax, [rbp-48]
    01042774mov rcx, [rbp-80]
    01042778jmp 0x1042556
    0104277d
    0104277dloc_104277d:
    0104277dadd edx, 31
    01042780lea rbx, [rbp-200]
    01042787mov rdi, rbx
    0104278amov rsi, r15
    0104278dcall compress.flate.Decompress.decodeLength
    01042792movzx eax, [rbx+2]
    01042796test ax, ax
    01042799jne 0x1042536
    0104279fmovzx r14l, [rbp-200]
    010427a7lea rbx, [rbp-204]
    010427aemov rdi, rbx
    010427b1mov rsi, r15
    010427b4call compress.flate.Decompress.takeIntBits__func_670
    010427b9movzx eax, [rbx]
    010427bctest ax, ax
    010427bfjne 0x1042536
    010427c5mov al, [rbp-202]
    010427cbrol al, 4
    010427cemov ecx, eax
    010427d0and cl, 51
    010427d3shl cl, 2
    010427d6shr al, 2
    010427d9and al, 51
    010427dbor al, cl
    010427ddmov ecx, eax
    010427dfand cl, 84
    010427e2add cl, cl
    010427e4shr al, 1
    010427e6and al, 80
    010427e8or al, cl
    010427eashr al, 3
    010427edmovzx edx, al
    010427f0lea rbx, [rbp-208]
    010427f7mov rdi, rbx
    010427famov rsi, r15
    010427fdcall compress.flate.Decompress.decodeDistance
    01042802movzx eax, [rbx+2]
    01042806test ax, ax
    01042809jne 0x1042536
    0104280fmovzx ebx, [rbp-208]
    01042816movzx r14l, r14w
    0104281amov r13, r12
    0104281dsub r13, r14
    01042820mov rdi, [rbp-64]
    01042824jb 0x1042841
    01042826mov esi, r14l
    01042829mov edx, ebx
    0104282bcall compress.flate.Decompress.writeMatch
    01042830test ax, ax
    01042833jne 0x1042536
    01042839mov r12, r13
    0104283cjmp 0x1042560
    01042841
    01042841loc_1042841:
    01042841test r12, r12
    01042844je 0x104285f
    01042846mov rdi, [rbp-64]
    0104284amov esi, r12l
    0104284dmov edx, ebx
    0104284fcall compress.flate.Decompress.writeMatch
    01042854test ax, ax
    01042857jne 0x1042536
    0104285djmp 0x1042862
    0104285f
    0104285floc_104285f:
    0104285fxor r12l, r12l
    01042862
    01042862loc_1042862:
    01042862mov [r15+3376], 5
    0104286a
    0104286aloc_104286a:
    0104286amov [r15+3372], bx
    01042872sub r14l, r12l
    01042875mov [r15+3374], r14w
    0104287djmp 0x1042770
    01042882
    01042882loc_1042882:
    01042882mov r14, [rbp-64]
    01042886
    01042886loc_1042886:
    01042886lea rbx, [rbp-10228]
    0104288dmov rdi, rbx
    01042890mov rsi, r15
    01042893vzeroupper
    01042896call compress.flate.Decompress.peekIntBitsShort__func_676
    0104289bmovzx eax, [rbx+2]
    0104289ftest ax, ax
    010428a2jne 0x1042536
    010428a8movzx ecx, [rbp-10228]
    010428afmov eax, ecx
    010428b1and eax, 32767
    010428b6and ecx, 511
    010428bcmovzx ebx, [r15+2*rcx+60]
    010428c2cmp bx, 4095
    010428c7ja 0x1042911
    010428c9je 0x1042ae1
    010428cf
    010428cfloc_10428cf:
    010428cfmov ecx, ebx
    010428d1movzx esi, bx
    010428d4movzx edx, [r15+4*rsi+1084]
    010428ddmov edi, edx
    010428dfshr edi, 12
    010428e2movzx esi, [r15+4*rsi+1086]
    010428ebxor si, ax
    010428eeneg dil
    010428f1and dil, 15
    010428f5shlx esi, esi, edi
    010428famov ebx, edx
    010428fcand ebx, 4095
    01042902test si, si
    01042905jne 0x10428cf
    01042907and edx, -4096
    0104290dor ecx, edx
    0104290fmov ebx, ecx
    01042911
    01042911loc_1042911:
    01042911movzx esi, bx
    01042914shr esi, 12
    01042917mov rdi, r15
    0104291acall compress.flate.Decompress.tossBitsShort
    0104291ftest ax, ax
    01042922jne 0x1042536
    01042928mov eax, ebx
    0104292aand eax, 4095
    0104292fcmp ax, 256
    01042933jae 0x1042958
    01042935sub r12, 1
    01042939jb 0x1042aea
    0104293fmovzx esi, bl
    01042942mov rdi, r14
    01042945call Io.Writer.writeBytePreserve
    0104294atest ax, ax
    0104294djne 0x1042536
    01042953jmp 0x1042886
    01042958
    01042958loc_1042958:
    01042958jne 0x10429be
    0104295amov eax, 0x100769e
    0104295fmov ecx, 0x1007698
    01042964test [r15+3381], 1
    0104296ccmovne rcx, rax
    01042970movzx eax, [rcx+4]
    01042974lea rdx, [r15+3372]
    0104297bmov [rdx+4], ax
    0104297fmov eax, [rcx]
    01042981mov [rdx], eax
    01042983movzx ebx, [r15+3372]
    0104298bmovzx r14l, [r15+3374]
    01042993movzx eax, [r15+3376]
    0104299bjmp [8*rax+0x1007640]
    010429a2mov rdi, [rbp-64]
    010429a6mov esi, ebx
    010429a8call Io.Writer.writeBytePreserve
    010429adtest ax, ax
    010429b0jne 0x1042536
    010429b6dec r12
    010429b9jmp 0x1042882
    010429be
    010429beloc_10429be:
    010429beadd ebx, 31
    010429c1lea r14, [rbp-212]
    010429c8mov rdi, r14
    010429cbmov rsi, r15
    010429cemov edx, ebx
    010429d0call compress.flate.Decompress.decodeLength
    010429d5movzx eax, [r14+2]
    010429datest ax, ax
    010429ddjne 0x1042536
    010429e3movzx r14l, [rbp-212]
    010429eblea rbx, [rbp-10228]
    010429f2mov rdi, rbx
    010429f5mov rsi, r15
    010429f8call compress.flate.Decompress.peekIntBitsShort__func_676
    010429fdmovzx eax, [rbx+2]
    01042a01test ax, ax
    01042a04jne 0x1042536
    01042a0amovzx ecx, [rbp-10228]
    01042a11mov eax, ecx
    01042a13and eax, 32767
    01042a18and ecx, 511
    01042a1emovzx ebx, [r15+2*rcx+2228]
    01042a27cmp bx, 4095
    01042a2cja 0x1042a76
    01042a2eje 0x1042ae1
    01042a34
    01042a34loc_1042a34:
    01042a34mov ecx, ebx
    01042a36movzx esi, bx
    01042a39movzx edx, [r15+4*rsi+3252]
    01042a42mov edi, edx
    01042a44shr edi, 12
    01042a47movzx esi, [r15+4*rsi+3254]
    01042a50xor si, ax
    01042a53neg dil
    01042a56and dil, 15
    01042a5ashlx esi, esi, edi
    01042a5fmov ebx, edx
    01042a61and ebx, 4095
    01042a67test si, si
    01042a6ajne 0x1042a34
    01042a6cand edx, -4096
    01042a72or ecx, edx
    01042a74mov ebx, ecx
    01042a76
    01042a76loc_1042a76:
    01042a76movzx esi, bx
    01042a79shr esi, 12
    01042a7cmov rdi, r15
    01042a7fcall compress.flate.Decompress.tossBitsShort
    01042a84test ax, ax
    01042a87jne 0x1042536
    01042a8dlea r13, [rbp-216]
    01042a94mov rdi, r13
    01042a97mov rsi, r15
    01042a9amov edx, ebx
    01042a9ccall compress.flate.Decompress.decodeDistance
    01042aa1movzx eax, [r13+2]
    01042aa6test ax, ax
    01042aa9jne 0x1042536
    01042aafmovzx ebx, [rbp-216]
    01042ab6movzx r14l, r14w
    01042abamov r13, r12
    01042abdsub r13, r14
    01042ac0mov rdi, [rbp-64]
    01042ac4jb 0x1042afe
    01042ac6mov esi, r14l
    01042ac9mov edx, ebx
    01042acbcall compress.flate.Decompress.writeMatch
    01042ad0test ax, ax
    01042ad3jne 0x1042536
    01042ad9mov r12, r13
    01042adcjmp 0x1042882
    01042ae1
    01042ae1loc_1042ae1:
    01042ae1mov ax, 137
    01042ae5jmp 0x1042536
    01042aea
    01042aealoc_1042aea:
    01042aeamov [r15+3376], 7
    01042af2mov [r15+3372], bl
    01042af9jmp 0x1042770
    01042afe
    01042afeloc_1042afe:
    01042afetest r12, r12
    01042b01je 0x1042b1c
    01042b03mov rdi, [rbp-64]
    01042b07mov esi, r12l
    01042b0amov edx, ebx
    01042b0ccall compress.flate.Decompress.writeMatch
    01042b11test ax, ax
    01042b14jne 0x1042536
    01042b1ajmp 0x1042b1f
    01042b1c
    01042b1cloc_1042b1c:
    01042b1cxor r12l, r12l
    01042b1f
    01042b1floc_1042b1f:
    01042b1fmov [r15+3376], 8
    01042b27jmp 0x104286a
    01041561
    01042b2c
    01042b2cIo.Writer.unreachableDrain:
    01042b2cpush rbp
    01042b2dmov rbp, rsp
    01042b2c
    01042b30
    01042b30Io.Writer.writeBytePreserve:
    01042b30push rbp
    01042b31mov rbp, rsp
    01042b34push r14
    01042b36push rbx
    01042b37mov r14l, esi
    01042b3amov rbx, rdi
    01042b3dmov rax, [rdi+24]
    01042b41cmp [rdi+16], rax
    01042b45je 0x1042b5a
    01042b47
    01042b47loc_1042b47:
    01042b47mov rcx, [rbx+8]
    01042b4bmov [rcx+rax], r14b
    01042b4finc [rbx+24]
    01042b53xor eax, eax
    01042b55
    01042b55loc_1042b55:
    01042b55pop rbx
    01042b56pop r14
    01042b58pop rbp
    01042b59ret
    01042b5a
    01042b5aloc_1042b5a:
    01042b5amov rax, [rbx]
    01042b5dpush 1
    01042b5fpop rdx
    01042b60mov esi, 32767
    01042b65mov rdi, rbx
    01042b68call [rax+24]
    01042b6btest ax, ax
    01042b6ejne 0x1042b55
    01042b70mov rax, [rbx+24]
    01042b74jmp 0x1042b47
    01042b30
    01042b76
    01042b76compress.flate.Decompress.alignBitsForward:
    01042b76push rbp
    01042b77mov rbp, rsp
    01042b7amov rax, [rdi]
    01042b7dcmp [rdi+3380], 1
    01042b84sbb [rax+24], -1
    01042b89mov [rdi+3380], 0
    01042b90pop rbp
    01042b91ret
    01042b76
    01042b92
    01042b92compress.flate.Decompress.tossBits:
    01042b92push rbp
    01042b93mov rbp, rsp
    01042b96mov rax, [rdi]
    01042b99mov ecx, esi
    01042b9bmovzx edx, [rdi+3380]
    01042ba2and edx, 7
    01042ba5and esi, 15
    01042ba8add esi, edx
    01042baashr esi, 3
    01042badadd [rax+24], rsi
    01042bb1mov al, [rdi+3380]
    01042bb7add al, cl
    01042bb9and al, 7
    01042bbbmov [rdi+3380], al
    01042bc1pop rbp
    01042bc2ret
    01042b92
    01042bc3
    01042bc3mem.readVarInt__func_668:
    01042bc3push rbp
    01042bc4mov rbp, rsp
    01042bc7xor eax, eax
    01042bc9xor ecx, ecx
    01042bcbxor edx, edx
    01042bcd
    01042bcdloc_1042bcd:
    01042bcdcmp rsi, rdx
    01042bd0je 0x1042be7
    01042bd2movzx r8l, [rdi+rdx]
    01042bd7shlx r8l, r8l, ecx
    01042bdcor eax, r8l
    01042bdfinc rdx
    01042be2add ecx, 8
    01042be5jmp 0x1042bcd
    01042be7
    01042be7loc_1042be7:
    01042be7pop rbp
    01042be8ret
    01042bc3
    01042be9
    01042be9Io.Reader.peekArray__func_667:
    01042be9push rbp
    01042beamov rbp, rsp
    01042bedpush r14
    01042befpush rbx
    01042bf0sub rsp, 32
    01042bf4mov rbx, rdi
    01042bf7lea r14, [rbp-40]
    01042bfbpush 4
    01042bfdpop rdx
    01042bfemov rdi, r14
    01042c01call Io.Reader.peek
    01042c06movzx eax, [r14+16]
    01042c0btest ax, ax
    01042c0ejne 0x1042c17
    01042c10mov rcx, [rbp-40]
    01042c14mov [rbx], rcx
    01042c17
    01042c17loc_1042c17:
    01042c17mov [rbx+8], ax
    01042c1bmov rax, rbx
    01042c1eadd rsp, 32
    01042c22pop rbx
    01042c23pop r14
    01042c25pop rbp
    01042c26ret
    01042be9
    01042c27
    01042c27compress.flate.Decompress.rebase:
    01042c27push rbp
    01042c28mov rbp, rsp
    01042c2bpush r15
    01042c2dpush r14
    01042c2fpush rbx
    01042c30push rax
    01042c31mov rbx, rdi
    01042c34mov r14, [rdi+32]
    01042c38mov rdi, [rdi+8]
    01042c3cmov rax, [rbx+24]
    01042c40lea r15, [r14-32768]
    01042c47cmp rax, r15
    01042c4acmovb r15, rax
    01042c4elea rsi, [rdi+r15]
    01042c52sub r14, r15
    01042c55mov rdx, r14
    01042c58call compiler_rt.memmove.memmoveSmall
    01042c5dmov [rbx+32], r14
    01042c61sub [rbx+24], r15
    01042c65add rsp, 8
    01042c69pop rbx
    01042c6apop r14
    01042c6cpop r15
    01042c6epop rbp
    01042c6fret
    01042c27
    01042c70
    01042c70compress.flate.Decompress.rebaseFallible:
    01042c70push rbp
    01042c71mov rbp, rsp
    01042c74call compress.flate.Decompress.rebase
    01042c79xor eax, eax
    01042c7bpop rbp
    01042c7cret
    01042c70
    01042c7d
    01042c7dcompress.flate.Decompress.streamDirect:
    01042c7dpush rbp
    01042c7emov rbp, rsp
    01042c81push r14
    01042c83push rbx
    01042c84sub rsp, 16
    01042c88mov rbx, rdi
    01042c8badd rsi, -8
    01042c8flea r14, [rbp-32]
    01042c93mov rdi, r14
    01042c96call compress.flate.Decompress.streamFallible
    01042c9bvmovups x0, [r14]
    01042ca0vmovups [rbx], x0
    01042ca4mov rax, rbx
    01042ca7add rsp, 16
    01042cabpop rbx
    01042cacpop r14
    01042caepop rbp
    01042cafret
    01042c7d
    01042cb0
    01042cb0compress.flate.Decompress.discardDirect:
    01042cb0push rbp
    01042cb1mov rbp, rsp
    01042cb4push r15
    01042cb6push r14
    01042cb8push r12
    01042cbapush rbx
    01042cbbsub rsp, 48
    01042cbfmov r15, rdx
    01042cc2mov r14, rsi
    01042cc5mov rbx, rdi
    01042cc8mov rax, [rsi+16]
    01042cccmov rcx, [rsi+32]
    01042cd0lea rdx, [rcx+32768]
    01042cd7cmp rdx, rax
    01042cdajbe 0x1042cf1
    01042cdcmov esi, 32768
    01042ce1mov rdi, r14
    01042ce4call compress.flate.Decompress.rebase
    01042ce9mov rax, [r14+16]
    01042cedmov rcx, [r14+32]
    01042cf1
    01042cf1loc_1042cf1:
    01042cf1lea rdx, [rbp-80]
    01042cf5mov [rdx], 0x1003e20
    01042cfcmov rsi, [r14+8]
    01042d00mov [rdx+8], rsi
    01042d04mov [rdx+16], rax
    01042d08mov [rdx+24], rcx
    01042d0clea r12, [rbp-48]
    01042d10mov rdi, r12
    01042d13mov rsi, r14
    01042d16mov rcx, r15
    01042d19call Io.Reader.stream
    01042d1emovzx eax, [r12+8]
    01042d24test ax, ax
    01042d27jne 0x1042d50
    01042d29mov rdx, [rbp-48]
    01042d2dmov rcx, [rbp-56]
    01042d31mov [rbx], rdx
    01042d34
    01042d34loc_1042d34:
    01042d34mov [r14+32], rcx
    01042d38mov [r14+24], rcx
    01042d3cmov [rbx+8], ax
    01042d40mov rax, rbx
    01042d43add rsp, 48
    01042d47pop rbx
    01042d48pop r12
    01042d4apop r14
    01042d4cpop r15
    01042d4epop rbp
    01042d4fret
    01042d50
    01042d50loc_1042d50:
    01042d50mov rcx, [rbp-56]
    01042d54jmp 0x1042d34
    01042cb0