4084e4:	74 0b                	je     0x4084f1
4084e6:	8d 48 04             	lea    0x4(%eax),%ecx
4084e9:	8b 01                	mov    (%ecx),%eax
4084eb:	85 c0                	test   %eax,%eax
4084ed:	74 09                	je     0x4084f8
4084ef:	eb f1                	jmp    0x4084e2
4084f1:	8b 46 04             	mov    0x4(%esi),%eax
4084f4:	89 01                	mov    %eax,(%ecx)
4084f6:	eb da                	jmp    0x4084d2
4084f8:	e8 11 69 00 00       	call   0x40ee0e
4084fd:	cc                   	int3
4084fe:	55                   	push   %ebp
4084ff:	8b ec                	mov    %esp,%ebp
408501:	51                   	push   %ecx
408502:	53                   	push   %ebx
408503:	fc                   	cld
408504:	8b 45 0c             	mov    0xc(%ebp),%eax
408507:	8b 48 08             	mov    0x8(%eax),%ecx
40850a:	33 4d 0c             	xor    0xc(%ebp),%ecx
40850d:	e8 fa ee ff ff       	call   0x40740c
408512:	8b 45 08             	mov    0x8(%ebp),%eax
408515:	8b 40 04             	mov    0x4(%eax),%eax
408518:	83 e0 66             	and    $0x66,%eax
40851b:	74 11                	je     0x40852e
40851d:	8b 45 0c             	mov    0xc(%ebp),%eax
408520:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
408527:	33 c0                	xor    %eax,%eax
408529:	40                   	inc    %eax
40852a:	eb 6c                	jmp    0x408598
40852c:	eb 6a                	jmp    0x408598
40852e:	6a 01                	push   $0x1
408530:	8b 45 0c             	mov    0xc(%ebp),%eax
408533:	ff 70 18             	push   0x18(%eax)
408536:	8b 45 0c             	mov    0xc(%ebp),%eax
408539:	ff 70 14             	push   0x14(%eax)
40853c:	8b 45 0c             	mov    0xc(%ebp),%eax
40853f:	ff 70 0c             	push   0xc(%eax)
408542:	6a 00                	push   $0x0
408544:	ff 75 10             	push   0x10(%ebp)
408547:	8b 45 0c             	mov    0xc(%ebp),%eax
40854a:	ff 70 10             	push   0x10(%eax)
40854d:	ff 75 08             	push   0x8(%ebp)
408550:	e8 31 25 00 00       	call   0x40aa86
408555:	83 c4 20             	add    $0x20,%esp
408558:	8b 45 0c             	mov    0xc(%ebp),%eax
40855b:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
40855f:	75 0b                	jne    0x40856c
408561:	ff 75 08             	push   0x8(%ebp)
408564:	ff 75 0c             	push   0xc(%ebp)
408567:	e8 a2 fe ff ff       	call   0x40840e
40856c:	6a 00                	push   $0x0
40856e:	6a 00                	push   $0x0
408570:	6a 00                	push   $0x0
408572:	6a 00                	push   $0x0
408574:	6a 00                	push   $0x0
408576:	8d 45 fc             	lea    -0x4(%ebp),%eax
408579:	50                   	push   %eax
40857a:	68 23 01 00 00       	push   $0x123
40857f:	e8 64 fd ff ff       	call   0x4082e8
408584:	83 c4 1c             	add    $0x1c,%esp
408587:	8b 45 fc             	mov    -0x4(%ebp),%eax
40858a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40858d:	8b 63 1c             	mov    0x1c(%ebx),%esp
408590:	8b 6b 20             	mov    0x20(%ebx),%ebp
408593:	ff e0                	jmp    *%eax
408595:	33 c0                	xor    %eax,%eax
408597:	40                   	inc    %eax
408598:	5b                   	pop    %ebx
408599:	c9                   	leave
40859a:	c3                   	ret
40859b:	55                   	push   %ebp
40859c:	8b ec                	mov    %esp,%ebp
40859e:	83 ec 08             	sub    $0x8,%esp
4085a1:	53                   	push   %ebx
4085a2:	56                   	push   %esi
4085a3:	57                   	push   %edi
4085a4:	fc                   	cld
4085a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4085a8:	33 c0                	xor    %eax,%eax
4085aa:	50                   	push   %eax
4085ab:	50                   	push   %eax
4085ac:	50                   	push   %eax
4085ad:	ff 75 fc             	push   -0x4(%ebp)
4085b0:	ff 75 14             	push   0x14(%ebp)
4085b3:	ff 75 10             	push   0x10(%ebp)
4085b6:	ff 75 0c             	push   0xc(%ebp)
4085b9:	ff 75 08             	push   0x8(%ebp)
4085bc:	e8 c5 24 00 00       	call   0x40aa86
4085c1:	83 c4 20             	add    $0x20,%esp
4085c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4085c7:	5f                   	pop    %edi
4085c8:	5e                   	pop    %esi
4085c9:	5b                   	pop    %ebx
4085ca:	8b 45 f8             	mov    -0x8(%ebp),%eax
4085cd:	8b e5                	mov    %ebp,%esp
4085cf:	5d                   	pop    %ebp
4085d0:	c3                   	ret
4085d1:	55                   	push   %ebp
4085d2:	8b ec                	mov    %esp,%ebp
4085d4:	57                   	push   %edi
4085d5:	8b 7d 08             	mov    0x8(%ebp),%edi
4085d8:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
4085dc:	74 48                	je     0x408626
4085de:	8b 0f                	mov    (%edi),%ecx
4085e0:	85 c9                	test   %ecx,%ecx
4085e2:	74 42                	je     0x408626
4085e4:	8d 51 01             	lea    0x1(%ecx),%edx
4085e7:	8a 01                	mov    (%ecx),%al
4085e9:	41                   	inc    %ecx
4085ea:	84 c0                	test   %al,%al
4085ec:	75 f9                	jne    0x4085e7
4085ee:	2b ca                	sub    %edx,%ecx
4085f0:	53                   	push   %ebx
4085f1:	56                   	push   %esi
4085f2:	8d 59 01             	lea    0x1(%ecx),%ebx
4085f5:	53                   	push   %ebx
4085f6:	e8 82 5e 00 00       	call   0x40e47d
4085fb:	8b f0                	mov    %eax,%esi
4085fd:	59                   	pop    %ecx
4085fe:	85 f6                	test   %esi,%esi
408600:	74 19                	je     0x40861b
408602:	ff 37                	push   (%edi)
408604:	53                   	push   %ebx
408605:	56                   	push   %esi
408606:	e8 43 9d 00 00       	call   0x41234e
40860b:	8b 45 0c             	mov    0xc(%ebp),%eax
40860e:	8b ce                	mov    %esi,%ecx
408610:	83 c4 0c             	add    $0xc,%esp
408613:	33 f6                	xor    %esi,%esi
408615:	89 08                	mov    %ecx,(%eax)
408617:	c6 40 04 01          	movb   $0x1,0x4(%eax)
40861b:	56                   	push   %esi
40861c:	e8 f2 45 00 00       	call   0x40cc13
408621:	59                   	pop    %ecx
408622:	5e                   	pop    %esi
408623:	5b                   	pop    %ebx
408624:	eb 0b                	jmp    0x408631
408626:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408629:	8b 07                	mov    (%edi),%eax
40862b:	89 01                	mov    %eax,(%ecx)
40862d:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
408631:	5f                   	pop    %edi
408632:	5d                   	pop    %ebp
408633:	c3                   	ret
408634:	55                   	push   %ebp
408635:	8b ec                	mov    %esp,%ebp
408637:	56                   	push   %esi
408638:	8b 75 08             	mov    0x8(%ebp),%esi
40863b:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
40863f:	74 08                	je     0x408649
408641:	ff 36                	push   (%esi)
408643:	e8 cb 45 00 00       	call   0x40cc13
408648:	59                   	pop    %ecx
408649:	83 26 00             	andl   $0x0,(%esi)
40864c:	c6 46 04 00          	movb   $0x0,0x4(%esi)
408650:	5e                   	pop    %esi
408651:	5d                   	pop    %ebp
408652:	c3                   	ret
408653:	a1 98 45 43 00       	mov    0x434598,%eax
408658:	c3                   	ret
408659:	56                   	push   %esi
40865a:	e8 f4 ff ff ff       	call   0x408653
40865f:	8b f0                	mov    %eax,%esi
408661:	85 f6                	test   %esi,%esi
408663:	74 0a                	je     0x40866f
408665:	8b ce                	mov    %esi,%ecx
408667:	ff 15 54 41 42 00    	call   *0x424154
40866d:	ff d6                	call   *%esi
40866f:	e8 9a 67 00 00       	call   0x40ee0e
408674:	cc                   	int3
408675:	53                   	push   %ebx
408676:	8b dc                	mov    %esp,%ebx
408678:	51                   	push   %ecx
408679:	51                   	push   %ecx
40867a:	83 e4 f0             	and    $0xfffffff0,%esp
40867d:	83 c4 04             	add    $0x4,%esp
408680:	55                   	push   %ebp
408681:	8b 6b 04             	mov    0x4(%ebx),%ebp
408684:	89 6c 24 04          	mov    %ebp,0x4(%esp)
408688:	8b ec                	mov    %esp,%ebp
40868a:	8b 4b 08             	mov    0x8(%ebx),%ecx
40868d:	83 ec 1c             	sub    $0x1c,%esp
408690:	83 3d 64 45 43 00 01 	cmpl   $0x1,0x434564
408697:	56                   	push   %esi
408698:	7d 32                	jge    0x4086cc
40869a:	0f b7 01             	movzwl (%ecx),%eax
40869d:	8b d0                	mov    %eax,%edx
40869f:	66 85 c0             	test   %ax,%ax
4086a2:	74 1a                	je     0x4086be
4086a4:	8b f0                	mov    %eax,%esi
4086a6:	0f b7 d6             	movzwl %si,%edx
4086a9:	66 3b 73 0c          	cmp    0xc(%ebx),%si
4086ad:	74 0f                	je     0x4086be
4086af:	83 c1 02             	add    $0x2,%ecx
4086b2:	0f b7 01             	movzwl (%ecx),%eax
4086b5:	8b f0                	mov    %eax,%esi
4086b7:	8b d0                	mov    %eax,%edx
4086b9:	66 85 c0             	test   %ax,%ax
4086bc:	75 e8                	jne    0x4086a6
4086be:	33 c0                	xor    %eax,%eax
4086c0:	66 3b 53 0c          	cmp    0xc(%ebx),%dx
4086c4:	0f 95 c0             	setne  %al
4086c7:	48                   	dec    %eax
4086c8:	23 c1                	and    %ecx,%eax
4086ca:	eb 68                	jmp    0x408734
4086cc:	66 8b 53 0c          	mov    0xc(%ebx),%dx
4086d0:	0f b7 c2             	movzwl %dx,%eax
4086d3:	66 0f 6e c0          	movd   %eax,%xmm0
4086d7:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
4086dc:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
4086e1:	8b c1                	mov    %ecx,%eax
4086e3:	25 ff 0f 00 00       	and    $0xfff,%eax
4086e8:	3d f0 0f 00 00       	cmp    $0xff0,%eax
4086ed:	77 1f                	ja     0x40870e
4086ef:	0f 10 01             	movups (%ecx),%xmm0
4086f2:	66 0f ef c9          	pxor   %xmm1,%xmm1
4086f6:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
4086fa:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
4086fe:	66 0f eb c8          	por    %xmm0,%xmm1
408702:	66 0f d7 c1          	pmovmskb %xmm1,%eax
408706:	85 c0                	test   %eax,%eax
408708:	75 18                	jne    0x408722
40870a:	6a 10                	push   $0x10
40870c:	eb 0f                	jmp    0x40871d
40870e:	0f b7 01             	movzwl (%ecx),%eax
408711:	66 3b c2             	cmp    %dx,%ax
408714:	74 1c                	je     0x408732
408716:	66 85 c0             	test   %ax,%ax
408719:	74 13                	je     0x40872e
40871b:	6a 02                	push   $0x2
40871d:	58                   	pop    %eax
40871e:	03 c8                	add    %eax,%ecx
408720:	eb bf                	jmp    0x4086e1
408722:	0f bc c0             	bsf    %eax,%eax
408725:	03 c8                	add    %eax,%ecx
408727:	33 c0                	xor    %eax,%eax
408729:	66 39 11             	cmp    %dx,(%ecx)
40872c:	eb 96                	jmp    0x4086c4
40872e:	33 c0                	xor    %eax,%eax
408730:	eb 02                	jmp    0x408734
408732:	8b c1                	mov    %ecx,%eax
408734:	5e                   	pop    %esi
408735:	8b e5                	mov    %ebp,%esp
408737:	5d                   	pop    %ebp
408738:	8b e3                	mov    %ebx,%esp
40873a:	5b                   	pop    %ebx
40873b:	c3                   	ret
40873c:	6a 08                	push   $0x8
40873e:	68 58 13 43 00       	push   $0x431358
408743:	e8 78 f8 ff ff       	call   0x407fc0
408748:	8b 45 08             	mov    0x8(%ebp),%eax
40874b:	85 c0                	test   %eax,%eax
40874d:	74 7e                	je     0x4087cd
40874f:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408755:	75 76                	jne    0x4087cd
408757:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40875b:	75 70                	jne    0x4087cd
40875d:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
408764:	74 12                	je     0x408778
408766:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
40876d:	74 09                	je     0x408778
40876f:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
408776:	75 55                	jne    0x4087cd
408778:	8b 48 1c             	mov    0x1c(%eax),%ecx
40877b:	85 c9                	test   %ecx,%ecx
40877d:	74 4e                	je     0x4087cd
40877f:	8b 51 04             	mov    0x4(%ecx),%edx
408782:	85 d2                	test   %edx,%edx
408784:	74 29                	je     0x4087af
408786:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40878a:	52                   	push   %edx
40878b:	ff 70 18             	push   0x18(%eax)
40878e:	e8 4a 00 00 00       	call   0x4087dd
408793:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40879a:	eb 31                	jmp    0x4087cd
40879c:	ff 75 0c             	push   0xc(%ebp)
40879f:	ff 75 ec             	push   -0x14(%ebp)
4087a2:	e8 43 00 00 00       	call   0x4087ea
4087a7:	59                   	pop    %ecx
4087a8:	59                   	pop    %ecx
4087a9:	c3                   	ret
4087aa:	8b 65 e8             	mov    -0x18(%ebp),%esp
4087ad:	eb e4                	jmp    0x408793
4087af:	f6 01 10             	testb  $0x10,(%ecx)
4087b2:	74 19                	je     0x4087cd
4087b4:	8b 40 18             	mov    0x18(%eax),%eax
4087b7:	8b 08                	mov    (%eax),%ecx
4087b9:	85 c9                	test   %ecx,%ecx
4087bb:	74 10                	je     0x4087cd
4087bd:	8b 01                	mov    (%ecx),%eax
4087bf:	51                   	push   %ecx
4087c0:	8b 70 08             	mov    0x8(%eax),%esi
4087c3:	8b ce                	mov    %esi,%ecx
4087c5:	ff 15 54 41 42 00    	call   *0x424154
4087cb:	ff d6                	call   *%esi
4087cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4087d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4087d7:	59                   	pop    %ecx
4087d8:	5f                   	pop    %edi
4087d9:	5e                   	pop    %esi
4087da:	5b                   	pop    %ebx
4087db:	c9                   	leave
4087dc:	c3                   	ret
4087dd:	55                   	push   %ebp
4087de:	8b ec                	mov    %esp,%ebp
4087e0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4087e3:	ff 55 0c             	call   *0xc(%ebp)
4087e6:	5d                   	pop    %ebp
4087e7:	c2 08 00             	ret    $0x8
4087ea:	55                   	push   %ebp
4087eb:	8b ec                	mov    %esp,%ebp
4087ed:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4087f1:	74 32                	je     0x408825
4087f3:	56                   	push   %esi
4087f4:	57                   	push   %edi
4087f5:	8b 7d 08             	mov    0x8(%ebp),%edi
4087f8:	8b 37                	mov    (%edi),%esi
4087fa:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
408800:	75 21                	jne    0x408823
408802:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
408806:	75 1b                	jne    0x408823
408808:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
40880f:	74 18                	je     0x408829
408811:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
408818:	74 0f                	je     0x408829
40881a:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
408821:	74 06                	je     0x408829
408823:	5f                   	pop    %edi
408824:	5e                   	pop    %esi
408825:	33 c0                	xor    %eax,%eax
408827:	5d                   	pop    %ebp
408828:	c3                   	ret
408829:	e8 6e 19 00 00       	call   0x40a19c
40882e:	89 70 10             	mov    %esi,0x10(%eax)
408831:	8b 77 04             	mov    0x4(%edi),%esi
408834:	e8 63 19 00 00       	call   0x40a19c
408839:	89 70 14             	mov    %esi,0x14(%eax)
40883c:	e8 d1 9a 00 00       	call   0x412312
408841:	cc                   	int3
408842:	55                   	push   %ebp
408843:	8b ec                	mov    %esp,%ebp
408845:	e8 52 19 00 00       	call   0x40a19c
40884a:	8b 40 24             	mov    0x24(%eax),%eax
40884d:	85 c0                	test   %eax,%eax
40884f:	74 0e                	je     0x40885f
408851:	8b 4d 08             	mov    0x8(%ebp),%ecx
408854:	39 08                	cmp    %ecx,(%eax)
408856:	74 0c                	je     0x408864
408858:	8b 40 04             	mov    0x4(%eax),%eax
40885b:	85 c0                	test   %eax,%eax