5b2046:	74 cc                	je     0x5b2014
5b2048:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b204b:	89 45 d8             	mov    %eax,-0x28(%ebp)
5b204e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2051:	3b 45 d0             	cmp    -0x30(%ebp),%eax
5b2054:	0f 8e e7 fd ff ff    	jle    0x5b1e41
5b205a:	8b 46 04             	mov    0x4(%esi),%eax
5b205d:	48                   	dec    %eax
5b205e:	3b d8                	cmp    %eax,%ebx
5b2060:	7e 0c                	jle    0x5b206e
5b2062:	8b 56 04             	mov    0x4(%esi),%edx
5b2065:	03 55 e0             	add    -0x20(%ebp),%edx
5b2068:	8b c6                	mov    %esi,%eax
5b206a:	8b 08                	mov    (%eax),%ecx
5b206c:	ff 11                	call   *(%ecx)
5b206e:	85 db                	test   %ebx,%ebx
5b2070:	0f 8f 1e fc ff ff    	jg     0x5b1c94
5b2076:	8b c6                	mov    %esi,%eax
5b2078:	e8 fb 19 e5 ff       	call   0x403a78
5b207d:	8b 45 98             	mov    -0x68(%ebp),%eax
5b2080:	2b 45 a0             	sub    -0x60(%ebp),%eax
5b2083:	40                   	inc    %eax
5b2084:	89 45 88             	mov    %eax,-0x78(%ebp)
5b2087:	8b 45 94             	mov    -0x6c(%ebp),%eax
5b208a:	2b 45 9c             	sub    -0x64(%ebp),%eax
5b208d:	40                   	inc    %eax
5b208e:	89 45 dc             	mov    %eax,-0x24(%ebp)
5b2091:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b2094:	c1 e0 02             	shl    $0x2,%eax
5b2097:	e8 10 07 e5 ff       	call   0x4027ac
5b209c:	89 45 c0             	mov    %eax,-0x40(%ebp)
5b209f:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b20a2:	48                   	dec    %eax
5b20a3:	85 c0                	test   %eax,%eax
5b20a5:	7c 24                	jl     0x5b20cb
5b20a7:	40                   	inc    %eax
5b20a8:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b20ae:	33 ff                	xor    %edi,%edi
5b20b0:	8b 45 88             	mov    -0x78(%ebp),%eax
5b20b3:	c1 e8 03             	shr    $0x3,%eax
5b20b6:	40                   	inc    %eax
5b20b7:	e8 f8 6f e5 ff       	call   0x4090b4
5b20bc:	8b 55 c0             	mov    -0x40(%ebp),%edx
5b20bf:	89 04 ba             	mov    %eax,(%edx,%edi,4)
5b20c2:	47                   	inc    %edi
5b20c3:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b20c9:	75 e5                	jne    0x5b20b0
5b20cb:	33 c0                	xor    %eax,%eax
5b20cd:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b20d0:	8b 45 9c             	mov    -0x64(%ebp),%eax
5b20d3:	8b 55 94             	mov    -0x6c(%ebp),%edx
5b20d6:	2b d0                	sub    %eax,%edx
5b20d8:	0f 8c f5 00 00 00    	jl     0x5b21d3
5b20de:	42                   	inc    %edx
5b20df:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b20e5:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b20e8:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b20eb:	4a                   	dec    %edx
5b20ec:	33 c0                	xor    %eax,%eax
5b20ee:	e8 21 73 ff ff       	call   0x5a9414
5b20f3:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b20f6:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b20f9:	42                   	inc    %edx
5b20fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b20fd:	48                   	dec    %eax
5b20fe:	e8 19 73 ff ff       	call   0x5a941c
5b2103:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b2106:	33 c0                	xor    %eax,%eax
5b2108:	89 45 90             	mov    %eax,-0x70(%ebp)
5b210b:	8b 45 a0             	mov    -0x60(%ebp),%eax
5b210e:	8b 55 98             	mov    -0x68(%ebp),%edx
5b2111:	2b d0                	sub    %eax,%edx
5b2113:	0f 8c a8 00 00 00    	jl     0x5b21c1
5b2119:	42                   	inc    %edx
5b211a:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
5b2120:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b2123:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b2126:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b2129:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b212c:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b212f:	e8 cc d9 ff ff       	call   0x5afb00
5b2134:	85 c0                	test   %eax,%eax
5b2136:	74 77                	je     0x5b21af
5b2138:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
5b213c:	74 5b                	je     0x5b2199
5b213e:	8b 55 90             	mov    -0x70(%ebp),%edx
5b2141:	4a                   	dec    %edx
5b2142:	33 c0                	xor    %eax,%eax
5b2144:	e8 cb 72 ff ff       	call   0x5a9414
5b2149:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b214c:	8b 55 90             	mov    -0x70(%ebp),%edx
5b214f:	42                   	inc    %edx
5b2150:	8b 45 88             	mov    -0x78(%ebp),%eax
5b2153:	48                   	dec    %eax
5b2154:	e8 c3 72 ff ff       	call   0x5a941c
5b2159:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b215c:	8b 7d cc             	mov    -0x34(%ebp),%edi
5b215f:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2162:	2b c7                	sub    %edi,%eax
5b2164:	7c 49                	jl     0x5b21af
5b2166:	40                   	inc    %eax
5b2167:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
5b216d:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5b2170:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5b2173:	2b de                	sub    %esi,%ebx
5b2175:	7c 17                	jl     0x5b218e
5b2177:	43                   	inc    %ebx
5b2178:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b217b:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5b217e:	b9 01 00 00 00       	mov    $0x1,%ecx
5b2183:	8b d6                	mov    %esi,%edx
5b2185:	e8 92 d9 ff ff       	call   0x5afb1c
5b218a:	46                   	inc    %esi
5b218b:	4b                   	dec    %ebx
5b218c:	75 ea                	jne    0x5b2178
5b218e:	47                   	inc    %edi
5b218f:	ff 8d 34 ff ff ff    	decl   -0xcc(%ebp)
5b2195:	75 d6                	jne    0x5b216d
5b2197:	eb 16                	jmp    0x5b21af
5b2199:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b219c:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b219f:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b21a2:	b9 01 00 00 00       	mov    $0x1,%ecx
5b21a7:	8b 55 90             	mov    -0x70(%ebp),%edx
5b21aa:	e8 6d d9 ff ff       	call   0x5afb1c
5b21af:	ff 45 90             	incl   -0x70(%ebp)
5b21b2:	ff 45 ac             	incl   -0x54(%ebp)
5b21b5:	ff 8d 38 ff ff ff    	decl   -0xc8(%ebp)
5b21bb:	0f 85 62 ff ff ff    	jne    0x5b2123
5b21c1:	ff 45 8c             	incl   -0x74(%ebp)
5b21c4:	ff 45 b0             	incl   -0x50(%ebp)
5b21c7:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b21cd:	0f 85 15 ff ff ff    	jne    0x5b20e8
5b21d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b21d6:	48                   	dec    %eax
5b21d7:	85 c0                	test   %eax,%eax
5b21d9:	7c 1d                	jl     0x5b21f8
5b21db:	40                   	inc    %eax
5b21dc:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b21e2:	33 ff                	xor    %edi,%edi
5b21e4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b21e7:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5b21ea:	e8 dd 05 e5 ff       	call   0x4027cc
5b21ef:	47                   	inc    %edi
5b21f0:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b21f6:	75 ec                	jne    0x5b21e4
5b21f8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b21fb:	e8 cc 05 e5 ff       	call   0x4027cc
5b2200:	8b 45 88             	mov    -0x78(%ebp),%eax
5b2203:	c1 e0 02             	shl    $0x2,%eax
5b2206:	83 c0 02             	add    $0x2,%eax
5b2209:	83 c0 02             	add    $0x2,%eax
5b220c:	89 45 bc             	mov    %eax,-0x44(%ebp)
5b220f:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b2212:	c1 e0 02             	shl    $0x2,%eax
5b2215:	83 c0 02             	add    $0x2,%eax
5b2218:	83 c0 02             	add    $0x2,%eax
5b221b:	89 45 b8             	mov    %eax,-0x48(%ebp)
5b221e:	8b 45 b8             	mov    -0x48(%ebp),%eax
5b2221:	c1 e0 02             	shl    $0x2,%eax
5b2224:	e8 83 05 e5 ff       	call   0x4027ac
5b2229:	8b f0                	mov    %eax,%esi
5b222b:	8b 45 b8             	mov    -0x48(%ebp),%eax
5b222e:	48                   	dec    %eax
5b222f:	85 c0                	test   %eax,%eax
5b2231:	7c 1d                	jl     0x5b2250
5b2233:	40                   	inc    %eax
5b2234:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b223a:	33 ff                	xor    %edi,%edi
5b223c:	8b 45 bc             	mov    -0x44(%ebp),%eax
5b223f:	e8 70 6e e5 ff       	call   0x4090b4
5b2244:	89 04 be             	mov    %eax,(%esi,%edi,4)
5b2247:	47                   	inc    %edi
5b2248:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b224e:	75 ec                	jne    0x5b223c
5b2250:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b2253:	48                   	dec    %eax
5b2254:	85 c0                	test   %eax,%eax
5b2256:	0f 8c 8b 00 00 00    	jl     0x5b22e7
5b225c:	40                   	inc    %eax
5b225d:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b2263:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b226a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b226d:	c1 e0 02             	shl    $0x2,%eax
5b2270:	83 c0 02             	add    $0x2,%eax
5b2273:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
5b2279:	8b 45 88             	mov    -0x78(%ebp),%eax
5b227c:	48                   	dec    %eax
5b227d:	85 c0                	test   %eax,%eax
5b227f:	7c 5b                	jl     0x5b22dc
5b2281:	40                   	inc    %eax
5b2282:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
5b2288:	33 db                	xor    %ebx,%ebx
5b228a:	8b c3                	mov    %ebx,%eax
5b228c:	c1 e0 02             	shl    $0x2,%eax
5b228f:	83 c0 02             	add    $0x2,%eax
5b2292:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
5b2298:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b229b:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b229e:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b22a1:	8b d3                	mov    %ebx,%edx
5b22a3:	e8 58 d8 ff ff       	call   0x5afb00
5b22a8:	85 c0                	test   %eax,%eax
5b22aa:	74 27                	je     0x5b22d3
5b22ac:	33 d2                	xor    %edx,%edx
5b22ae:	33 c0                	xor    %eax,%eax
5b22b0:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
5b22b6:	03 ca                	add    %edx,%ecx
5b22b8:	8b 0c 8e             	mov    (%esi,%ecx,4),%ecx
5b22bb:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
5b22c1:	03 f8                	add    %eax,%edi
5b22c3:	c6 04 39 01          	movb   $0x1,(%ecx,%edi,1)
5b22c7:	40                   	inc    %eax
5b22c8:	83 f8 04             	cmp    $0x4,%eax
5b22cb:	75 e3                	jne    0x5b22b0
5b22cd:	42                   	inc    %edx
5b22ce:	83 fa 04             	cmp    $0x4,%edx
5b22d1:	75 db                	jne    0x5b22ae
5b22d3:	43                   	inc    %ebx
5b22d4:	ff 8d 38 ff ff ff    	decl   -0xc8(%ebp)
5b22da:	75 ae                	jne    0x5b228a
5b22dc:	ff 45 b4             	incl   -0x4c(%ebp)
5b22df:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b22e5:	75 83                	jne    0x5b226a
5b22e7:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b22ea:	48                   	dec    %eax
5b22eb:	85 c0                	test   %eax,%eax
5b22ed:	7c 1d                	jl     0x5b230c
5b22ef:	40                   	inc    %eax
5b22f0:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b22f6:	33 ff                	xor    %edi,%edi
5b22f8:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b22fb:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5b22fe:	e8 c9 04 e5 ff       	call   0x4027cc
5b2303:	47                   	inc    %edi
5b2304:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b230a:	75 ec                	jne    0x5b22f8
5b230c:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b230f:	e8 b8 04 e5 ff       	call   0x4027cc
5b2314:	33 c0                	xor    %eax,%eax
5b2316:	8b 55 b8             	mov    -0x48(%ebp),%edx
5b2319:	4a                   	dec    %edx
5b231a:	85 d2                	test   %edx,%edx
5b231c:	7c 56                	jl     0x5b2374
5b231e:	42                   	inc    %edx
5b231f:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b2325:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b232c:	8b 55 bc             	mov    -0x44(%ebp),%edx
5b232f:	4a                   	dec    %edx
5b2330:	85 d2                	test   %edx,%edx
5b2332:	7e 35                	jle    0x5b2369
5b2334:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
5b233a:	bb 01 00 00 00       	mov    $0x1,%ebx
5b233f:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b2342:	8b 14 96             	mov    (%esi,%edx,4),%edx
5b2345:	80 3c 1a 01          	cmpb   $0x1,(%edx,%ebx,1)
5b2349:	75 13                	jne    0x5b235e
5b234b:	84 c0                	test   %al,%al
5b234d:	75 11                	jne    0x5b2360
5b234f:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b2352:	8b 04 86             	mov    (%esi,%eax,4),%eax
5b2355:	c6 44 18 ff 03       	movb   $0x3,-0x1(%eax,%ebx,1)
5b235a:	b0 01                	mov    $0x1,%al
5b235c:	eb 02                	jmp    0x5b2360
5b235e:	33 c0                	xor    %eax,%eax
5b2360:	43                   	inc    %ebx
5b2361:	ff 8d 38 ff ff ff    	decl   -0xc8(%ebp)
5b2367:	75 d6                	jne    0x5b233f
5b2369:	ff 45 b4             	incl   -0x4c(%ebp)
5b236c:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b2372:	75 b8                	jne    0x5b232c
5b2374:	8b 55 b8             	mov    -0x48(%ebp),%edx
5b2377:	4a                   	dec    %edx
5b2378:	85 d2                	test   %edx,%edx
5b237a:	7c 49                	jl     0x5b23c5
5b237c:	42                   	inc    %edx
5b237d:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b2383:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b238a:	8b 5d bc             	mov    -0x44(%ebp),%ebx
5b238d:	4b                   	dec    %ebx
5b238e:	83 fb 00             	cmp    $0x0,%ebx
5b2391:	7c 27                	jl     0x5b23ba
5b2393:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b2396:	8b 14 96             	mov    (%esi,%edx,4),%edx
5b2399:	80 3c 1a 01          	cmpb   $0x1,(%edx,%ebx,1)
5b239d:	75 13                	jne    0x5b23b2
5b239f:	84 c0                	test   %al,%al
5b23a1:	75 11                	jne    0x5b23b4
5b23a3:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b23a6:	8b 04 86             	mov    (%esi,%eax,4),%eax
5b23a9:	c6 44 18 01 03       	movb   $0x3,0x1(%eax,%ebx,1)
5b23ae:	b0 01                	mov    $0x1,%al
5b23b0:	eb 02                	jmp    0x5b23b4
5b23b2:	33 c0                	xor    %eax,%eax
5b23b4:	4b                   	dec    %ebx
5b23b5:	83 fb ff             	cmp    $0xffffffff,%ebx
5b23b8:	75 d9                	jne    0x5b2393
5b23ba:	ff 45 b4             	incl   -0x4c(%ebp)
5b23bd:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b23c3:	75 c5                	jne    0x5b238a
5b23c5:	33 c0                	xor    %eax,%eax
5b23c7:	8b 55 bc             	mov    -0x44(%ebp),%edx
5b23ca:	4a                   	dec    %edx
5b23cb:	85 d2                	test   %edx,%edx
5b23cd:	7c 54                	jl     0x5b2423
5b23cf:	42                   	inc    %edx
5b23d0:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b23d6:	33 db                	xor    %ebx,%ebx
5b23d8:	8b 55 b8             	mov    -0x48(%ebp),%edx
5b23db:	4a                   	dec    %edx
5b23dc:	85 d2                	test   %edx,%edx
5b23de:	7c 3a                	jl     0x5b241a
5b23e0:	42                   	inc    %edx
5b23e1:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
5b23e7:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b23ee:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b23f1:	8b 14 96             	mov    (%esi,%edx,4),%edx
5b23f4:	80 3c 1a 01          	cmpb   $0x1,(%edx,%ebx,1)
5b23f8:	75 13                	jne    0x5b240d
5b23fa:	84 c0                	test   %al,%al
5b23fc:	75 11                	jne    0x5b240f
5b23fe:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b2401:	8b 44 86 fc          	mov    -0x4(%esi,%eax,4),%eax
5b2405:	c6 04 18 03          	movb   $0x3,(%eax,%ebx,1)
5b2409:	b0 01                	mov    $0x1,%al
5b240b:	eb 02                	jmp    0x5b240f
5b240d:	33 c0                	xor    %eax,%eax
5b240f:	ff 45 b4             	incl   -0x4c(%ebp)
5b2412:	ff 8d 38 ff ff ff    	decl   -0xc8(%ebp)
5b2418:	75 d4                	jne    0x5b23ee
5b241a:	43                   	inc    %ebx
5b241b:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b2421:	75 b5                	jne    0x5b23d8
5b2423:	33 c0                	xor    %eax,%eax
5b2425:	8b 55 bc             	mov    -0x44(%ebp),%edx
5b2428:	4a                   	dec    %edx
5b2429:	85 d2                	test   %edx,%edx
5b242b:	7c 48                	jl     0x5b2475
5b242d:	42                   	inc    %edx
5b242e:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b2434:	33 db                	xor    %ebx,%ebx
5b2436:	8b 55 b8             	mov    -0x48(%ebp),%edx
5b2439:	4a                   	dec    %edx
5b243a:	83 fa 00             	cmp    $0x0,%edx
5b243d:	7c 2d                	jl     0x5b246c
5b243f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5b2442:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b2445:	8b 14 96             	mov    (%esi,%edx,4),%edx
5b2448:	80 3c 1a 01          	cmpb   $0x1,(%edx,%ebx,1)
5b244c:	75 13                	jne    0x5b2461