8e2271:	e8 9c c3 b5 ff       	call   0x43e612
8e2276:	83 66 04 00          	andl   $0x0,0x4(%esi)
8e227a:	59                   	pop    %ecx
8e227b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
8e227f:	8b 7d 08             	mov    0x8(%ebp),%edi
8e2282:	74 31                	je     0x8e22b5
8e2284:	33 c9                	xor    %ecx,%ecx
8e2286:	8b c7                	mov    %edi,%eax
8e2288:	6a 04                	push   $0x4
8e228a:	5a                   	pop    %edx
8e228b:	f7 e2                	mul    %edx
8e228d:	0f 90 c1             	seto   %cl
8e2290:	f7 d9                	neg    %ecx
8e2292:	0b c8                	or     %eax,%ecx
8e2294:	51                   	push   %ecx
8e2295:	e8 fd 34 b5 ff       	call   0x435797
8e229a:	59                   	pop    %ecx
8e229b:	8b c8                	mov    %eax,%ecx
8e229d:	89 4e 04             	mov    %ecx,0x4(%esi)
8e22a0:	85 c9                	test   %ecx,%ecx
8e22a2:	74 1a                	je     0x8e22be
8e22a4:	8b c7                	mov    %edi,%eax
8e22a6:	c1 e0 02             	shl    $0x2,%eax
8e22a9:	50                   	push   %eax
8e22aa:	6a 00                	push   $0x0
8e22ac:	51                   	push   %ecx
8e22ad:	e8 06 25 b3 ff       	call   0x4147b8
8e22b2:	83 c4 0c             	add    $0xc,%esp
8e22b5:	89 7e 08             	mov    %edi,0x8(%esi)
8e22b8:	5f                   	pop    %edi
8e22b9:	5e                   	pop    %esi
8e22ba:	5d                   	pop    %ebp
8e22bb:	c2 08 00             	ret    $0x8
8e22be:	e8 a3 fc b4 ff       	call   0x431f66
8e22c3:	cc                   	int3
8e22c4:	cc                   	int3
8e22c5:	cc                   	int3
8e22c6:	cc                   	int3
8e22c7:	cc                   	int3
8e22c8:	cc                   	int3
8e22c9:	cc                   	int3
8e22ca:	cc                   	int3
8e22cb:	cc                   	int3
8e22cc:	cc                   	int3
8e22cd:	cc                   	int3
8e22ce:	cc                   	int3
8e22cf:	cc                   	int3
8e22d0:	cc                   	int3
8e22d1:	cc                   	int3
8e22d2:	cc                   	int3
8e22d3:	cc                   	int3
8e22d4:	cc                   	int3
8e22d5:	cc                   	int3
8e22d6:	cc                   	int3
8e22d7:	cc                   	int3
8e22d8:	cc                   	int3
8e22d9:	cc                   	int3
8e22da:	cc                   	int3
8e22db:	cc                   	int3
8e22dc:	33 c0                	xor    %eax,%eax
8e22de:	c3                   	ret
8e22df:	33 c0                	xor    %eax,%eax
8e22e1:	c3                   	ret
8e22e2:	56                   	push   %esi
8e22e3:	57                   	push   %edi
8e22e4:	8b 79 20             	mov    0x20(%ecx),%edi
8e22e7:	57                   	push   %edi
8e22e8:	e8 5e 45 b4 ff       	call   0x42684b
8e22ed:	33 f6                	xor    %esi,%esi
8e22ef:	59                   	pop    %ecx
8e22f0:	85 c0                	test   %eax,%eax
8e22f2:	75 11                	jne    0x8e2305
8e22f4:	56                   	push   %esi
8e22f5:	57                   	push   %edi
8e22f6:	b9 44 ef d5 00       	mov    $0xd5ef44,%ecx
8e22fb:	e8 30 93 b3 ff       	call   0x41b630
8e2300:	85 c0                	test   %eax,%eax
8e2302:	75 01                	jne    0x8e2305
8e2304:	46                   	inc    %esi
8e2305:	5f                   	pop    %edi
8e2306:	8b c6                	mov    %esi,%eax
8e2308:	5e                   	pop    %esi
8e2309:	c3                   	ret
8e230a:	cc                   	int3
8e230b:	cc                   	int3
8e230c:	cc                   	int3
8e230d:	cc                   	int3
8e230e:	cc                   	int3
8e230f:	cc                   	int3
8e2310:	cc                   	int3
8e2311:	cc                   	int3
8e2312:	cc                   	int3
8e2313:	cc                   	int3
8e2314:	33 c0                	xor    %eax,%eax
8e2316:	39 41 0c             	cmp    %eax,0xc(%ecx)
8e2319:	0f 94 c0             	sete   %al
8e231c:	c3                   	ret
8e231d:	cc                   	int3
8e231e:	cc                   	int3
8e231f:	8b 41 48             	mov    0x48(%ecx),%eax
8e2322:	c3                   	ret
8e2323:	a1 0c fa d7 00       	mov    0xd7fa0c,%eax
8e2328:	c3                   	ret
8e2329:	55                   	push   %ebp
8e232a:	8b ec                	mov    %esp,%ebp
8e232c:	56                   	push   %esi
8e232d:	57                   	push   %edi
8e232e:	8b f9                	mov    %ecx,%edi
8e2330:	8b 07                	mov    (%edi),%eax
8e2332:	8b 70 38             	mov    0x38(%eax),%esi
8e2335:	8b ce                	mov    %esi,%ecx
8e2337:	e8 29 a3 b4 ff       	call   0x42c665
8e233c:	8b cf                	mov    %edi,%ecx
8e233e:	ff d6                	call   *%esi
8e2340:	85 c0                	test   %eax,%eax
8e2342:	74 38                	je     0x8e237c
8e2344:	8b 07                	mov    (%edi),%eax
8e2346:	8b 70 38             	mov    0x38(%eax),%esi
8e2349:	8b ce                	mov    %esi,%ecx
8e234b:	e8 15 a3 b4 ff       	call   0x42c665
8e2350:	8b cf                	mov    %edi,%ecx
8e2352:	ff d6                	call   *%esi
8e2354:	3b 45 08             	cmp    0x8(%ebp),%eax
8e2357:	74 1e                	je     0x8e2377
8e2359:	8b 07                	mov    (%edi),%eax
8e235b:	ff 75 08             	push   0x8(%ebp)
8e235e:	8b 70 38             	mov    0x38(%eax),%esi
8e2361:	8b ce                	mov    %esi,%ecx
8e2363:	e8 fd a2 b4 ff       	call   0x42c665
8e2368:	8b cf                	mov    %edi,%ecx
8e236a:	ff d6                	call   *%esi
8e236c:	50                   	push   %eax
8e236d:	ff 15 d4 3f d8 00    	call   *0xd83fd4
8e2373:	85 c0                	test   %eax,%eax
8e2375:	74 05                	je     0x8e237c
8e2377:	33 c0                	xor    %eax,%eax
8e2379:	40                   	inc    %eax
8e237a:	eb 02                	jmp    0x8e237e
8e237c:	33 c0                	xor    %eax,%eax
8e237e:	5f                   	pop    %edi
8e237f:	5e                   	pop    %esi
8e2380:	5d                   	pop    %ebp
8e2381:	c2 04 00             	ret    $0x4
8e2384:	cc                   	int3
8e2385:	cc                   	int3
8e2386:	cc                   	int3
8e2387:	cc                   	int3
8e2388:	cc                   	int3
8e2389:	cc                   	int3
8e238a:	cc                   	int3
8e238b:	cc                   	int3
8e238c:	cc                   	int3
8e238d:	cc                   	int3
8e238e:	cc                   	int3
8e238f:	cc                   	int3
8e2390:	cc                   	int3
8e2391:	cc                   	int3
8e2392:	cc                   	int3
8e2393:	cc                   	int3
8e2394:	cc                   	int3
8e2395:	cc                   	int3
8e2396:	cc                   	int3
8e2397:	cc                   	int3
8e2398:	cc                   	int3
8e2399:	cc                   	int3
8e239a:	33 c0                	xor    %eax,%eax
8e239c:	c3                   	ret
8e239d:	33 c0                	xor    %eax,%eax
8e239f:	c3                   	ret
8e23a0:	53                   	push   %ebx
8e23a1:	8b d9                	mov    %ecx,%ebx
8e23a3:	56                   	push   %esi
8e23a4:	57                   	push   %edi
8e23a5:	8b 03                	mov    (%ebx),%eax
8e23a7:	8b 70 38             	mov    0x38(%eax),%esi
8e23aa:	8b ce                	mov    %esi,%ecx
8e23ac:	e8 b4 a2 b4 ff       	call   0x42c665
8e23b1:	8b cb                	mov    %ebx,%ecx
8e23b3:	ff d6                	call   *%esi
8e23b5:	33 ff                	xor    %edi,%edi
8e23b7:	85 c0                	test   %eax,%eax
8e23b9:	74 18                	je     0x8e23d3
8e23bb:	8b 03                	mov    (%ebx),%eax
8e23bd:	8b 70 38             	mov    0x38(%eax),%esi
8e23c0:	8b ce                	mov    %esi,%ecx
8e23c2:	e8 9e a2 b4 ff       	call   0x42c665
8e23c7:	8b cb                	mov    %ebx,%ecx
8e23c9:	ff d6                	call   *%esi
8e23cb:	50                   	push   %eax
8e23cc:	e8 bd 33 b4 ff       	call   0x42578e
8e23d1:	eb 02                	jmp    0x8e23d5
8e23d3:	8b c7                	mov    %edi,%eax
8e23d5:	85 c0                	test   %eax,%eax
8e23d7:	74 11                	je     0x8e23ea
8e23d9:	8b c8                	mov    %eax,%ecx
8e23db:	e8 9b 74 b3 ff       	call   0x41987b
8e23e0:	a9 00 00 00 10       	test   $0x10000000,%eax
8e23e5:	74 03                	je     0x8e23ea
8e23e7:	33 ff                	xor    %edi,%edi
8e23e9:	47                   	inc    %edi
8e23ea:	8b c7                	mov    %edi,%eax
8e23ec:	5f                   	pop    %edi
8e23ed:	5e                   	pop    %esi
8e23ee:	5b                   	pop    %ebx
8e23ef:	c3                   	ret
8e23f0:	cc                   	int3
8e23f1:	cc                   	int3
8e23f2:	cc                   	int3
8e23f3:	cc                   	int3
8e23f4:	cc                   	int3
8e23f5:	cc                   	int3
8e23f6:	cc                   	int3
8e23f7:	cc                   	int3
8e23f8:	cc                   	int3
8e23f9:	cc                   	int3
8e23fa:	cc                   	int3
8e23fb:	cc                   	int3
8e23fc:	cc                   	int3
8e23fd:	cc                   	int3
8e23fe:	cc                   	int3
8e23ff:	cc                   	int3
8e2400:	cc                   	int3
8e2401:	cc                   	int3
8e2402:	cc                   	int3
8e2403:	cc                   	int3
8e2404:	55                   	push   %ebp
8e2405:	8b ec                	mov    %esp,%ebp
8e2407:	51                   	push   %ecx
8e2408:	51                   	push   %ecx
8e2409:	8d 45 fc             	lea    -0x4(%ebp),%eax
8e240c:	50                   	push   %eax
8e240d:	8d 45 f8             	lea    -0x8(%ebp),%eax
8e2410:	50                   	push   %eax
8e2411:	ff 75 08             	push   0x8(%ebp)
8e2414:	e8 14 a7 b5 ff       	call   0x43cb2d
8e2419:	85 c0                	test   %eax,%eax
8e241b:	74 0f                	je     0x8e242c
8e241d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8e2420:	83 c0 04             	add    $0x4,%eax
8e2423:	50                   	push   %eax
8e2424:	e8 c4 02 b3 ff       	call   0x4126ed
8e2429:	33 c0                	xor    %eax,%eax
8e242b:	40                   	inc    %eax
8e242c:	8b e5                	mov    %ebp,%esp
8e242e:	5d                   	pop    %ebp
8e242f:	c2 08 00             	ret    $0x8
8e2432:	cc                   	int3
8e2433:	cc                   	int3
8e2434:	cc                   	int3
8e2435:	cc                   	int3
8e2436:	cc                   	int3
8e2437:	cc                   	int3
8e2438:	cc                   	int3
8e2439:	cc                   	int3
8e243a:	cc                   	int3
8e243b:	cc                   	int3
8e243c:	cc                   	int3
8e243d:	55                   	push   %ebp
8e243e:	8b ec                	mov    %esp,%ebp
8e2440:	51                   	push   %ecx
8e2441:	53                   	push   %ebx
8e2442:	56                   	push   %esi
8e2443:	57                   	push   %edi
8e2444:	8b f9                	mov    %ecx,%edi
8e2446:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
8e244a:	75 31                	jne    0x8e247d
8e244c:	6a 10                	push   $0x10
8e244e:	ff 77 18             	push   0x18(%edi)
8e2451:	8d 47 14             	lea    0x14(%edi),%eax
8e2454:	50                   	push   %eax
8e2455:	e8 52 0c b3 ff       	call   0x4130ac
8e245a:	8b 57 18             	mov    0x18(%edi),%edx
8e245d:	83 c0 08             	add    $0x8,%eax
8e2460:	8b ca                	mov    %edx,%ecx
8e2462:	c1 e1 04             	shl    $0x4,%ecx
8e2465:	83 c1 f0             	add    $0xfffffff0,%ecx
8e2468:	03 c8                	add    %eax,%ecx
8e246a:	eb 0c                	jmp    0x8e2478
8e246c:	8b 47 10             	mov    0x10(%edi),%eax
8e246f:	89 41 08             	mov    %eax,0x8(%ecx)
8e2472:	89 4f 10             	mov    %ecx,0x10(%edi)
8e2475:	83 e9 10             	sub    $0x10,%ecx
8e2478:	83 ea 01             	sub    $0x1,%edx
8e247b:	79 ef                	jns    0x8e246c
8e247d:	8b 5f 10             	mov    0x10(%edi),%ebx
8e2480:	85 db                	test   %ebx,%ebx
8e2482:	74 32                	je     0x8e24b6
8e2484:	8b 73 08             	mov    0x8(%ebx),%esi
8e2487:	6a 10                	push   $0x10
8e2489:	6a 00                	push   $0x0
8e248b:	53                   	push   %ebx
8e248c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8e248f:	e8 24 23 b3 ff       	call   0x4147b8
8e2494:	89 73 08             	mov    %esi,0x8(%ebx)
8e2497:	83 c4 0c             	add    $0xc,%esp
8e249a:	8b 4f 10             	mov    0x10(%edi),%ecx
8e249d:	8b c3                	mov    %ebx,%eax
8e249f:	8b 49 08             	mov    0x8(%ecx),%ecx
8e24a2:	ff 47 0c             	incl   0xc(%edi)
8e24a5:	89 4f 10             	mov    %ecx,0x10(%edi)
8e24a8:	8b 4d 08             	mov    0x8(%ebp),%ecx
8e24ab:	5f                   	pop    %edi
8e24ac:	5e                   	pop    %esi
8e24ad:	89 0b                	mov    %ecx,(%ebx)
8e24af:	5b                   	pop    %ebx
8e24b0:	8b e5                	mov    %ebp,%esp
8e24b2:	5d                   	pop    %ebp
8e24b3:	c2 04 00             	ret    $0x4
8e24b6:	e8 ab fa b4 ff       	call   0x431f66
8e24bb:	cc                   	int3
8e24bc:	cc                   	int3
8e24bd:	cc                   	int3
8e24be:	cc                   	int3
8e24bf:	cc                   	int3
8e24c0:	cc                   	int3
8e24c1:	cc                   	int3
8e24c2:	cc                   	int3
8e24c3:	cc                   	int3
8e24c4:	cc                   	int3
8e24c5:	cc                   	int3
8e24c6:	cc                   	int3
8e24c7:	cc                   	int3
8e24c8:	cc                   	int3
8e24c9:	cc                   	int3
8e24ca:	cc                   	int3
8e24cb:	cc                   	int3
8e24cc:	cc                   	int3
8e24cd:	cc                   	int3
8e24ce:	cc                   	int3
8e24cf:	cc                   	int3
8e24d0:	cc                   	int3
8e24d1:	cc                   	int3
8e24d2:	cc                   	int3
8e24d3:	cc                   	int3
8e24d4:	cc                   	int3
8e24d5:	cc                   	int3
8e24d6:	cc                   	int3
8e24d7:	cc                   	int3
8e24d8:	cc                   	int3
8e24d9:	cc                   	int3
8e24da:	cc                   	int3
8e24db:	55                   	push   %ebp
8e24dc:	8b ec                	mov    %esp,%ebp
8e24de:	51                   	push   %ecx
8e24df:	53                   	push   %ebx
8e24e0:	56                   	push   %esi
8e24e1:	57                   	push   %edi
8e24e2:	8b f9                	mov    %ecx,%edi
8e24e4:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
8e24e8:	75 31                	jne    0x8e251b