8c20d4:	6a 00                	push   $0x0
8c20d6:	ff 73 20             	push   0x20(%ebx)
8c20d9:	ff 75 ec             	push   -0x14(%ebp)
8c20dc:	8b 4e 7c             	mov    0x7c(%esi),%ecx
8c20df:	ff 75 dc             	push   -0x24(%ebp)
8c20e2:	57                   	push   %edi
8c20e3:	e8 7d a5 b6 ff       	call   0x42c665
8c20e8:	ff 56 7c             	call   *0x7c(%esi)
8c20eb:	8b 45 ec             	mov    -0x14(%ebp),%eax
8c20ee:	50                   	push   %eax
8c20ef:	8b 08                	mov    (%eax),%ecx
8c20f1:	8b 71 08             	mov    0x8(%ecx),%esi
8c20f4:	8b ce                	mov    %esi,%ecx
8c20f6:	e8 6a a5 b6 ff       	call   0x42c665
8c20fb:	ff d6                	call   *%esi
8c20fd:	8b 07                	mov    (%edi),%eax
8c20ff:	57                   	push   %edi
8c2100:	8b 70 08             	mov    0x8(%eax),%esi
8c2103:	8b ce                	mov    %esi,%ecx
8c2105:	e8 5b a5 b6 ff       	call   0x42c665
8c210a:	ff d6                	call   *%esi
8c210c:	8b 45 dc             	mov    -0x24(%ebp),%eax
8c210f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8c2112:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
8c2116:	51                   	push   %ecx
8c2117:	68 00 80 05 80       	push   $0x80058000
8c211c:	8b 30                	mov    (%eax),%esi
8c211e:	50                   	push   %eax
8c211f:	8b 4e 14             	mov    0x14(%esi),%ecx
8c2122:	e8 3e a5 b6 ff       	call   0x42c665
8c2127:	ff 56 14             	call   *0x14(%esi)
8c212a:	85 c0                	test   %eax,%eax
8c212c:	0f 88 a8 00 00 00    	js     0x8c21da
8c2132:	ff 75 e8             	push   -0x18(%ebp)
8c2135:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c2138:	e8 46 28 b6 ff       	call   0x424983
8c213d:	8b 45 ec             	mov    -0x14(%ebp),%eax
8c2140:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8c2144:	83 78 fc 01          	cmpl   $0x1,-0x4(%eax)
8c2148:	7e 0e                	jle    0x8c2158
8c214a:	ff 70 f4             	push   -0xc(%eax)
8c214d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c2150:	e8 95 7e b7 ff       	call   0x439fea
8c2155:	8b 45 ec             	mov    -0x14(%ebp),%eax
8c2158:	50                   	push   %eax
8c2159:	ff 15 b8 3c d8 00    	call   *0xd83cb8
8c215f:	83 cf ff             	or     $0xffffffff,%edi
8c2162:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c2165:	57                   	push   %edi
8c2166:	e8 c1 41 b7 ff       	call   0x43632c
8c216b:	8b 45 ec             	mov    -0x14(%ebp),%eax
8c216e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8c2171:	8b 70 f4             	mov    -0xc(%eax),%esi
8c2174:	66 83 3c 71 5c       	cmpw   $0x5c,(%ecx,%esi,2)
8c2179:	75 01                	jne    0x8c217c
8c217b:	46                   	inc    %esi
8c217c:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c2182:	57                   	push   %edi
8c2183:	51                   	push   %ecx
8c2184:	ff 70 20             	push   0x20(%eax)
8c2187:	ff 70 1c             	push   0x1c(%eax)
8c218a:	e8 0f 66 b7 ff       	call   0x43879e
8c218f:	8b 45 e8             	mov    -0x18(%ebp),%eax
8c2192:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
8c2198:	57                   	push   %edi
8c2199:	8d 04 70             	lea    (%eax,%esi,2),%eax
8c219c:	50                   	push   %eax
8c219d:	ff 71 28             	push   0x28(%ecx)
8c21a0:	ff 71 24             	push   0x24(%ecx)
8c21a3:	e8 f6 65 b7 ff       	call   0x43879e
8c21a8:	8b b3 a8 00 00 00    	mov    0xa8(%ebx),%esi
8c21ae:	ff 76 1c             	push   0x1c(%esi)
8c21b1:	e8 d6 29 b5 ff       	call   0x414b8c
8c21b6:	8b 4e 1c             	mov    0x1c(%esi),%ecx
8c21b9:	83 c4 24             	add    $0x24,%esp
8c21bc:	33 d2                	xor    %edx,%edx
8c21be:	66 89 54 41 02       	mov    %dx,0x2(%ecx,%eax,2)
8c21c3:	ff 75 e8             	push   -0x18(%ebp)
8c21c6:	ff 15 cc 45 d8 00    	call   *0xd845cc
8c21cc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
8c21cf:	89 7d fc             	mov    %edi,-0x4(%ebp)
8c21d2:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8c21d5:	e8 3a 2a b4 ff       	call   0x404c14
8c21da:	8b 45 dc             	mov    -0x24(%ebp),%eax
8c21dd:	e9 aa 02 00 00       	jmp    0x8c248c
8c21e2:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c21e8:	f7 40 34 00 02 00 00 	testl  $0x200,0x34(%eax)
8c21ef:	0f 84 a6 02 00 00    	je     0x8c249b
8c21f5:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8c21fb:	8d 4d d0             	lea    -0x30(%ebp),%ecx
8c21fe:	33 ff                	xor    %edi,%edi
8c2200:	51                   	push   %ecx
8c2201:	89 7d d0             	mov    %edi,-0x30(%ebp)
8c2204:	8b 30                	mov    (%eax),%esi
8c2206:	68 64 8c c4 00       	push   $0xc48c64
8c220b:	50                   	push   %eax
8c220c:	8b 0e                	mov    (%esi),%ecx
8c220e:	e8 52 a4 b6 ff       	call   0x42c665
8c2213:	ff 16                	call   *(%esi)
8c2215:	85 c0                	test   %eax,%eax
8c2217:	0f 88 7e 02 00 00    	js     0x8c249b
8c221d:	8b 45 d0             	mov    -0x30(%ebp),%eax
8c2220:	8d 55 d4             	lea    -0x2c(%ebp),%edx
8c2223:	89 7d d4             	mov    %edi,-0x2c(%ebp)
8c2226:	52                   	push   %edx
8c2227:	50                   	push   %eax
8c2228:	8b 08                	mov    (%eax),%ecx
8c222a:	8b 71 6c             	mov    0x6c(%ecx),%esi
8c222d:	8b ce                	mov    %esi,%ecx
8c222f:	e8 31 a4 b6 ff       	call   0x42c665
8c2234:	ff d6                	call   *%esi
8c2236:	85 c0                	test   %eax,%eax
8c2238:	0f 88 4b 02 00 00    	js     0x8c2489
8c223e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
8c2241:	8d 55 d8             	lea    -0x28(%ebp),%edx
8c2244:	52                   	push   %edx
8c2245:	50                   	push   %eax
8c2246:	8b 08                	mov    (%eax),%ecx
8c2248:	8b 71 24             	mov    0x24(%ecx),%esi
8c224b:	8b ce                	mov    %esi,%ecx
8c224d:	e8 13 a4 b6 ff       	call   0x42c665
8c2252:	ff d6                	call   *%esi
8c2254:	85 c0                	test   %eax,%eax
8c2256:	0f 88 1b 02 00 00    	js     0x8c2477
8c225c:	8b 45 d8             	mov    -0x28(%ebp),%eax
8c225f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
8c2262:	51                   	push   %ecx
8c2263:	8d 4d e0             	lea    -0x20(%ebp),%ecx
8c2266:	89 7d c8             	mov    %edi,-0x38(%ebp)
8c2269:	51                   	push   %ecx
8c226a:	8b 30                	mov    (%eax),%esi
8c226c:	6a 01                	push   $0x1
8c226e:	50                   	push   %eax
8c226f:	8b 4e 0c             	mov    0xc(%esi),%ecx
8c2272:	e8 ee a3 b6 ff       	call   0x42c665
8c2277:	ff 56 0c             	call   *0xc(%esi)
8c227a:	85 c0                	test   %eax,%eax
8c227c:	0f 85 e3 01 00 00    	jne    0x8c2465
8c2282:	e8 8e 43 b7 ff       	call   0x436615
8c2287:	50                   	push   %eax
8c2288:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c228b:	e8 84 79 b4 ff       	call   0x409c14
8c2290:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c2296:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8c2299:	51                   	push   %ecx
8c229a:	68 00 80 05 80       	push   $0x80058000
8c229f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
8c22a6:	8b 40 1c             	mov    0x1c(%eax),%eax
8c22a9:	89 45 e8             	mov    %eax,-0x18(%ebp)
8c22ac:	8b 45 e0             	mov    -0x20(%ebp),%eax
8c22af:	89 7d f0             	mov    %edi,-0x10(%ebp)
8c22b2:	50                   	push   %eax
8c22b3:	8b 30                	mov    (%eax),%esi
8c22b5:	8b 4e 14             	mov    0x14(%esi),%ecx
8c22b8:	e8 a8 a3 b6 ff       	call   0x42c665
8c22bd:	ff 56 14             	call   *0x14(%esi)
8c22c0:	85 c0                	test   %eax,%eax
8c22c2:	78 4a                	js     0x8c230e
8c22c4:	ff 75 f0             	push   -0x10(%ebp)
8c22c7:	ff 15 b8 3c d8 00    	call   *0xd83cb8
8c22cd:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c22d3:	8b 75 e8             	mov    -0x18(%ebp),%esi
8c22d6:	6a ff                	push   $0xffffffff
8c22d8:	ff 75 f0             	push   -0x10(%ebp)
8c22db:	ff 70 20             	push   0x20(%eax)
8c22de:	56                   	push   %esi
8c22df:	e8 ba 64 b7 ff       	call   0x43879e
8c22e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
8c22e7:	83 c4 10             	add    $0x10,%esp
8c22ea:	85 c0                	test   %eax,%eax
8c22ec:	75 04                	jne    0x8c22f2
8c22ee:	8b cf                	mov    %edi,%ecx
8c22f0:	eb 0c                	jmp    0x8c22fe
8c22f2:	50                   	push   %eax
8c22f3:	e8 94 28 b5 ff       	call   0x414b8c
8c22f8:	59                   	pop    %ecx
8c22f9:	8b c8                	mov    %eax,%ecx
8c22fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
8c22fe:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
8c2301:	83 c6 02             	add    $0x2,%esi
8c2304:	50                   	push   %eax
8c2305:	89 75 e8             	mov    %esi,-0x18(%ebp)
8c2308:	ff 15 cc 45 d8 00    	call   *0xd845cc
8c230e:	8b 75 ec             	mov    -0x14(%ebp),%esi
8c2311:	8b 45 e0             	mov    -0x20(%ebp),%eax
8c2314:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8c2317:	51                   	push   %ecx
8c2318:	89 7d f0             	mov    %edi,-0x10(%ebp)
8c231b:	68 00 80 05 80       	push   $0x80058000
8c2320:	8b 38                	mov    (%eax),%edi
8c2322:	50                   	push   %eax
8c2323:	8b 4f 14             	mov    0x14(%edi),%ecx
8c2326:	e8 3a a3 b6 ff       	call   0x42c665
8c232b:	ff 57 14             	call   *0x14(%edi)
8c232e:	85 c0                	test   %eax,%eax
8c2330:	0f 88 96 00 00 00    	js     0x8c23cc
8c2336:	ff 75 f0             	push   -0x10(%ebp)
8c2339:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c233c:	e8 49 11 b5 ff       	call   0x41348a
8c2341:	8b 75 ec             	mov    -0x14(%ebp),%esi
8c2344:	83 7e fc 01          	cmpl   $0x1,-0x4(%esi)
8c2348:	7e 0e                	jle    0x8c2358
8c234a:	ff 76 f4             	push   -0xc(%esi)
8c234d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c2350:	e8 95 7c b7 ff       	call   0x439fea
8c2355:	8b 75 ec             	mov    -0x14(%ebp),%esi
8c2358:	56                   	push   %esi
8c2359:	ff 15 b8 3c d8 00    	call   *0xd83cb8
8c235f:	6a ff                	push   $0xffffffff
8c2361:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8c2364:	e8 c3 3f b7 ff       	call   0x43632c
8c2369:	8b 46 f4             	mov    -0xc(%esi),%eax
8c236c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
8c236f:	6a 5c                	push   $0x5c
8c2371:	5a                   	pop    %edx
8c2372:	89 45 cc             	mov    %eax,-0x34(%ebp)
8c2375:	66 39 14 41          	cmp    %dx,(%ecx,%eax,2)
8c2379:	75 04                	jne    0x8c237f
8c237b:	40                   	inc    %eax
8c237c:	89 45 cc             	mov    %eax,-0x34(%ebp)
8c237f:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
8c2385:	8d 04 41             	lea    (%ecx,%eax,2),%eax
8c2388:	8b 7d e8             	mov    -0x18(%ebp),%edi
8c238b:	8b cf                	mov    %edi,%ecx
8c238d:	6a ff                	push   $0xffffffff
8c238f:	50                   	push   %eax
8c2390:	2b 4a 1c             	sub    0x1c(%edx),%ecx
8c2393:	8b 42 20             	mov    0x20(%edx),%eax
8c2396:	d1 f9                	sar    $1,%ecx
8c2398:	2b c1                	sub    %ecx,%eax
8c239a:	48                   	dec    %eax
8c239b:	50                   	push   %eax
8c239c:	57                   	push   %edi
8c239d:	e8 fc 63 b7 ff       	call   0x43879e
8c23a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
8c23a5:	83 c4 10             	add    $0x10,%esp
8c23a8:	8b 45 cc             	mov    -0x34(%ebp),%eax
8c23ab:	8d 04 41             	lea    (%ecx,%eax,2),%eax
8c23ae:	85 c0                	test   %eax,%eax
8c23b0:	74 0a                	je     0x8c23bc
8c23b2:	50                   	push   %eax
8c23b3:	e8 d4 27 b5 ff       	call   0x414b8c
8c23b8:	59                   	pop    %ecx
8c23b9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
8c23bc:	8d 3c 47             	lea    (%edi,%eax,2),%edi
8c23bf:	83 c7 02             	add    $0x2,%edi
8c23c2:	51                   	push   %ecx
8c23c3:	89 7d e8             	mov    %edi,-0x18(%ebp)
8c23c6:	ff 15 cc 45 d8 00    	call   *0xd845cc
8c23cc:	8b 45 e0             	mov    -0x20(%ebp),%eax
8c23cf:	50                   	push   %eax
8c23d0:	8b 08                	mov    (%eax),%ecx
8c23d2:	8b 79 08             	mov    0x8(%ecx),%edi
8c23d5:	8b cf                	mov    %edi,%ecx
8c23d7:	e8 89 a2 b6 ff       	call   0x42c665
8c23dc:	ff d7                	call   *%edi
8c23de:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c23e4:	8b 48 20             	mov    0x20(%eax),%ecx
8c23e7:	8b 40 1c             	mov    0x1c(%eax),%eax
8c23ea:	8d 04 48             	lea    (%eax,%ecx,2),%eax
8c23ed:	83 c0 fe             	add    $0xfffffffe,%eax
8c23f0:	39 45 e8             	cmp    %eax,-0x18(%ebp)
8c23f3:	73 26                	jae    0x8c241b
8c23f5:	8b 45 d8             	mov    -0x28(%ebp),%eax
8c23f8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
8c23fb:	51                   	push   %ecx
8c23fc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
8c23ff:	51                   	push   %ecx
8c2400:	8b 38                	mov    (%eax),%edi
8c2402:	6a 01                	push   $0x1
8c2404:	50                   	push   %eax
8c2405:	8b 4f 0c             	mov    0xc(%edi),%ecx
8c2408:	e8 58 a2 b6 ff       	call   0x42c665
8c240d:	ff 57 0c             	call   *0xc(%edi)
8c2410:	6a 00                	push   $0x0
8c2412:	5f                   	pop    %edi
8c2413:	85 c0                	test   %eax,%eax
8c2415:	0f 84 f6 fe ff ff    	je     0x8c2311
8c241b:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
8c2421:	8b 4a 20             	mov    0x20(%edx),%ecx
8c2424:	8b 42 1c             	mov    0x1c(%edx),%eax
8c2427:	8d 04 48             	lea    (%eax,%ecx,2),%eax
8c242a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8c242d:	83 c0 fe             	add    $0xfffffffe,%eax
8c2430:	3b c8                	cmp    %eax,%ecx
8c2432:	73 07                	jae    0x8c243b
8c2434:	33 c0                	xor    %eax,%eax
8c2436:	66 89 01             	mov    %ax,(%ecx)
8c2439:	eb 1e                	jmp    0x8c2459
8c243b:	8b 4a 20             	mov    0x20(%edx),%ecx
8c243e:	8b 42 1c             	mov    0x1c(%edx),%eax
8c2441:	33 d2                	xor    %edx,%edx
8c2443:	66 89 54 48 fc       	mov    %dx,-0x4(%eax,%ecx,2)
8c2448:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8c244e:	8b 48 20             	mov    0x20(%eax),%ecx
8c2451:	8b 40 1c             	mov    0x1c(%eax),%eax
8c2454:	66 89 54 48 fe       	mov    %dx,-0x2(%eax,%ecx,2)
8c2459:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
8c245d:	8d 4e f0             	lea    -0x10(%esi),%ecx
8c2460:	e8 af 27 b4 ff       	call   0x404c14
8c2465:	8b 45 d8             	mov    -0x28(%ebp),%eax
8c2468:	50                   	push   %eax
8c2469:	8b 08                	mov    (%eax),%ecx
8c246b:	8b 71 08             	mov    0x8(%ecx),%esi
8c246e:	8b ce                	mov    %esi,%ecx
8c2470:	e8 f0 a1 b6 ff       	call   0x42c665
8c2475:	ff d6                	call   *%esi
8c2477:	8b 45 d4             	mov    -0x2c(%ebp),%eax
8c247a:	50                   	push   %eax
8c247b:	8b 08                	mov    (%eax),%ecx
8c247d:	8b 71 08             	mov    0x8(%ecx),%esi
8c2480:	8b ce                	mov    %esi,%ecx
8c2482:	e8 de a1 b6 ff       	call   0x42c665
8c2487:	ff d6                	call   *%esi
8c2489:	8b 45 d0             	mov    -0x30(%ebp),%eax
8c248c:	8b 08                	mov    (%eax),%ecx
8c248e:	50                   	push   %eax
8c248f:	8b 71 08             	mov    0x8(%ecx),%esi
8c2492:	8b ce                	mov    %esi,%ecx
8c2494:	e8 cc a1 b6 ff       	call   0x42c665
8c2499:	ff d6                	call   *%esi
8c249b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
8c249e:	8b cb                	mov    %ebx,%ecx
8c24a0:	50                   	push   %eax
8c24a1:	e8 8c 6c b5 ff       	call   0x419132
8c24a6:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
8c24ad:	e8 63 41 b7 ff       	call   0x436615
8c24b2:	50                   	push   %eax
8c24b3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
8c24b6:	e8 59 77 b4 ff       	call   0x409c14
8c24bb:	ff 75 e4             	push   -0x1c(%ebp)
8c24be:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
8c24c2:	ff 15 a0 3c d8 00    	call   *0xd83ca0
8c24c8:	85 c0                	test   %eax,%eax
8c24ca:	74 09                	je     0x8c24d5
8c24cc:	50                   	push   %eax
8c24cd:	8d 4d c8             	lea    -0x38(%ebp),%ecx
8c24d0:	e8 b5 0f b5 ff       	call   0x41348a
8c24d5:	e8 3b 41 b7 ff       	call   0x436615
8c24da:	50                   	push   %eax
8c24db:	8d 4d cc             	lea    -0x34(%ebp),%ecx
8c24de:	e8 31 77 b4 ff       	call   0x409c14
8c24e3:	ff 75 e4             	push   -0x1c(%ebp)
8c24e6:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
8c24ea:	ff 15 b4 3c d8 00    	call   *0xd83cb4
8c24f0:	85 c0                	test   %eax,%eax
8c24f2:	74 12                	je     0x8c2506
8c24f4:	66 83 38 2e          	cmpw   $0x2e,(%eax)
8c24f8:	75 0c                	jne    0x8c2506
8c24fa:	83 c0 02             	add    $0x2,%eax