4033c5:	8b ec                	mov    %esp,%ebp
4033c7:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
4033cd:	56                   	push   %esi
4033ce:	57                   	push   %edi
4033cf:	8b 3d dc a2 40 00    	mov    0x40a2dc,%edi
4033d5:	6a 01                	push   $0x1
4033d7:	8b f1                	mov    %ecx,%esi
4033d9:	6a ff                	push   $0xffffffff
4033db:	68 0c 10 00 00       	push   $0x100c
4033e0:	ff b6 60 02 00 00    	push   0x260(%esi)
4033e6:	ff d7                	call   *%edi
4033e8:	83 f8 ff             	cmp    $0xffffffff,%eax
4033eb:	74 78                	je     0x403465
4033ed:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
4033f1:	81 e9 78 04 00 00    	sub    $0x478,%ecx
4033f7:	74 27                	je     0x403420
4033f9:	49                   	dec    %ecx
4033fa:	74 12                	je     0x40340e
4033fc:	49                   	dec    %ecx
4033fd:	75 66                	jne    0x403465
4033ff:	6a 00                	push   $0x0
403401:	50                   	push   %eax
403402:	ff 75 08             	push   0x8(%ebp)
403405:	8b ce                	mov    %esi,%ecx
403407:	e8 c2 02 00 00       	call   0x4036ce
40340c:	eb 57                	jmp    0x403465
40340e:	6a 00                	push   $0x0
403410:	50                   	push   %eax
403411:	ff b6 60 02 00 00    	push   0x260(%esi)
403417:	8b ce                	mov    %esi,%ecx
403419:	e8 17 01 00 00       	call   0x403535
40341e:	eb 45                	jmp    0x403465
403420:	89 45 dc             	mov    %eax,-0x24(%ebp)
403423:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
403429:	89 45 ec             	mov    %eax,-0x14(%ebp)
40342c:	8d 45 d8             	lea    -0x28(%ebp),%eax
40342f:	50                   	push   %eax
403430:	6a 00                	push   $0x0
403432:	68 05 10 00 00       	push   $0x1005
403437:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
40343e:	ff b6 60 02 00 00    	push   0x260(%esi)
403444:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
40344b:	c7 45 f0 04 01 00 00 	movl   $0x104,-0x10(%ebp)
403452:	ff d7                	call   *%edi
403454:	85 c0                	test   %eax,%eax
403456:	74 0d                	je     0x403465
403458:	ff 75 ec             	push   -0x14(%ebp)
40345b:	ff 75 08             	push   0x8(%ebp)
40345e:	e8 7d 58 00 00       	call   0x408ce0
403463:	59                   	pop    %ecx
403464:	59                   	pop    %ecx
403465:	5f                   	pop    %edi
403466:	5e                   	pop    %esi
403467:	c9                   	leave
403468:	c2 0c 00             	ret    $0xc
40346b:	55                   	push   %ebp
40346c:	8b ec                	mov    %esp,%ebp
40346e:	81 ec 34 01 00 00    	sub    $0x134,%esp
403474:	56                   	push   %esi
403475:	8b 75 10             	mov    0x10(%ebp),%esi
403478:	57                   	push   %edi
403479:	8b f9                	mov    %ecx,%edi
40347b:	8b 46 08             	mov    0x8(%esi),%eax
40347e:	83 f8 fb             	cmp    $0xfffffffb,%eax
403481:	75 3f                	jne    0x4034c2
403483:	33 f6                	xor    %esi,%esi
403485:	39 77 04             	cmp    %esi,0x4(%edi)
403488:	75 17                	jne    0x4034a1
40348a:	8b 87 5c 02 00 00    	mov    0x25c(%edi),%eax
403490:	6a 01                	push   $0x1
403492:	ff b0 f8 01 00 00    	push   0x1f8(%eax)
403498:	ff 15 c8 a2 40 00    	call   *0x40a2c8
40349e:	89 47 04             	mov    %eax,0x4(%edi)
4034a1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4034a4:	50                   	push   %eax
4034a5:	ff 15 cc a2 40 00    	call   *0x40a2cc
4034ab:	56                   	push   %esi
4034ac:	ff 75 08             	push   0x8(%ebp)
4034af:	56                   	push   %esi
4034b0:	ff 75 fc             	push   -0x4(%ebp)
4034b3:	ff 75 f8             	push   -0x8(%ebp)
4034b6:	56                   	push   %esi
4034b7:	ff 77 04             	push   0x4(%edi)
4034ba:	ff 15 d0 a2 40 00    	call   *0x40a2d0
4034c0:	eb 6d                	jmp    0x40352f
4034c2:	83 f8 fd             	cmp    $0xfffffffd,%eax
4034c5:	75 68                	jne    0x40352f
4034c7:	8b 3d dc a2 40 00    	mov    0x40a2dc,%edi
4034cd:	6a 01                	push   $0x1
4034cf:	6a ff                	push   $0xffffffff
4034d1:	68 0c 10 00 00       	push   $0x100c
4034d6:	ff 36                	push   (%esi)
4034d8:	ff d7                	call   *%edi
4034da:	83 f8 ff             	cmp    $0xffffffff,%eax
4034dd:	74 50                	je     0x40352f
4034df:	33 c9                	xor    %ecx,%ecx
4034e1:	81 7e 04 e8 03 00 00 	cmpl   $0x3e8,0x4(%esi)
4034e8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4034eb:	8d 85 cc fe ff ff    	lea    -0x134(%ebp),%eax
4034f1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4034f4:	8d 45 d0             	lea    -0x30(%ebp),%eax
4034f7:	0f 95 c1             	setne  %cl
4034fa:	49                   	dec    %ecx
4034fb:	50                   	push   %eax
4034fc:	6a 00                	push   $0x0
4034fe:	83 e1 02             	and    $0x2,%ecx
403501:	68 05 10 00 00       	push   $0x1005
403506:	83 c1 04             	add    $0x4,%ecx
403509:	ff 36                	push   (%esi)
40350b:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
403512:	89 4d d8             	mov    %ecx,-0x28(%ebp)
403515:	c7 45 e8 04 01 00 00 	movl   $0x104,-0x18(%ebp)
40351c:	ff d7                	call   *%edi
40351e:	85 c0                	test   %eax,%eax
403520:	74 0d                	je     0x40352f
403522:	ff 75 e4             	push   -0x1c(%ebp)
403525:	ff 75 08             	push   0x8(%ebp)
403528:	e8 b3 57 00 00       	call   0x408ce0
40352d:	59                   	pop    %ecx
40352e:	59                   	pop    %ecx
40352f:	5f                   	pop    %edi
403530:	5e                   	pop    %esi
403531:	c9                   	leave
403532:	c2 0c 00             	ret    $0xc
403535:	55                   	push   %ebp
403536:	8b ec                	mov    %esp,%ebp
403538:	81 ec 48 07 00 00    	sub    $0x748,%esp
40353e:	8b 45 0c             	mov    0xc(%ebp),%eax
403541:	53                   	push   %ebx
403542:	89 45 d8             	mov    %eax,-0x28(%ebp)
403545:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
40354b:	89 45 e8             	mov    %eax,-0x18(%ebp)
40354e:	56                   	push   %esi
40354f:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
403555:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403558:	57                   	push   %edi
403559:	33 db                	xor    %ebx,%ebx
40355b:	50                   	push   %eax
40355c:	bf 05 10 00 00       	mov    $0x1005,%edi
403561:	53                   	push   %ebx
403562:	57                   	push   %edi
403563:	ff 75 08             	push   0x8(%ebp)
403566:	89 4d fc             	mov    %ecx,-0x4(%ebp)
403569:	88 9d b8 f8 ff ff    	mov    %bl,-0x748(%ebp)
40356f:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
403576:	89 5d dc             	mov    %ebx,-0x24(%ebp)
403579:	c7 45 ec 03 01 00 00 	movl   $0x103,-0x14(%ebp)
403580:	ff d6                	call   *%esi
403582:	85 c0                	test   %eax,%eax
403584:	74 15                	je     0x40359b
403586:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
40358c:	50                   	push   %eax
40358d:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
403593:	50                   	push   %eax
403594:	e8 af 5a 00 00       	call   0x409048
403599:	59                   	pop    %ecx
40359a:	59                   	pop    %ecx
40359b:	8d 85 d1 fe ff ff    	lea    -0x12f(%ebp),%eax
4035a1:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
4035a8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4035ab:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4035ae:	50                   	push   %eax
4035af:	53                   	push   %ebx
4035b0:	57                   	push   %edi
4035b1:	c6 85 d0 fe ff ff 20 	movb   $0x20,-0x130(%ebp)
4035b8:	ff 75 08             	push   0x8(%ebp)
4035bb:	ff d6                	call   *%esi
4035bd:	85 c0                	test   %eax,%eax
4035bf:	74 15                	je     0x4035d6
4035c1:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
4035c7:	50                   	push   %eax
4035c8:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
4035ce:	50                   	push   %eax
4035cf:	e8 6e 59 00 00       	call   0x408f42
4035d4:	59                   	pop    %ecx
4035d5:	59                   	pop    %ecx
4035d6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4035d9:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
4035e0:	50                   	push   %eax
4035e1:	53                   	push   %ebx
4035e2:	57                   	push   %edi
4035e3:	ff 75 08             	push   0x8(%ebp)
4035e6:	ff d6                	call   *%esi
4035e8:	85 c0                	test   %eax,%eax
4035ea:	74 15                	je     0x403601
4035ec:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
4035f2:	50                   	push   %eax
4035f3:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
4035f9:	50                   	push   %eax
4035fa:	e8 43 59 00 00       	call   0x408f42
4035ff:	59                   	pop    %ecx
403600:	59                   	pop    %ecx
403601:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403604:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
40360b:	50                   	push   %eax
40360c:	53                   	push   %ebx
40360d:	57                   	push   %edi
40360e:	ff 75 08             	push   0x8(%ebp)
403611:	ff d6                	call   *%esi
403613:	85 c0                	test   %eax,%eax
403615:	74 15                	je     0x40362c
403617:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
40361d:	50                   	push   %eax
40361e:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
403624:	50                   	push   %eax
403625:	e8 18 59 00 00       	call   0x408f42
40362a:	59                   	pop    %ecx
40362b:	59                   	pop    %ecx
40362c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40362f:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
403636:	50                   	push   %eax
403637:	53                   	push   %ebx
403638:	57                   	push   %edi
403639:	ff 75 08             	push   0x8(%ebp)
40363c:	ff d6                	call   *%esi
40363e:	85 c0                	test   %eax,%eax
403640:	74 15                	je     0x403657
403642:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
403648:	50                   	push   %eax
403649:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
40364f:	50                   	push   %eax
403650:	e8 ed 58 00 00       	call   0x408f42
403655:	59                   	pop    %ecx
403656:	59                   	pop    %ecx
403657:	38 5d 10             	cmp    %bl,0x10(%ebp)
40365a:	74 56                	je     0x4036b2
40365c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40365f:	c7 45 dc 05 00 00 00 	movl   $0x5,-0x24(%ebp)
403666:	50                   	push   %eax
403667:	53                   	push   %ebx
403668:	57                   	push   %edi
403669:	ff 75 08             	push   0x8(%ebp)
40366c:	ff d6                	call   *%esi
40366e:	85 c0                	test   %eax,%eax
403670:	74 15                	je     0x403687
403672:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
403678:	50                   	push   %eax
403679:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
40367f:	50                   	push   %eax
403680:	e8 bd 58 00 00       	call   0x408f42
403685:	59                   	pop    %ecx
403686:	59                   	pop    %ecx
403687:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40368a:	c7 45 dc 06 00 00 00 	movl   $0x6,-0x24(%ebp)
403691:	50                   	push   %eax
403692:	53                   	push   %ebx
403693:	57                   	push   %edi
403694:	ff 75 08             	push   0x8(%ebp)
403697:	ff d6                	call   *%esi
403699:	85 c0                	test   %eax,%eax
40369b:	74 15                	je     0x4036b2
40369d:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
4036a3:	50                   	push   %eax
4036a4:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
4036aa:	50                   	push   %eax
4036ab:	e8 92 58 00 00       	call   0x408f42
4036b0:	59                   	pop    %ecx
4036b1:	59                   	pop    %ecx
4036b2:	8d 85 b8 f8 ff ff    	lea    -0x748(%ebp),%eax
4036b8:	50                   	push   %eax
4036b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4036bc:	8b 88 5c 02 00 00    	mov    0x25c(%eax),%ecx
4036c2:	e8 17 de ff ff       	call   0x4014de
4036c7:	5f                   	pop    %edi
4036c8:	5e                   	pop    %esi
4036c9:	5b                   	pop    %ebx
4036ca:	c9                   	leave
4036cb:	c2 0c 00             	ret    $0xc
4036ce:	b8 40 94 40 00       	mov    $0x409440,%eax
4036d3:	e8 58 58 00 00       	call   0x408f30
4036d8:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
4036de:	8a 45 10             	mov    0x10(%ebp),%al
4036e1:	53                   	push   %ebx
4036e2:	f6 d8                	neg    %al
4036e4:	1b c0                	sbb    %eax,%eax
4036e6:	56                   	push   %esi
4036e7:	83 e0 02             	and    $0x2,%eax
4036ea:	57                   	push   %edi
4036eb:	89 45 b0             	mov    %eax,-0x50(%ebp)
4036ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4036f1:	89 45 ac             	mov    %eax,-0x54(%ebp)
4036f4:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
4036fa:	89 45 bc             	mov    %eax,-0x44(%ebp)
4036fd:	8b 1d dc a2 40 00    	mov    0x40a2dc,%ebx
403703:	8d 45 a8             	lea    -0x58(%ebp),%eax
403706:	89 65 f0             	mov    %esp,-0x10(%ebp)
403709:	50                   	push   %eax
40370a:	8b f9                	mov    %ecx,%edi
40370c:	6a 00                	push   $0x0
40370e:	68 05 10 00 00       	push   $0x1005
403713:	ff b7 60 02 00 00    	push   0x260(%edi)
403719:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40371c:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
403723:	c7 45 c0 04 01 00 00 	movl   $0x104,-0x40(%ebp)
40372a:	ff d3                	call   *%ebx
40372c:	85 c0                	test   %eax,%eax
40372e:	0f 84 85 01 00 00    	je     0x4038b9
403734:	8b 35 f8 a0 40 00    	mov    0x40a0f8,%esi
40373a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40373e:	68 7c c5 40 00       	push   $0x40c57c
403743:	ff d6                	call   *%esi
403745:	68 70 c5 40 00       	push   $0x40c570
40374a:	89 45 0c             	mov    %eax,0xc(%ebp)
40374d:	ff d6                	call   *%esi
40374f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
403753:	0f 84 24 01 00 00    	je     0x40387d
403759:	85 c0                	test   %eax,%eax
40375b:	0f 84 1c 01 00 00    	je     0x40387d
403761:	8b 35 50 a0 40 00    	mov    0x40a050,%esi
403767:	68 60 c5 40 00       	push   $0x40c560
40376c:	50                   	push   %eax
40376d:	ff d6                	call   *%esi
40376f:	68 4c c5 40 00       	push   $0x40c54c
403774:	89 45 a4             	mov    %eax,-0x5c(%ebp)
403777:	ff 75 0c             	push   0xc(%ebp)
40377a:	ff d6                	call   *%esi
40377c:	89 45 a0             	mov    %eax,-0x60(%ebp)
40377f:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
403785:	50                   	push   %eax
403786:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
40378c:	50                   	push   %eax
40378d:	e8 b6 58 00 00       	call   0x409048
403792:	33 f6                	xor    %esi,%esi
403794:	59                   	pop    %ecx
403795:	39 75 a4             	cmp    %esi,-0x5c(%ebp)
403798:	59                   	pop    %ecx
403799:	0f 84 c9 00 00 00    	je     0x403868
40379f:	39 75 a0             	cmp    %esi,-0x60(%ebp)
4037a2:	0f 84 c0 00 00 00    	je     0x403868
4037a8:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4037ac:	74 44                	je     0x4037f2
4037ae:	8d 45 a8             	lea    -0x58(%ebp),%eax
4037b1:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
4037b8:	50                   	push   %eax
4037b9:	56                   	push   %esi
4037ba:	68 05 10 00 00       	push   $0x1005
4037bf:	ff b7 60 02 00 00    	push   0x260(%edi)
4037c5:	ff d3                	call   *%ebx
4037c7:	85 c0                	test   %eax,%eax
4037c9:	74 12                	je     0x4037dd
4037cb:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
4037d1:	50                   	push   %eax
4037d2:	ff 15 38 a1 40 00    	call   *0x40a138
4037d8:	3b c6                	cmp    %esi,%eax
4037da:	59                   	pop    %ecx
4037db:	75 18                	jne    0x4037f5
4037dd:	8d 45 e8             	lea    -0x18(%ebp),%eax
4037e0:	68 68 a4 40 00       	push   $0x40a468
4037e5:	50                   	push   %eax
4037e6:	c7 45 e8 38 c5 40 00 	movl   $0x40c538,-0x18(%ebp)