403368:	8b f1                	mov    %ecx,%esi
40336a:	57                   	push   %edi
40336b:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
40336f:	0f 85 a0 2b 07 00    	jne    0x475f15
403375:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
403379:	75 1c                	jne    0x403397
40337b:	8b 4e 04             	mov    0x4(%esi),%ecx
40337e:	8b 79 38             	mov    0x38(%ecx),%edi
403381:	85 c9                	test   %ecx,%ecx
403383:	74 06                	je     0x40338b
403385:	51                   	push   %ecx
403386:	e8 12 00 00 00       	call   0x40339d
40338b:	89 7e 04             	mov    %edi,0x4(%esi)
40338e:	c6 46 09 00          	movb   $0x0,0x9(%esi)
403392:	ff 0e                	decl   (%esi)
403394:	5f                   	pop    %edi
403395:	5e                   	pop    %esi
403396:	c3                   	ret
403397:	c6 46 09 01          	movb   $0x1,0x9(%esi)
40339b:	eb f5                	jmp    0x403392
40339d:	56                   	push   %esi
40339e:	8b f1                	mov    %ecx,%esi
4033a0:	8d 4e 20             	lea    0x20(%esi),%ecx
4033a3:	e8 78 f8 00 00       	call   0x412c20
4033a8:	8b ce                	mov    %esi,%ecx
4033aa:	e8 71 f8 00 00       	call   0x412c20
4033af:	56                   	push   %esi
4033b0:	e8 a9 c1 01 00       	call   0x41f55e
4033b5:	59                   	pop    %ecx
4033b6:	8b c6                	mov    %esi,%eax
4033b8:	5e                   	pop    %esi
4033b9:	c2 04 00             	ret    $0x4
4033bc:	56                   	push   %esi
4033bd:	8b f1                	mov    %ecx,%esi
4033bf:	8b 0e                	mov    (%esi),%ecx
4033c1:	85 c9                	test   %ecx,%ecx
4033c3:	74 06                	je     0x4033cb
4033c5:	51                   	push   %ecx
4033c6:	e8 fa 01 00 00       	call   0x4035c5
4033cb:	8d 8e ec 00 00 00    	lea    0xec(%esi),%ecx
4033d1:	e8 44 5a 00 00       	call   0x408e1a
4033d6:	8d 8e bc 00 00 00    	lea    0xbc(%esi),%ecx
4033dc:	e8 56 97 00 00       	call   0x40cb37
4033e1:	8d 8e ac 00 00 00    	lea    0xac(%esi),%ecx
4033e7:	e8 4b 97 00 00       	call   0x40cb37
4033ec:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
4033f2:	e8 40 97 00 00       	call   0x40cb37
4033f7:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
4033fd:	e8 35 97 00 00       	call   0x40cb37
403402:	8d 4e 08             	lea    0x8(%esi),%ecx
403405:	5e                   	pop    %esi
403406:	e9 ca 01 00 00       	jmp    0x4035d5
40340b:	56                   	push   %esi
40340c:	57                   	push   %edi
40340d:	8b f1                	mov    %ecx,%esi
40340f:	33 ff                	xor    %edi,%edi
403411:	39 7e 08             	cmp    %edi,0x8(%esi)
403414:	77 07                	ja     0x40341d
403416:	83 66 08 00          	andl   $0x0,0x8(%esi)
40341a:	5f                   	pop    %edi
40341b:	5e                   	pop    %esi
40341c:	c3                   	ret
40341d:	8b 46 04             	mov    0x4(%esi),%eax
403420:	ff 34 b8             	push   (%eax,%edi,4)
403423:	e8 36 c1 01 00       	call   0x41f55e
403428:	59                   	pop    %ecx
403429:	8b 46 04             	mov    0x4(%esi),%eax
40342c:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
403430:	47                   	inc    %edi
403431:	3b 7e 08             	cmp    0x8(%esi),%edi
403434:	73 e0                	jae    0x403416
403436:	eb e5                	jmp    0x40341d
403438:	56                   	push   %esi
403439:	8b f1                	mov    %ecx,%esi
40343b:	8b 0e                	mov    (%esi),%ecx
40343d:	85 c9                	test   %ecx,%ecx
40343f:	74 06                	je     0x403447
403441:	51                   	push   %ecx
403442:	e8 7e 01 00 00       	call   0x4035c5
403447:	8d 8e ec 00 00 00    	lea    0xec(%esi),%ecx
40344d:	e8 00 0c 00 00       	call   0x404052
403452:	8d 8e bc 00 00 00    	lea    0xbc(%esi),%ecx
403458:	e8 da 96 00 00       	call   0x40cb37
40345d:	8d 4e 78             	lea    0x78(%esi),%ecx
403460:	e8 b5 59 00 00       	call   0x408e1a
403465:	8d 4e 34             	lea    0x34(%esi),%ecx
403468:	e8 ad 59 00 00       	call   0x408e1a
40346d:	8d 4e 24             	lea    0x24(%esi),%ecx
403470:	e8 c2 96 00 00       	call   0x40cb37
403475:	8d 4e 14             	lea    0x14(%esi),%ecx
403478:	5e                   	pop    %esi
403479:	e9 b9 96 00 00       	jmp    0x40cb37
40347e:	56                   	push   %esi
40347f:	57                   	push   %edi
403480:	8b f1                	mov    %ecx,%esi
403482:	33 ff                	xor    %edi,%edi
403484:	39 7e 08             	cmp    %edi,0x8(%esi)
403487:	0f 87 6a 2a 07 00    	ja     0x475ef7
40348d:	83 66 08 00          	andl   $0x0,0x8(%esi)
403491:	5f                   	pop    %edi
403492:	5e                   	pop    %esi
403493:	c3                   	ret
403494:	8b 49 04             	mov    0x4(%ecx),%ecx
403497:	85 c9                	test   %ecx,%ecx
403499:	75 01                	jne    0x40349c
40349b:	c3                   	ret
40349c:	56                   	push   %esi
40349d:	e9 a3 1b 07 00       	jmp    0x475045
4034a2:	8b 49 04             	mov    0x4(%ecx),%ecx
4034a5:	85 c9                	test   %ecx,%ecx
4034a7:	75 01                	jne    0x4034aa
4034a9:	c3                   	ret
4034aa:	56                   	push   %esi
4034ab:	e9 b7 1b 07 00       	jmp    0x475067
4034b0:	8b 49 04             	mov    0x4(%ecx),%ecx
4034b3:	85 c9                	test   %ecx,%ecx
4034b5:	75 01                	jne    0x4034b8
4034b7:	c3                   	ret
4034b8:	56                   	push   %esi
4034b9:	e9 98 1b 07 00       	jmp    0x475056
4034be:	56                   	push   %esi
4034bf:	8b f1                	mov    %ecx,%esi
4034c1:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4034c5:	75 19                	jne    0x4034e0
4034c7:	8b 0e                	mov    (%esi),%ecx
4034c9:	85 c9                	test   %ecx,%ecx
4034cb:	75 02                	jne    0x4034cf
4034cd:	5e                   	pop    %esi
4034ce:	c3                   	ret
4034cf:	8b 71 24             	mov    0x24(%ecx),%esi
4034d2:	51                   	push   %ecx
4034d3:	e8 c1 f5 ff ff       	call   0x402a99
4034d8:	8b ce                	mov    %esi,%ecx
4034da:	85 f6                	test   %esi,%esi
4034dc:	75 f1                	jne    0x4034cf
4034de:	5e                   	pop    %esi
4034df:	c3                   	ret
4034e0:	ff 76 08             	push   0x8(%esi)
4034e3:	e8 76 c0 01 00       	call   0x41f55e
4034e8:	59                   	pop    %ecx
4034e9:	eb dc                	jmp    0x4034c7
4034eb:	56                   	push   %esi
4034ec:	8b f1                	mov    %ecx,%esi
4034ee:	8d 8e 78 ff ff ff    	lea    -0x88(%esi),%ecx
4034f4:	8b 01                	mov    (%ecx),%eax
4034f6:	8b 40 04             	mov    0x4(%eax),%eax
4034f9:	c7 84 30 78 ff ff ff 	movl   $0x4b186c,-0x88(%eax,%esi,1)
403500:	6c 18 4b 00
403504:	e8 14 00 00 00       	call   0x40351d
403509:	8d 4e 88             	lea    -0x78(%esi),%ecx
40350c:	e8 31 00 00 00       	call   0x403542
403511:	8d 8e 7c ff ff ff    	lea    -0x84(%esi),%ecx
403517:	5e                   	pop    %esi
403518:	e9 5c 00 00 00       	jmp    0x403579
40351d:	55                   	push   %ebp
40351e:	8b ec                	mov    %esp,%ebp
403520:	51                   	push   %ecx
403521:	51                   	push   %ecx
403522:	56                   	push   %esi
403523:	8b 71 04             	mov    0x4(%ecx),%esi
403526:	89 75 fc             	mov    %esi,-0x4(%ebp)
403529:	51                   	push   %ecx
40352a:	8b c4                	mov    %esp,%eax
40352c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40352f:	83 20 00             	andl   $0x0,(%eax)
403532:	e8 df f3 ff ff       	call   0x402916
403537:	84 c0                	test   %al,%al
403539:	0f 85 ce 2d 07 00    	jne    0x47630d
40353f:	5e                   	pop    %esi
403540:	c9                   	leave
403541:	c3                   	ret
403542:	56                   	push   %esi
403543:	8b f1                	mov    %ecx,%esi
403545:	8d 4e 68             	lea    0x68(%esi),%ecx
403548:	e8 ea 95 00 00       	call   0x40cb37
40354d:	8d 4e 34             	lea    0x34(%esi),%ecx
403550:	e8 08 00 00 00       	call   0x40355d
403555:	8b ce                	mov    %esi,%ecx
403557:	5e                   	pop    %esi
403558:	e9 00 00 00 00       	jmp    0x40355d
40355d:	56                   	push   %esi
40355e:	8b f1                	mov    %ecx,%esi
403560:	8d 4e 24             	lea    0x24(%esi),%ecx
403563:	e8 cf 95 00 00       	call   0x40cb37
403568:	8d 4e 14             	lea    0x14(%esi),%ecx
40356b:	e8 c7 95 00 00       	call   0x40cb37
403570:	8d 4e 04             	lea    0x4(%esi),%ecx
403573:	5e                   	pop    %esi
403574:	e9 be 95 00 00       	jmp    0x40cb37
403579:	57                   	push   %edi
40357a:	8b f9                	mov    %ecx,%edi
40357c:	8b 0f                	mov    (%edi),%ecx
40357e:	85 c9                	test   %ecx,%ecx
403580:	75 06                	jne    0x403588
403582:	83 67 08 00          	andl   $0x0,0x8(%edi)
403586:	5f                   	pop    %edi
403587:	c3                   	ret
403588:	56                   	push   %esi
403589:	e9 9a 2d 07 00       	jmp    0x476328
40358e:	57                   	push   %edi
40358f:	8b f9                	mov    %ecx,%edi
403591:	8b 0f                	mov    (%edi),%ecx
403593:	85 c9                	test   %ecx,%ecx
403595:	75 06                	jne    0x40359d
403597:	83 67 08 00          	andl   $0x0,0x8(%edi)
40359b:	5f                   	pop    %edi
40359c:	c3                   	ret
40359d:	56                   	push   %esi
40359e:	8b 71 04             	mov    0x4(%ecx),%esi
4035a1:	51                   	push   %ecx
4035a2:	e8 64 f6 ff ff       	call   0x402c0b
4035a7:	8b ce                	mov    %esi,%ecx
4035a9:	85 f6                	test   %esi,%esi
4035ab:	75 f1                	jne    0x40359e
4035ad:	5e                   	pop    %esi
4035ae:	eb e7                	jmp    0x403597
4035b0:	57                   	push   %edi
4035b1:	8b f9                	mov    %ecx,%edi
4035b3:	8b 0f                	mov    (%edi),%ecx
4035b5:	85 c9                	test   %ecx,%ecx
4035b7:	75 06                	jne    0x4035bf
4035b9:	83 67 08 00          	andl   $0x0,0x8(%edi)
4035bd:	5f                   	pop    %edi
4035be:	c3                   	ret
4035bf:	56                   	push   %esi
4035c0:	e9 1d 29 07 00       	jmp    0x475ee2
4035c5:	56                   	push   %esi
4035c6:	8b f1                	mov    %ecx,%esi
4035c8:	56                   	push   %esi
4035c9:	e8 90 bf 01 00       	call   0x41f55e
4035ce:	59                   	pop    %ecx
4035cf:	8b c6                	mov    %esi,%eax
4035d1:	5e                   	pop    %esi
4035d2:	c2 04 00             	ret    $0x4
4035d5:	56                   	push   %esi
4035d6:	57                   	push   %edi
4035d7:	8b f9                	mov    %ecx,%edi
4035d9:	33 f6                	xor    %esi,%esi
4035db:	8b 44 f7 04          	mov    0x4(%edi,%esi,8),%eax
4035df:	85 c0                	test   %eax,%eax
4035e1:	0f 85 05 06 07 00    	jne    0x473bec
4035e7:	46                   	inc    %esi
4035e8:	83 fe 10             	cmp    $0x10,%esi
4035eb:	7c ee                	jl     0x4035db
4035ed:	5f                   	pop    %edi
4035ee:	5e                   	pop    %esi
4035ef:	c3                   	ret
4035f0:	8b 49 04             	mov    0x4(%ecx),%ecx
4035f3:	85 c9                	test   %ecx,%ecx
4035f5:	75 01                	jne    0x4035f8
4035f7:	c3                   	ret
4035f8:	56                   	push   %esi
4035f9:	e9 2e ee 06 00       	jmp    0x47242c
4035fe:	55                   	push   %ebp
4035ff:	8b ec                	mov    %esp,%ebp
403601:	51                   	push   %ecx
403602:	51                   	push   %ecx
403603:	53                   	push   %ebx
403604:	56                   	push   %esi
403605:	57                   	push   %edi
403606:	8b f1                	mov    %ecx,%esi
403608:	6a 02                	push   $0x2
40360a:	8b 46 10             	mov    0x10(%esi),%eax
40360d:	8b 5e 14             	mov    0x14(%esi),%ebx
403610:	6a 00                	push   $0x0
403612:	6a 00                	push   $0x0
403614:	89 75 f8             	mov    %esi,-0x8(%ebp)
403617:	89 45 fc             	mov    %eax,-0x4(%ebp)
40361a:	e8 af 10 00 00       	call   0x4046ce
40361f:	8b 7e 10             	mov    0x10(%esi),%edi
403622:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403625:	8b 76 14             	mov    0x14(%esi),%esi
403628:	6a 00                	push   $0x0
40362a:	53                   	push   %ebx
40362b:	ff 75 fc             	push   -0x4(%ebp)
40362e:	e8 9b 10 00 00       	call   0x4046ce
403633:	8b c7                	mov    %edi,%eax
403635:	5f                   	pop    %edi
403636:	8b d6                	mov    %esi,%edx
403638:	5e                   	pop    %esi
403639:	5b                   	pop    %ebx
40363a:	c9                   	leave
40363b:	c3                   	ret
40363c:	55                   	push   %ebp
40363d:	8b ec                	mov    %esp,%ebp
40363f:	b8 00 00 01 00       	mov    $0x10000,%eax
403644:	e8 57 c2 02 00       	call   0x42f8a0
403649:	8b 09                	mov    (%ecx),%ecx
40364b:	56                   	push   %esi
40364c:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
403652:	50                   	push   %eax
403653:	8b f2                	mov    %edx,%esi
403655:	e8 12 00 00 00       	call   0x40366c
40365a:	59                   	pop    %ecx
40365b:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
403661:	50                   	push   %eax
403662:	8b ce                	mov    %esi,%ecx
403664:	e8 fa 33 00 00       	call   0x406a63
403669:	5e                   	pop    %esi
40366a:	c9                   	leave
40366b:	c3                   	ret
40366c:	55                   	push   %ebp
40366d:	8b ec                	mov    %esp,%ebp
40366f:	51                   	push   %ecx
403670:	8d 45 fc             	lea    -0x4(%ebp),%eax
403673:	50                   	push   %eax
403674:	ff 75 08             	push   0x8(%ebp)
403677:	68 ff 7f 00 00       	push   $0x7fff
40367c:	51                   	push   %ecx
40367d:	ff 15 14 d3 48 00    	call   *0x48d314
403683:	8b 45 fc             	mov    -0x4(%ebp),%eax
403686:	85 c0                	test   %eax,%eax
403688:	74 05                	je     0x40368f
40368a:	33 c9                	xor    %ecx,%ecx
40368c:	66 89 08             	mov    %cx,(%eax)
40368f:	8b 4d 08             	mov    0x8(%ebp),%ecx
403692:	e8 02 00 00 00       	call   0x403699
403697:	c9                   	leave
403698:	c3                   	ret
403699:	56                   	push   %esi
40369a:	8b f1                	mov    %ecx,%esi
40369c:	56                   	push   %esi
40369d:	e8 39 d6 01 00       	call   0x420cdb
4036a2:	59                   	pop    %ecx
4036a3:	85 c0                	test   %eax,%eax
4036a5:	74 0f                	je     0x4036b6
4036a7:	66 83 7c 46 fe 5c    	cmpw   $0x5c,-0x2(%esi,%eax,2)
4036ad:	75 07                	jne    0x4036b6
4036af:	33 c9                	xor    %ecx,%ecx
4036b1:	66 89 4c 46 fe       	mov    %cx,-0x2(%esi,%eax,2)
4036b6:	5e                   	pop    %esi
4036b7:	c3                   	ret
4036b8:	56                   	push   %esi
4036b9:	57                   	push   %edi
4036ba:	8b 35 08 d7 48 00    	mov    0x48d708,%esi
4036c0:	33 ff                	xor    %edi,%edi
4036c2:	57                   	push   %edi
4036c3:	ff 35 b8 10 4c 00    	push   0x4c10b8
4036c9:	b8 00 00 00 80       	mov    $0x80000000,%eax
4036ce:	57                   	push   %edi
4036cf:	57                   	push   %edi
4036d0:	6a 64                	push   $0x64
4036d2:	68 2c 01 00 00       	push   $0x12c
4036d7:	50                   	push   %eax
4036d8:	50                   	push   %eax
4036d9:	68 00 00 cf 00       	push   $0xcf0000
4036de:	b8 b8 da 49 00       	mov    $0x49dab8,%eax
4036e3:	50                   	push   %eax
4036e4:	50                   	push   %eax
4036e5:	57                   	push   %edi