4064b6:	6a 01                	push   $0x1
4064b8:	e8 f4 6d 02 00       	call   0x42d2b1
4064bd:	59                   	pop    %ecx
4064be:	89 46 04             	mov    %eax,0x4(%esi)
4064c1:	eb 02                	jmp    0x4064c5
4064c3:	8b f3                	mov    %ebx,%esi
4064c5:	8b 45 08             	mov    0x8(%ebp),%eax
4064c8:	89 77 30             	mov    %esi,0x30(%edi)
4064cb:	89 47 38             	mov    %eax,0x38(%edi)
4064ce:	89 5f 3c             	mov    %ebx,0x3c(%edi)
4064d1:	8b 4e 04             	mov    0x4(%esi),%ecx
4064d4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4064d7:	8b 01                	mov    (%ecx),%eax
4064d9:	ff 50 04             	call   *0x4(%eax)
4064dc:	8d 45 f8             	lea    -0x8(%ebp),%eax
4064df:	50                   	push   %eax
4064e0:	e8 2f 01 00 00       	call   0x406614
4064e5:	59                   	pop    %ecx
4064e6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4064e9:	8b f0                	mov    %eax,%esi
4064eb:	e8 5a d7 ff ff       	call   0x403c4a
4064f0:	8b 16                	mov    (%esi),%edx
4064f2:	8b ce                	mov    %esi,%ecx
4064f4:	6a 20                	push   $0x20
4064f6:	ff 52 20             	call   *0x20(%edx)
4064f9:	88 47 40             	mov    %al,0x40(%edi)
4064fc:	39 5f 38             	cmp    %ebx,0x38(%edi)
4064ff:	75 0a                	jne    0x40650b
406501:	51                   	push   %ecx
406502:	6a 04                	push   $0x4
406504:	8b cf                	mov    %edi,%ecx
406506:	e8 a9 fd ff ff       	call   0x4062b4
40650b:	5f                   	pop    %edi
40650c:	5e                   	pop    %esi
40650d:	5b                   	pop    %ebx
40650e:	c9                   	leave
40650f:	c2 08 00             	ret    $0x8
406512:	55                   	push   %ebp
406513:	8b ec                	mov    %esp,%ebp
406515:	83 e4 f8             	and    $0xfffffff8,%esp
406518:	83 ec 0c             	sub    $0xc,%esp
40651b:	56                   	push   %esi
40651c:	8b f1                	mov    %ecx,%esi
40651e:	8b 06                	mov    (%esi),%eax
406520:	8b 40 04             	mov    0x4(%eax),%eax
406523:	83 7c 30 38 00       	cmpl   $0x0,0x38(%eax,%esi,1)
406528:	74 3c                	je     0x406566
40652a:	56                   	push   %esi
40652b:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40652f:	e8 7b 00 00 00       	call   0x4065af
406534:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
406539:	74 22                	je     0x40655d
40653b:	8b 06                	mov    (%esi),%eax
40653d:	8b 40 04             	mov    0x4(%eax),%eax
406540:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
406544:	8b 01                	mov    (%ecx),%eax
406546:	ff 50 34             	call   *0x34(%eax)
406549:	83 f8 ff             	cmp    $0xffffffff,%eax
40654c:	75 0f                	jne    0x40655d
40654e:	8b 06                	mov    (%esi),%eax
406550:	51                   	push   %ecx
406551:	6a 04                	push   $0x4
406553:	8b 48 04             	mov    0x4(%eax),%ecx
406556:	03 ce                	add    %esi,%ecx
406558:	e8 57 fd ff ff       	call   0x4062b4
40655d:	8d 4c 24 08          	lea    0x8(%esp),%ecx
406561:	e8 07 00 00 00       	call   0x40656d
406566:	8b c6                	mov    %esi,%eax
406568:	5e                   	pop    %esi
406569:	8b e5                	mov    %ebp,%esp
40656b:	5d                   	pop    %ebp
40656c:	c3                   	ret
40656d:	51                   	push   %ecx
40656e:	56                   	push   %esi
40656f:	57                   	push   %edi
406570:	8b f9                	mov    %ecx,%edi
406572:	8b 37                	mov    (%edi),%esi
406574:	8b 06                	mov    (%esi),%eax
406576:	8b 48 04             	mov    0x4(%eax),%ecx
406579:	83 7c 31 0c 00       	cmpl   $0x0,0xc(%ecx,%esi,1)
40657e:	75 24                	jne    0x4065a4
406580:	f6 44 31 14 02       	testb  $0x2,0x14(%ecx,%esi,1)
406585:	74 1d                	je     0x4065a4
406587:	8b 4c 31 38          	mov    0x38(%ecx,%esi,1),%ecx
40658b:	8b 01                	mov    (%ecx),%eax
40658d:	ff 50 34             	call   *0x34(%eax)
406590:	83 f8 ff             	cmp    $0xffffffff,%eax
406593:	75 0f                	jne    0x4065a4
406595:	8b 06                	mov    (%esi),%eax
406597:	51                   	push   %ecx
406598:	6a 04                	push   $0x4
40659a:	8b 48 04             	mov    0x4(%eax),%ecx
40659d:	03 ce                	add    %esi,%ecx
40659f:	e8 10 fd ff ff       	call   0x4062b4
4065a4:	8b cf                	mov    %edi,%ecx
4065a6:	e8 54 00 00 00       	call   0x4065ff
4065ab:	5f                   	pop    %edi
4065ac:	5e                   	pop    %esi
4065ad:	59                   	pop    %ecx
4065ae:	c3                   	ret
4065af:	56                   	push   %esi
4065b0:	8b 74 24 08          	mov    0x8(%esp),%esi
4065b4:	57                   	push   %edi
4065b5:	8b f9                	mov    %ecx,%edi
4065b7:	89 37                	mov    %esi,(%edi)
4065b9:	8b 06                	mov    (%esi),%eax
4065bb:	8b 40 04             	mov    0x4(%eax),%eax
4065be:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
4065c2:	85 c9                	test   %ecx,%ecx
4065c4:	74 05                	je     0x4065cb
4065c6:	8b 01                	mov    (%ecx),%eax
4065c8:	ff 50 04             	call   *0x4(%eax)
4065cb:	8b 06                	mov    (%esi),%eax
4065cd:	8b 48 04             	mov    0x4(%eax),%ecx
4065d0:	83 7c 31 0c 00       	cmpl   $0x0,0xc(%ecx,%esi,1)
4065d5:	75 11                	jne    0x4065e8
4065d7:	8b 4c 31 3c          	mov    0x3c(%ecx,%esi,1),%ecx
4065db:	85 c9                	test   %ecx,%ecx
4065dd:	74 09                	je     0x4065e8
4065df:	3b ce                	cmp    %esi,%ecx
4065e1:	74 05                	je     0x4065e8
4065e3:	e8 2a ff ff ff       	call   0x406512
4065e8:	8b 06                	mov    (%esi),%eax
4065ea:	8b 40 04             	mov    0x4(%eax),%eax
4065ed:	83 7c 30 0c 00       	cmpl   $0x0,0xc(%eax,%esi,1)
4065f2:	0f 94 c0             	sete   %al
4065f5:	88 47 04             	mov    %al,0x4(%edi)
4065f8:	8b c7                	mov    %edi,%eax
4065fa:	5f                   	pop    %edi
4065fb:	5e                   	pop    %esi
4065fc:	c2 04 00             	ret    $0x4
4065ff:	8b 09                	mov    (%ecx),%ecx
406601:	8b 01                	mov    (%ecx),%eax
406603:	8b 40 04             	mov    0x4(%eax),%eax
406606:	8b 4c 08 38          	mov    0x38(%eax,%ecx,1),%ecx
40660a:	85 c9                	test   %ecx,%ecx
40660c:	74 05                	je     0x406613
40660e:	8b 01                	mov    (%ecx),%eax
406610:	ff 60 08             	jmp    *0x8(%eax)
406613:	c3                   	ret
406614:	55                   	push   %ebp
406615:	8b ec                	mov    %esp,%ebp
406617:	51                   	push   %ecx
406618:	51                   	push   %ecx
406619:	56                   	push   %esi
40661a:	57                   	push   %edi
40661b:	6a 00                	push   $0x0
40661d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
406620:	e8 ab 6a 02 00       	call   0x42d0d0
406625:	8b 3d 98 ff 43 00    	mov    0x43ff98,%edi
40662b:	b9 58 fe 43 00       	mov    $0x43fe58,%ecx
406630:	89 7d fc             	mov    %edi,-0x4(%ebp)
406633:	e8 c9 d5 ff ff       	call   0x403c01
406638:	8b 4d 08             	mov    0x8(%ebp),%ecx
40663b:	50                   	push   %eax
40663c:	e8 22 d6 ff ff       	call   0x403c63
406641:	8b f0                	mov    %eax,%esi
406643:	85 f6                	test   %esi,%esi
406645:	75 32                	jne    0x406679
406647:	85 ff                	test   %edi,%edi
406649:	74 04                	je     0x40664f
40664b:	8b f7                	mov    %edi,%esi
40664d:	eb 2a                	jmp    0x406679
40664f:	ff 75 08             	push   0x8(%ebp)
406652:	8d 45 fc             	lea    -0x4(%ebp),%eax
406655:	50                   	push   %eax
406656:	e8 81 d6 ff ff       	call   0x403cdc
40665b:	59                   	pop    %ecx
40665c:	59                   	pop    %ecx
40665d:	83 f8 ff             	cmp    $0xffffffff,%eax
406660:	74 25                	je     0x406687
406662:	8b 75 fc             	mov    -0x4(%ebp),%esi
406665:	8b ce                	mov    %esi,%ecx
406667:	89 35 98 ff 43 00    	mov    %esi,0x43ff98
40666d:	8b 06                	mov    (%esi),%eax
40666f:	ff 50 04             	call   *0x4(%eax)
406672:	56                   	push   %esi
406673:	e8 06 6c 02 00       	call   0x42d27e
406678:	59                   	pop    %ecx
406679:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40667c:	e8 a7 6a 02 00       	call   0x42d128
406681:	5f                   	pop    %edi
406682:	8b c6                	mov    %esi,%eax
406684:	5e                   	pop    %esi
406685:	c9                   	leave
406686:	c3                   	ret
406687:	e8 05 58 01 00       	call   0x41be91
40668c:	cc                   	int3
40668d:	53                   	push   %ebx
40668e:	8b d9                	mov    %ecx,%ebx
406690:	56                   	push   %esi
406691:	57                   	push   %edi
406692:	8b fa                	mov    %edx,%edi
406694:	83 63 10 00          	andl   $0x0,0x10(%ebx)
406698:	8b cf                	mov    %edi,%ecx
40669a:	c7 43 14 0f 00 00 00 	movl   $0xf,0x14(%ebx)
4066a1:	c6 03 00             	movb   $0x0,(%ebx)
4066a4:	e8 f7 d3 ff ff       	call   0x403aa0
4066a9:	8b 74 24 10          	mov    0x10(%esp),%esi
4066ad:	8b cb                	mov    %ebx,%ecx
4066af:	03 46 10             	add    0x10(%esi),%eax
4066b2:	50                   	push   %eax
4066b3:	e8 35 e7 ff ff       	call   0x404ded
4066b8:	8b cf                	mov    %edi,%ecx
4066ba:	e8 e1 d3 ff ff       	call   0x403aa0
4066bf:	50                   	push   %eax
4066c0:	57                   	push   %edi
4066c1:	8b cb                	mov    %ebx,%ecx
4066c3:	e8 59 e7 ff ff       	call   0x404e21
4066c8:	6a ff                	push   $0xffffffff
4066ca:	6a 00                	push   $0x0
4066cc:	56                   	push   %esi
4066cd:	8b cb                	mov    %ebx,%ecx
4066cf:	e8 3b f9 ff ff       	call   0x40600f
4066d4:	5f                   	pop    %edi
4066d5:	5e                   	pop    %esi
4066d6:	8b c3                	mov    %ebx,%eax
4066d8:	5b                   	pop    %ebx
4066d9:	c3                   	ret
4066da:	56                   	push   %esi
4066db:	57                   	push   %edi
4066dc:	8b f9                	mov    %ecx,%edi
4066de:	8b f2                	mov    %edx,%esi
4066e0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4066e4:	e8 b7 d3 ff ff       	call   0x403aa0
4066e9:	50                   	push   %eax
4066ea:	ff 74 24 10          	push   0x10(%esp)
4066ee:	8b ce                	mov    %esi,%ecx
4066f0:	e8 2c e7 ff ff       	call   0x404e21
4066f5:	50                   	push   %eax
4066f6:	8b cf                	mov    %edi,%ecx
4066f8:	e8 b3 e7 ff ff       	call   0x404eb0
4066fd:	8b c7                	mov    %edi,%eax
4066ff:	5f                   	pop    %edi
406700:	5e                   	pop    %esi
406701:	c3                   	ret
406702:	55                   	push   %ebp
406703:	8b ec                	mov    %esp,%ebp
406705:	51                   	push   %ecx
406706:	51                   	push   %ecx
406707:	56                   	push   %esi
406708:	57                   	push   %edi
406709:	6a 00                	push   $0x0
40670b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40670e:	e8 bd 69 02 00       	call   0x42d0d0
406713:	8b 3d 9c ff 43 00    	mov    0x43ff9c,%edi
406719:	b9 ac ff 43 00       	mov    $0x43ffac,%ecx
40671e:	89 7d fc             	mov    %edi,-0x4(%ebp)
406721:	e8 db d4 ff ff       	call   0x403c01
406726:	8b 4d 08             	mov    0x8(%ebp),%ecx
406729:	50                   	push   %eax
40672a:	e8 34 d5 ff ff       	call   0x403c63
40672f:	8b f0                	mov    %eax,%esi
406731:	85 f6                	test   %esi,%esi
406733:	75 32                	jne    0x406767
406735:	85 ff                	test   %edi,%edi
406737:	74 04                	je     0x40673d
406739:	8b f7                	mov    %edi,%esi
40673b:	eb 2a                	jmp    0x406767
40673d:	ff 75 08             	push   0x8(%ebp)
406740:	8d 45 fc             	lea    -0x4(%ebp),%eax
406743:	50                   	push   %eax
406744:	e8 32 00 00 00       	call   0x40677b
406749:	59                   	pop    %ecx
40674a:	59                   	pop    %ecx
40674b:	83 f8 ff             	cmp    $0xffffffff,%eax
40674e:	74 25                	je     0x406775
406750:	8b 75 fc             	mov    -0x4(%ebp),%esi
406753:	8b ce                	mov    %esi,%ecx
406755:	89 35 9c ff 43 00    	mov    %esi,0x43ff9c
40675b:	8b 06                	mov    (%esi),%eax
40675d:	ff 50 04             	call   *0x4(%eax)
406760:	56                   	push   %esi
406761:	e8 18 6b 02 00       	call   0x42d27e
406766:	59                   	pop    %ecx
406767:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40676a:	e8 b9 69 02 00       	call   0x42d128
40676f:	5f                   	pop    %edi
406770:	8b c6                	mov    %esi,%eax
406772:	5e                   	pop    %esi
406773:	c9                   	leave
406774:	c3                   	ret
406775:	e8 17 57 01 00       	call   0x41be91
40677a:	cc                   	int3
40677b:	55                   	push   %ebp
40677c:	8b ec                	mov    %esp,%ebp
40677e:	83 ec 38             	sub    $0x38,%esp
406781:	53                   	push   %ebx
406782:	57                   	push   %edi
406783:	8b 7d 08             	mov    0x8(%ebp),%edi
406786:	33 db                	xor    %ebx,%ebx
406788:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40678b:	85 ff                	test   %edi,%edi
40678d:	74 57                	je     0x4067e6
40678f:	39 1f                	cmp    %ebx,(%edi)
406791:	75 53                	jne    0x4067e6
406793:	56                   	push   %esi
406794:	6a 08                	push   $0x8
406796:	e8 25 02 00 00       	call   0x4069c0
40679b:	8b f0                	mov    %eax,%esi
40679d:	59                   	pop    %ecx
40679e:	85 f6                	test   %esi,%esi
4067a0:	74 32                	je     0x4067d4
4067a2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4067a5:	8b 49 04             	mov    0x4(%ecx),%ecx
4067a8:	85 c9                	test   %ecx,%ecx
4067aa:	75 07                	jne    0x4067b3
4067ac:	b8 14 95 43 00       	mov    $0x439514,%eax
4067b1:	eb 0a                	jmp    0x4067bd
4067b3:	8b 41 18             	mov    0x18(%ecx),%eax
4067b6:	85 c0                	test   %eax,%eax
4067b8:	75 03                	jne    0x4067bd
4067ba:	8d 41 1c             	lea    0x1c(%ecx),%eax
4067bd:	50                   	push   %eax
4067be:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4067c1:	e8 38 d3 ff ff       	call   0x403afe
4067c6:	89 5e 04             	mov    %ebx,0x4(%esi)
4067c9:	33 db                	xor    %ebx,%ebx
4067cb:	c7 06 10 91 43 00    	movl   $0x439110,(%esi)
4067d1:	43                   	inc    %ebx
4067d2:	eb 02                	jmp    0x4067d6
4067d4:	8b f3                	mov    %ebx,%esi
4067d6:	89 37                	mov    %esi,(%edi)
4067d8:	5e                   	pop    %esi
4067d9:	f6 c3 01             	test   $0x1,%bl
4067dc:	74 08                	je     0x4067e6
4067de:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4067e1:	e8 7e d3 ff ff       	call   0x403b64
4067e6:	6a 02                	push   $0x2
4067e8:	58                   	pop    %eax
4067e9:	5f                   	pop    %edi
4067ea:	5b                   	pop    %ebx
4067eb:	c9                   	leave
4067ec:	c3                   	ret
4067ed:	56                   	push   %esi
4067ee:	57                   	push   %edi
4067ef:	bf 34 96 43 00       	mov    $0x439634,%edi
4067f4:	8b f1                	mov    %ecx,%esi
4067f6:	57                   	push   %edi
4067f7:	e8 4a f6 ff ff       	call   0x405e46
4067fc:	84 c0                	test   %al,%al
4067fe:	74 1c                	je     0x40681c
406800:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
406804:	72 04                	jb     0x40680a
406806:	8b 06                	mov    (%esi),%eax
406808:	eb 02                	jmp    0x40680c
40680a:	8b c6                	mov    %esi,%eax
40680c:	ff 74 24 14          	push   0x14(%esp)
406810:	2b f8                	sub    %eax,%edi
406812:	57                   	push   %edi