41033d:	ff 73 44             	push   0x44(%ebx)
410340:	ff 15 b8 61 41 00    	call   *0x4161b8
410346:	8b 45 f8             	mov    -0x8(%ebp),%eax
410349:	89 43 44             	mov    %eax,0x44(%ebx)
41034c:	85 f6                	test   %esi,%esi
41034e:	0f 84 35 fe ff ff    	je     0x410189
410354:	56                   	push   %esi
410355:	ff 15 bc 62 41 00    	call   *0x4162bc
41035b:	59                   	pop    %ecx
41035c:	e9 28 fe ff ff       	jmp    0x410189
410361:	b8 57 00 07 80       	mov    $0x80070057,%eax
410366:	50                   	push   %eax
410367:	68 48 43 40 00       	push   $0x404348
41036c:	68 80 02 00 00       	push   $0x280
410371:	68 20 41 40 00       	push   $0x404120
410376:	51                   	push   %ecx
410377:	8b f8                	mov    %eax,%edi
410379:	e8 54 0c 00 00       	call   0x410fd2
41037e:	e9 09 fe ff ff       	jmp    0x41018c
410383:	68 8c 00 00 00       	push   $0x8c
410388:	b8 3d 31 41 00       	mov    $0x41313d,%eax
41038d:	e8 ff 21 00 00       	call   0x412591
410392:	8b d9                	mov    %ecx,%ebx
410394:	89 5d 80             	mov    %ebx,-0x80(%ebp)
410397:	8b 45 08             	mov    0x8(%ebp),%eax
41039a:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4103a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4103a3:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
4103a9:	33 c0                	xor    %eax,%eax
4103ab:	8b f0                	mov    %eax,%esi
4103ad:	89 45 94             	mov    %eax,-0x6c(%ebp)
4103b0:	89 45 8c             	mov    %eax,-0x74(%ebp)
4103b3:	89 45 88             	mov    %eax,-0x78(%ebp)
4103b6:	89 75 98             	mov    %esi,-0x68(%ebp)
4103b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4103bc:	50                   	push   %eax
4103bd:	89 45 84             	mov    %eax,-0x7c(%ebp)
4103c0:	e8 93 f6 ff ff       	call   0x40fa58
4103c5:	8b f8                	mov    %eax,%edi
4103c7:	85 ff                	test   %edi,%edi
4103c9:	0f 88 44 03 00 00    	js     0x410713
4103cf:	ff 73 38             	push   0x38(%ebx)
4103d2:	ff 15 7c 61 41 00    	call   *0x41617c
4103d8:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
4103db:	89 45 84             	mov    %eax,-0x7c(%ebp)
4103de:	51                   	push   %ecx
4103df:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4103e2:	51                   	push   %ecx
4103e3:	50                   	push   %eax
4103e4:	ff 73 38             	push   0x38(%ebx)
4103e7:	e8 6c fb ff ff       	call   0x40ff58
4103ec:	8b f8                	mov    %eax,%edi
4103ee:	85 ff                	test   %edi,%edi
4103f0:	79 1e                	jns    0x410410
4103f2:	57                   	push   %edi
4103f3:	68 98 43 40 00       	push   $0x404398
4103f8:	68 16 03 00 00       	push   $0x316
4103fd:	68 20 41 40 00       	push   $0x404120
410402:	51                   	push   %ecx
410403:	e8 ca 0b 00 00       	call   0x410fd2
410408:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
41040b:	e9 d6 02 00 00       	jmp    0x4106e6
410410:	8b 7d 80             	mov    -0x80(%ebp),%edi
410413:	8d 43 28             	lea    0x28(%ebx),%eax
410416:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
410419:	50                   	push   %eax
41041a:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
410420:	33 c0                	xor    %eax,%eax
410422:	50                   	push   %eax
410423:	50                   	push   %eax
410424:	ff 75 84             	push   -0x7c(%ebp)
410427:	53                   	push   %ebx
410428:	ff 77 24             	push   0x24(%edi)
41042b:	ff 15 8c 60 41 00    	call   *0x41608c
410431:	85 c0                	test   %eax,%eax
410433:	75 30                	jne    0x410465
410435:	ff 15 68 61 41 00    	call   *0x416168
41043b:	8b f8                	mov    %eax,%edi
41043d:	85 ff                	test   %edi,%edi
41043f:	7e 09                	jle    0x41044a
410441:	0f b7 ff             	movzwl %di,%edi
410444:	81 cf 00 00 07 80    	or     $0x80070000,%edi
41044a:	57                   	push   %edi
41044b:	68 98 43 40 00       	push   $0x404398
410450:	68 21 03 00 00       	push   $0x321
410455:	68 20 41 40 00       	push   $0x404120
41045a:	51                   	push   %ecx
41045b:	e8 72 0b 00 00       	call   0x410fd2
410460:	e9 81 02 00 00       	jmp    0x4106e6
410465:	8d 47 2c             	lea    0x2c(%edi),%eax
410468:	50                   	push   %eax
410469:	6a 01                	push   $0x1
41046b:	68 02 66 00 00       	push   $0x6602
410470:	ff 77 24             	push   0x24(%edi)
410473:	89 45 94             	mov    %eax,-0x6c(%ebp)
410476:	ff 15 84 60 41 00    	call   *0x416084
41047c:	85 c0                	test   %eax,%eax
41047e:	75 22                	jne    0x4104a2
410480:	ff 15 68 61 41 00    	call   *0x416168
410486:	8b f8                	mov    %eax,%edi
410488:	85 ff                	test   %edi,%edi
41048a:	7e 09                	jle    0x410495
41048c:	0f b7 ff             	movzwl %di,%edi
41048f:	81 cf 00 00 07 80    	or     $0x80070000,%edi
410495:	57                   	push   %edi
410496:	68 98 43 40 00       	push   $0x404398
41049b:	68 2e 03 00 00       	push   $0x32e
4104a0:	eb b3                	jmp    0x410455
4104a2:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4104a8:	50                   	push   %eax
4104a9:	8d 45 8c             	lea    -0x74(%ebp),%eax
4104ac:	50                   	push   %eax
4104ad:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
4104b3:	6a 01                	push   $0x1
4104b5:	ff 30                	push   (%eax)
4104b7:	8b 45 94             	mov    -0x6c(%ebp),%eax
4104ba:	ff 30                	push   (%eax)
4104bc:	e8 6f f8 ff ff       	call   0x40fd30
4104c1:	8b f8                	mov    %eax,%edi
4104c3:	85 ff                	test   %edi,%edi
4104c5:	79 0d                	jns    0x4104d4
4104c7:	57                   	push   %edi
4104c8:	68 98 43 40 00       	push   $0x404398
4104cd:	68 38 03 00 00       	push   $0x338
4104d2:	eb 81                	jmp    0x410455
4104d4:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
4104da:	33 ff                	xor    %edi,%edi
4104dc:	8d 51 02             	lea    0x2(%ecx),%edx
4104df:	66 8b 01             	mov    (%ecx),%ax
4104e2:	83 c1 02             	add    $0x2,%ecx
4104e5:	66 3b c7             	cmp    %di,%ax
4104e8:	75 f5                	jne    0x4104df
4104ea:	2b ca                	sub    %edx,%ecx
4104ec:	d1 f9                	sar    $1,%ecx
4104ee:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
4104f1:	50                   	push   %eax
4104f2:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
4104f8:	89 45 90             	mov    %eax,-0x70(%ebp)
4104fb:	8d 45 90             	lea    -0x70(%ebp),%eax
4104fe:	50                   	push   %eax
4104ff:	57                   	push   %edi
410500:	57                   	push   %edi
410501:	6a 01                	push   $0x1
410503:	57                   	push   %edi
410504:	8b 7d 94             	mov    -0x6c(%ebp),%edi
410507:	ff 37                	push   (%edi)
410509:	ff 15 94 60 41 00    	call   *0x416094
41050f:	85 c0                	test   %eax,%eax
410511:	75 25                	jne    0x410538
410513:	ff 15 68 61 41 00    	call   *0x416168
410519:	8b f8                	mov    %eax,%edi
41051b:	85 ff                	test   %edi,%edi
41051d:	7e 09                	jle    0x410528
41051f:	0f b7 ff             	movzwl %di,%edi
410522:	81 cf 00 00 07 80    	or     $0x80070000,%edi
410528:	57                   	push   %edi
410529:	68 98 43 40 00       	push   $0x404398
41052e:	68 50 03 00 00       	push   $0x350
410533:	e9 1d ff ff ff       	jmp    0x410455
410538:	85 db                	test   %ebx,%ebx
41053a:	74 08                	je     0x410544
41053c:	53                   	push   %ebx
41053d:	ff 15 bc 62 41 00    	call   *0x4162bc
410543:	59                   	pop    %ecx
410544:	ff 75 90             	push   -0x70(%ebp)
410547:	ff 15 b8 62 41 00    	call   *0x4162b8
41054d:	8b d8                	mov    %eax,%ebx
41054f:	59                   	pop    %ecx
410550:	85 db                	test   %ebx,%ebx
410552:	75 15                	jne    0x410569
410554:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
410559:	57                   	push   %edi
41055a:	68 98 43 40 00       	push   $0x404398
41055f:	68 59 03 00 00       	push   $0x359
410564:	e9 ec fe ff ff       	jmp    0x410455
410569:	ff 75 90             	push   -0x70(%ebp)
41056c:	33 c0                	xor    %eax,%eax
41056e:	50                   	push   %eax
41056f:	53                   	push   %ebx
410570:	e8 7c 25 00 00       	call   0x412af1
410575:	83 c4 0c             	add    $0xc,%esp
410578:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41057e:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
410584:	53                   	push   %ebx
410585:	e8 ac 20 00 00       	call   0x412636
41058a:	83 c4 0c             	add    $0xc,%esp
41058d:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
410593:	ff 75 90             	push   -0x70(%ebp)
410596:	50                   	push   %eax
410597:	53                   	push   %ebx
410598:	33 c0                	xor    %eax,%eax
41059a:	50                   	push   %eax
41059b:	6a 01                	push   $0x1
41059d:	50                   	push   %eax
41059e:	ff 37                	push   (%edi)
4105a0:	ff 15 94 60 41 00    	call   *0x416094
4105a6:	85 c0                	test   %eax,%eax
4105a8:	75 25                	jne    0x4105cf
4105aa:	ff 15 68 61 41 00    	call   *0x416168
4105b0:	8b f8                	mov    %eax,%edi
4105b2:	85 ff                	test   %edi,%edi
4105b4:	7e 09                	jle    0x4105bf
4105b6:	0f b7 ff             	movzwl %di,%edi
4105b9:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4105bf:	57                   	push   %edi
4105c0:	68 98 43 40 00       	push   $0x404398
4105c5:	68 68 03 00 00       	push   $0x368
4105ca:	e9 86 fe ff ff       	jmp    0x410455
4105cf:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4105d5:	50                   	push   %eax
4105d6:	8d 45 88             	lea    -0x78(%ebp),%eax
4105d9:	50                   	push   %eax
4105da:	ff 75 90             	push   -0x70(%ebp)
4105dd:	53                   	push   %ebx
4105de:	e8 52 f8 ff ff       	call   0x40fe35
4105e3:	8b f8                	mov    %eax,%edi
4105e5:	85 ff                	test   %edi,%edi
4105e7:	79 10                	jns    0x4105f9
4105e9:	57                   	push   %edi
4105ea:	68 98 43 40 00       	push   $0x404398
4105ef:	68 6f 03 00 00       	push   $0x36f
4105f4:	e9 5c fe ff ff       	jmp    0x410455
4105f9:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
4105ff:	85 c0                	test   %eax,%eax
410601:	74 47                	je     0x41064a
410603:	83 c0 02             	add    $0x2,%eax
410606:	50                   	push   %eax
410607:	68 ec 43 40 00       	push   $0x4043ec
41060c:	8d 45 9c             	lea    -0x64(%ebp),%eax
41060f:	6a 28                	push   $0x28
410611:	50                   	push   %eax
410612:	e8 bb aa ff ff       	call   0x40b0d2
410617:	8b f8                	mov    %eax,%edi
410619:	83 c4 10             	add    $0x10,%esp
41061c:	85 ff                	test   %edi,%edi
41061e:	79 10                	jns    0x410630
410620:	57                   	push   %edi
410621:	68 98 43 40 00       	push   $0x404398
410626:	68 7a 03 00 00       	push   $0x37a
41062b:	e9 25 fe ff ff       	jmp    0x410455
410630:	8d 45 9c             	lea    -0x64(%ebp),%eax
410633:	50                   	push   %eax
410634:	8d 4d 98             	lea    -0x68(%ebp),%ecx
410637:	e8 64 92 ff ff       	call   0x4098a0
41063c:	ff 75 8c             	push   -0x74(%ebp)
41063f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
410642:	e8 3a e6 ff ff       	call   0x40ec81
410647:	8b 75 98             	mov    -0x68(%ebp),%esi
41064a:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
410650:	85 c0                	test   %eax,%eax
410652:	0f 84 80 00 00 00    	je     0x4106d8
410658:	83 c0 02             	add    $0x2,%eax
41065b:	50                   	push   %eax
41065c:	68 f8 43 40 00       	push   $0x4043f8
410661:	8d 45 9c             	lea    -0x64(%ebp),%eax
410664:	6a 28                	push   $0x28
410666:	50                   	push   %eax
410667:	e8 66 aa ff ff       	call   0x40b0d2
41066c:	8b f8                	mov    %eax,%edi
41066e:	83 c4 10             	add    $0x10,%esp
410671:	85 ff                	test   %edi,%edi
410673:	79 10                	jns    0x410685
410675:	57                   	push   %edi
410676:	68 98 43 40 00       	push   $0x404398
41067b:	68 8c 03 00 00       	push   $0x38c
410680:	e9 d0 fd ff ff       	jmp    0x410455
410685:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
410688:	33 f6                	xor    %esi,%esi
41068a:	8d 51 02             	lea    0x2(%ecx),%edx
41068d:	66 8b 01             	mov    (%ecx),%ax
410690:	83 c1 02             	add    $0x2,%ecx
410693:	66 3b c6             	cmp    %si,%ax
410696:	75 f5                	jne    0x41068d
410698:	2b ca                	sub    %edx,%ecx
41069a:	8d 45 9c             	lea    -0x64(%ebp),%eax
41069d:	d1 f9                	sar    $1,%ecx
41069f:	51                   	push   %ecx
4106a0:	50                   	push   %eax
4106a1:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4106a4:	e8 6e 05 00 00       	call   0x410c17
4106a9:	8b f8                	mov    %eax,%edi
4106ab:	85 ff                	test   %edi,%edi
4106ad:	79 1b                	jns    0x4106ca
4106af:	57                   	push   %edi
4106b0:	68 98 43 40 00       	push   $0x404398
4106b5:	68 92 03 00 00       	push   $0x392
4106ba:	68 20 41 40 00       	push   $0x404120
4106bf:	51                   	push   %ecx
4106c0:	e8 0d 09 00 00       	call   0x410fd2
4106c5:	8b 75 98             	mov    -0x68(%ebp),%esi
4106c8:	eb 1c                	jmp    0x4106e6
4106ca:	ff 75 88             	push   -0x78(%ebp)
4106cd:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4106d0:	e8 ac e5 ff ff       	call   0x40ec81
4106d5:	8b 75 98             	mov    -0x68(%ebp),%esi
4106d8:	33 c9                	xor    %ecx,%ecx
4106da:	8b c6                	mov    %esi,%eax
4106dc:	8b f1                	mov    %ecx,%esi
4106de:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
4106e4:	89 01                	mov    %eax,(%ecx)
4106e6:	85 db                	test   %ebx,%ebx
4106e8:	74 08                	je     0x4106f2
4106ea:	53                   	push   %ebx
4106eb:	ff 15 bc 62 41 00    	call   *0x4162bc
4106f1:	59                   	pop    %ecx
4106f2:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
4106f6:	74 09                	je     0x410701
4106f8:	ff 75 8c             	push   -0x74(%ebp)
4106fb:	ff 15 b8 61 41 00    	call   *0x4161b8
410701:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
410705:	74 09                	je     0x410710
410707:	ff 75 88             	push   -0x78(%ebp)
41070a:	ff 15 b8 61 41 00    	call   *0x4161b8
410710:	8b 5d 80             	mov    -0x80(%ebp),%ebx
410713:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
410717:	74 09                	je     0x410722
410719:	ff 73 28             	push   0x28(%ebx)
41071c:	ff 15 74 60 41 00    	call   *0x416074
410722:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
410726:	74 09                	je     0x410731
410728:	ff 73 2c             	push   0x2c(%ebx)
41072b:	ff 15 74 60 41 00    	call   *0x416074
410731:	56                   	push   %esi
410732:	ff 15 b8 61 41 00    	call   *0x4161b8
410738:	8b c7                	mov    %edi,%eax
41073a:	e8 01 1e 00 00       	call   0x412540
41073f:	c2 08 00             	ret    $0x8
410742:	6a 14                	push   $0x14
410744:	b8 85 31 41 00       	mov    $0x413185,%eax
410749:	e8 10 1e 00 00       	call   0x41255e
41074e:	8b f9                	mov    %ecx,%edi
410750:	33 db                	xor    %ebx,%ebx
410752:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410755:	89 5d fc             	mov    %ebx,-0x4(%ebp)
410758:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41075b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41075e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
410761:	8d 45 f0             	lea    -0x10(%ebp),%eax
410764:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
410768:	50                   	push   %eax
410769:	68 08 2b 40 00       	push   $0x402b08
41076e:	6a 04                	push   $0x4
410770:	53                   	push   %ebx
410771:	68 c8 2c 40 00       	push   $0x402cc8
410776:	89 5d e0             	mov    %ebx,-0x20(%ebp)
410779:	ff 15 20 62 41 00    	call   *0x416220
41077f:	8b f0                	mov    %eax,%esi
410781:	85 f6                	test   %esi,%esi
410783:	79 17                	jns    0x41079c
410785:	51                   	push   %ecx