4033f2:	51                   	push   %ecx
4033f3:	8d b4 24 78 04 00 00 	lea    0x478(%esp),%esi
4033fa:	56                   	push   %esi
4033fb:	8b 75 18             	mov    0x18(%ebp),%esi
4033fe:	51                   	push   %ecx
4033ff:	6a 00                	push   $0x0
403401:	ff 75 1c             	push   0x1c(%ebp)
403404:	56                   	push   %esi
403405:	ff 74 24 34          	push   0x34(%esp)
403409:	ff 74 24 3c          	push   0x3c(%esp)
40340d:	57                   	push   %edi
40340e:	50                   	push   %eax
40340f:	e8 dc fc ff ff       	call   0x4030f0
403414:	83 fe 03             	cmp    $0x3,%esi
403417:	74 4b                	je     0x403464
403419:	85 f6                	test   %esi,%esi
40341b:	75 30                	jne    0x40344d
40341d:	84 db                	test   %bl,%bl
40341f:	74 1d                	je     0x40343e
403421:	8b 35 28 d5 40 00    	mov    0x40d528,%esi
403427:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
40342e:	50                   	push   %eax
40342f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
403433:	8b ce                	mov    %esi,%ecx
403435:	50                   	push   %eax
403436:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40343c:	ff d6                	call   *%esi
40343e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403442:	e8 f0 fb ff ff       	call   0x403037
403447:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40344b:	eb 1b                	jmp    0x403468
40344d:	8b 8c 24 6c 14 00 00 	mov    0x146c(%esp),%ecx
403454:	5f                   	pop    %edi
403455:	5e                   	pop    %esi
403456:	5b                   	pop    %ebx
403457:	33 cc                	xor    %esp,%ecx
403459:	e8 02 6a 00 00       	call   0x409e60
40345e:	8b e5                	mov    %ebp,%esp
403460:	5d                   	pop    %ebp
403461:	c2 20 00             	ret    $0x20
403464:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403468:	e8 bc fe ff ff       	call   0x403329
40346d:	cc                   	int3
40346e:	8b ff                	mov    %edi,%edi
403470:	55                   	push   %ebp
403471:	8b ec                	mov    %esp,%ebp
403473:	83 e4 f8             	and    $0xfffffff8,%esp
403476:	51                   	push   %ecx
403477:	51                   	push   %ecx
403478:	ff 75 1c             	push   0x1c(%ebp)
40347b:	ff 75 18             	push   0x18(%ebp)
40347e:	ff 75 14             	push   0x14(%ebp)
403481:	ff 75 10             	push   0x10(%ebp)
403484:	ff 75 0c             	push   0xc(%ebp)
403487:	ff 75 08             	push   0x8(%ebp)
40348a:	e8 0c ff ff ff       	call   0x40339b
40348f:	8b e5                	mov    %ebp,%esp
403491:	5d                   	pop    %ebp
403492:	c2 18 00             	ret    $0x18
403495:	8b ff                	mov    %edi,%edi
403497:	55                   	push   %ebp
403498:	8b ec                	mov    %esp,%ebp
40349a:	53                   	push   %ebx
40349b:	56                   	push   %esi
40349c:	57                   	push   %edi
40349d:	ff 75 14             	push   0x14(%ebp)
4034a0:	8b fa                	mov    %edx,%edi
4034a2:	8b d9                	mov    %ecx,%ebx
4034a4:	51                   	push   %ecx
4034a5:	51                   	push   %ecx
4034a6:	68 b8 16 40 00       	push   $0x4016b8
4034ab:	e8 db f7 ff ff       	call   0x402c8b
4034b0:	8b f0                	mov    %eax,%esi
4034b2:	85 f6                	test   %esi,%esi
4034b4:	7f 04                	jg     0x4034ba
4034b6:	8b ce                	mov    %esi,%ecx
4034b8:	eb 09                	jmp    0x4034c3
4034ba:	0f b7 ce             	movzwl %si,%ecx
4034bd:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
4034c3:	51                   	push   %ecx
4034c4:	51                   	push   %ecx
4034c5:	51                   	push   %ecx
4034c6:	6a 03                	push   $0x3
4034c8:	ff 75 14             	push   0x14(%ebp)
4034cb:	8b d7                	mov    %edi,%edx
4034cd:	8b cb                	mov    %ebx,%ecx
4034cf:	6a 00                	push   $0x0
4034d1:	6a 00                	push   $0x0
4034d3:	68 b8 16 40 00       	push   $0x4016b8
4034d8:	e8 be fe ff ff       	call   0x40339b
4034dd:	5f                   	pop    %edi
4034de:	8b c6                	mov    %esi,%eax
4034e0:	5e                   	pop    %esi
4034e1:	5b                   	pop    %ebx
4034e2:	5d                   	pop    %ebp
4034e3:	c2 14 00             	ret    $0x14
4034e6:	8b ff                	mov    %edi,%edi
4034e8:	55                   	push   %ebp
4034e9:	8b ec                	mov    %esp,%ebp
4034eb:	53                   	push   %ebx
4034ec:	56                   	push   %esi
4034ed:	57                   	push   %edi
4034ee:	ff 75 14             	push   0x14(%ebp)
4034f1:	8b fa                	mov    %edx,%edi
4034f3:	8b d9                	mov    %ecx,%ebx
4034f5:	51                   	push   %ecx
4034f6:	51                   	push   %ecx
4034f7:	68 b4 16 40 00       	push   $0x4016b4
4034fc:	e8 8a f7 ff ff       	call   0x402c8b
403501:	8b f0                	mov    %eax,%esi
403503:	85 f6                	test   %esi,%esi
403505:	7e 09                	jle    0x403510
403507:	0f b7 f6             	movzwl %si,%esi
40350a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403510:	51                   	push   %ecx
403511:	51                   	push   %ecx
403512:	56                   	push   %esi
403513:	6a 01                	push   $0x1
403515:	ff 75 14             	push   0x14(%ebp)
403518:	8b d7                	mov    %edi,%edx
40351a:	8b cb                	mov    %ebx,%ecx
40351c:	6a 00                	push   $0x0
40351e:	6a 00                	push   $0x0
403520:	68 b4 16 40 00       	push   $0x4016b4
403525:	e8 71 fe ff ff       	call   0x40339b
40352a:	5f                   	pop    %edi
40352b:	8b c6                	mov    %esi,%eax
40352d:	5e                   	pop    %esi
40352e:	5b                   	pop    %ebx
40352f:	5d                   	pop    %ebp
403530:	c2 14 00             	ret    $0x14
403533:	8b ff                	mov    %edi,%edi
403535:	55                   	push   %ebp
403536:	8b ec                	mov    %esp,%ebp
403538:	ff 75 0c             	push   0xc(%ebp)
40353b:	6a 01                	push   $0x1
40353d:	ff 75 04             	push   0x4(%ebp)
403540:	6a 00                	push   $0x0
403542:	6a 00                	push   $0x0
403544:	68 b4 16 40 00       	push   $0x4016b4
403549:	e8 20 ff ff ff       	call   0x40346e
40354e:	5d                   	pop    %ebp
40354f:	c2 08 00             	ret    $0x8
403552:	8b ff                	mov    %edi,%edi
403554:	55                   	push   %ebp
403555:	8b ec                	mov    %esp,%ebp
403557:	51                   	push   %ecx
403558:	51                   	push   %ecx
403559:	ff 75 04             	push   0x4(%ebp)
40355c:	83 ec 0c             	sub    $0xc,%esp
40355f:	e8 82 ff ff ff       	call   0x4034e6
403564:	59                   	pop    %ecx
403565:	5d                   	pop    %ebp
403566:	c2 04 00             	ret    $0x4
403569:	8b ff                	mov    %edi,%edi
40356b:	55                   	push   %ebp
40356c:	8b ec                	mov    %esp,%ebp
40356e:	51                   	push   %ecx
40356f:	ff 75 04             	push   0x4(%ebp)
403572:	83 ec 0c             	sub    $0xc,%esp
403575:	e8 1b ff ff ff       	call   0x403495
40357a:	5d                   	pop    %ebp
40357b:	c2 04 00             	ret    $0x4
40357e:	8b ff                	mov    %edi,%edi
403580:	55                   	push   %ebp
403581:	8b ec                	mov    %esp,%ebp
403583:	68 ff ff 00 80       	push   $0x8000ffff
403588:	6a 03                	push   $0x3
40358a:	ff 75 04             	push   0x4(%ebp)
40358d:	ba 4c 0b 00 00       	mov    $0xb4c,%edx
403592:	6a 00                	push   $0x0
403594:	6a 00                	push   $0x0
403596:	68 b8 16 40 00       	push   $0x4016b8
40359b:	e8 ce fe ff ff       	call   0x40346e
4035a0:	5d                   	pop    %ebp
4035a1:	c2 04 00             	ret    $0x4
4035a4:	6a 07                	push   $0x7
4035a6:	59                   	pop    %ecx
4035a7:	cd 29                	int    $0x29
4035a9:	c3                   	ret
4035aa:	8b ff                	mov    %edi,%edi
4035ac:	55                   	push   %ebp
4035ad:	8b ec                	mov    %esp,%ebp
4035af:	ff 75 08             	push   0x8(%ebp)
4035b2:	ff 15 54 e0 40 00    	call   *0x40e054
4035b8:	85 c0                	test   %eax,%eax
4035ba:	74 04                	je     0x4035c0
4035bc:	5d                   	pop    %ebp
4035bd:	c2 04 00             	ret    $0x4
4035c0:	51                   	push   %ecx
4035c1:	8b 4d 04             	mov    0x4(%ebp),%ecx
4035c4:	ba 26 09 00 00       	mov    $0x926,%edx
4035c9:	e8 9b ff ff ff       	call   0x403569
4035ce:	cc                   	int3
4035cf:	8b ff                	mov    %edi,%edi
4035d1:	55                   	push   %ebp
4035d2:	8b ec                	mov    %esp,%ebp
4035d4:	ff 75 08             	push   0x8(%ebp)
4035d7:	ff 15 e8 e0 40 00    	call   *0x40e0e8
4035dd:	85 c0                	test   %eax,%eax
4035df:	74 04                	je     0x4035e5
4035e1:	5d                   	pop    %ebp
4035e2:	c2 04 00             	ret    $0x4
4035e5:	51                   	push   %ecx
4035e6:	8b 4d 04             	mov    0x4(%ebp),%ecx
4035e9:	ba 30 09 00 00       	mov    $0x930,%edx
4035ee:	e8 76 ff ff ff       	call   0x403569
4035f3:	cc                   	int3
4035f4:	8b ff                	mov    %edi,%edi
4035f6:	55                   	push   %ebp
4035f7:	8b ec                	mov    %esp,%ebp
4035f9:	6a ff                	push   $0xffffffff
4035fb:	68 c9 ac 40 00       	push   $0x40acc9
403600:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403606:	50                   	push   %eax
403607:	a1 50 d1 40 00       	mov    0x40d150,%eax
40360c:	33 c5                	xor    %ebp,%eax
40360e:	50                   	push   %eax
40360f:	8d 45 f4             	lea    -0xc(%ebp),%eax
403612:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403618:	83 39 00             	cmpl   $0x0,(%ecx)
40361b:	74 07                	je     0x403624
40361d:	ff 31                	push   (%ecx)
40361f:	e8 ab ff ff ff       	call   0x4035cf
403624:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403627:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40362e:	59                   	pop    %ecx
40362f:	c9                   	leave
403630:	c3                   	ret
403631:	8b ff                	mov    %edi,%edi
403633:	55                   	push   %ebp
403634:	8b ec                	mov    %esp,%ebp
403636:	81 ec 14 02 00 00    	sub    $0x214,%esp
40363c:	a1 50 d1 40 00       	mov    0x40d150,%eax
403641:	33 c5                	xor    %ebp,%eax
403643:	89 45 fc             	mov    %eax,-0x4(%ebp)
403646:	53                   	push   %ebx
403647:	56                   	push   %esi
403648:	57                   	push   %edi
403649:	8b 7d 10             	mov    0x10(%ebp),%edi
40364c:	8b d9                	mov    %ecx,%ebx
40364e:	8b c7                	mov    %edi,%eax
403650:	25 00 00 00 80       	and    $0x80000000,%eax
403655:	0b 45 14             	or     0x14(%ebp),%eax
403658:	0f 85 8b 00 00 00    	jne    0x4036e9
40365e:	51                   	push   %ecx
40365f:	ff 75 08             	push   0x8(%ebp)
403662:	ba 04 01 00 00       	mov    $0x104,%edx
403667:	51                   	push   %ecx
403668:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40366e:	e8 4d f0 ff ff       	call   0x4026c0
403673:	68 f0 16 40 00       	push   $0x4016f0
403678:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40367e:	e8 98 ef ff ff       	call   0x40261b
403683:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
403689:	76 04                	jbe    0x40368f
40368b:	8b c7                	mov    %edi,%eax
40368d:	eb 03                	jmp    0x403692
40368f:	33 c0                	xor    %eax,%eax
403691:	40                   	inc    %eax
403692:	68 03 00 1f 00       	push   $0x1f0003
403697:	33 f6                	xor    %esi,%esi
403699:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40369f:	56                   	push   %esi
4036a0:	51                   	push   %ecx
4036a1:	50                   	push   %eax
4036a2:	57                   	push   %edi
4036a3:	56                   	push   %esi
4036a4:	ff 15 ec e0 40 00    	call   *0x40e0ec
4036aa:	85 c0                	test   %eax,%eax
4036ac:	74 0a                	je     0x4036b8
4036ae:	50                   	push   %eax
4036af:	8b cb                	mov    %ebx,%ecx
4036b1:	e8 45 0d 00 00       	call   0x4043fb
4036b6:	eb 07                	jmp    0x4036bf
4036b8:	e8 06 f6 ff ff       	call   0x402cc3
4036bd:	8b f0                	mov    %eax,%esi
4036bf:	85 f6                	test   %esi,%esi
4036c1:	79 13                	jns    0x4036d6
4036c3:	56                   	push   %esi
4036c4:	51                   	push   %ecx
4036c5:	8b 4d 04             	mov    0x4(%ebp),%ecx
4036c8:	ba 85 00 00 00       	mov    $0x85,%edx
4036cd:	e8 61 fe ff ff       	call   0x403533
4036d2:	8b c6                	mov    %esi,%eax
4036d4:	eb 02                	jmp    0x4036d8
4036d6:	33 c0                	xor    %eax,%eax
4036d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4036db:	5f                   	pop    %edi
4036dc:	5e                   	pop    %esi
4036dd:	33 cd                	xor    %ebp,%ecx
4036df:	5b                   	pop    %ebx
4036e0:	e8 7b 67 00 00       	call   0x409e60
4036e5:	c9                   	leave
4036e6:	c2 10 00             	ret    $0x10
4036e9:	e8 b6 fe ff ff       	call   0x4035a4
4036ee:	cc                   	int3
4036ef:	8b ff                	mov    %edi,%edi
4036f1:	55                   	push   %ebp
4036f2:	8b ec                	mov    %esp,%ebp
4036f4:	83 ec 0c             	sub    $0xc,%esp
4036f7:	a1 50 d1 40 00       	mov    0x40d150,%eax
4036fc:	33 c5                	xor    %ebp,%eax
4036fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
403701:	53                   	push   %ebx
403702:	56                   	push   %esi
403703:	57                   	push   %edi
403704:	33 db                	xor    %ebx,%ebx
403706:	8b f1                	mov    %ecx,%esi
403708:	53                   	push   %ebx
403709:	56                   	push   %esi
40370a:	8b fa                	mov    %edx,%edi
40370c:	ff 15 f0 e0 40 00    	call   *0x40e0f0
403712:	83 f8 ff             	cmp    $0xffffffff,%eax
403715:	75 13                	jne    0x40372a
403717:	ba 95 00 00 00       	mov    $0x95,%edx
40371c:	51                   	push   %ecx
40371d:	8b 4d 04             	mov    0x4(%ebp),%ecx
403720:	e8 2d fe ff ff       	call   0x403552
403725:	e9 df 00 00 00       	jmp    0x403809
40372a:	85 c0                	test   %eax,%eax
40372c:	74 11                	je     0x40373f
40372e:	3d 02 01 00 00       	cmp    $0x102,%eax
403733:	74 0a                	je     0x40373f
403735:	ba 96 00 00 00       	mov    $0x96,%edx
40373a:	e9 b9 00 00 00       	jmp    0x4037f8
40373f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
403742:	85 c0                	test   %eax,%eax
403744:	75 3d                	jne    0x403783
403746:	8d 45 f8             	lea    -0x8(%ebp),%eax
403749:	50                   	push   %eax
40374a:	6a 01                	push   $0x1
40374c:	56                   	push   %esi
40374d:	ff 15 cc e0 40 00    	call   *0x40e0cc
403753:	85 c0                	test   %eax,%eax
403755:	75 07                	jne    0x40375e
403757:	ba 9e 00 00 00       	mov    $0x9e,%edx
40375c:	eb be                	jmp    0x40371c
40375e:	ff 45 f8             	incl   -0x8(%ebp)
403761:	53                   	push   %ebx
403762:	6a 01                	push   $0x1
403764:	56                   	push   %esi
403765:	ff 15 cc e0 40 00    	call   *0x40e0cc
40376b:	85 c0                	test   %eax,%eax
40376d:	75 0d                	jne    0x40377c
40376f:	ff 15 44 e0 40 00    	call   *0x40e044
403775:	3d 2a 01 00 00       	cmp    $0x12a,%eax
40377a:	74 6e                	je     0x4037ea
40377c:	ba a3 00 00 00       	mov    $0xa3,%edx
403781:	eb 75                	jmp    0x4037f8