40b4f7:	cc                   	int3
40b4f8:	cc                   	int3
40b4f9:	cc                   	int3
40b4fa:	cc                   	int3
40b4fb:	cc                   	int3
40b4fc:	cc                   	int3
40b4fd:	cc                   	int3
40b4fe:	cc                   	int3
40b4ff:	cc                   	int3
40b500:	55                   	push   %ebp
40b501:	8b ec                	mov    %esp,%ebp
40b503:	6a ff                	push   $0xffffffff
40b505:	68 fd db 43 00       	push   $0x43dbfd
40b50a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b510:	50                   	push   %eax
40b511:	83 ec 1c             	sub    $0x1c,%esp
40b514:	a1 14 40 45 00       	mov    0x454014,%eax
40b519:	33 c5                	xor    %ebp,%eax
40b51b:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b51e:	53                   	push   %ebx
40b51f:	56                   	push   %esi
40b520:	57                   	push   %edi
40b521:	50                   	push   %eax
40b522:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b525:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b52b:	89 65 f0             	mov    %esp,-0x10(%ebp)
40b52e:	8b f9                	mov    %ecx,%edi
40b530:	8b 07                	mov    (%edi),%eax
40b532:	89 7d e0             	mov    %edi,-0x20(%ebp)
40b535:	8b 40 04             	mov    0x4(%eax),%eax
40b538:	8b 74 38 38          	mov    0x38(%eax,%edi,1),%esi
40b53c:	89 75 dc             	mov    %esi,-0x24(%ebp)
40b53f:	85 f6                	test   %esi,%esi
40b541:	0f 84 c5 00 00 00    	je     0x40b60c
40b547:	57                   	push   %edi
40b548:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b54b:	e8 60 ef ff ff       	call   0x40a4b0
40b550:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b557:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
40b55b:	74 72                	je     0x40b5cf
40b55d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40b561:	33 db                	xor    %ebx,%ebx
40b563:	8b 06                	mov    (%esi),%eax
40b565:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40b568:	8b 70 34             	mov    0x34(%eax),%esi
40b56b:	8b ce                	mov    %esi,%ecx
40b56d:	ff 15 3c f2 43 00    	call   *0x43f23c
40b573:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40b576:	ff d6                	call   *%esi
40b578:	83 f8 ff             	cmp    $0xffffffff,%eax
40b57b:	ba 04 00 00 00       	mov    $0x4,%edx
40b580:	0f 44 da             	cmove  %edx,%ebx
40b583:	eb 24                	jmp    0x40b5a9
40b585:	8b 55 e0             	mov    -0x20(%ebp),%edx
40b588:	6a 01                	push   $0x1
40b58a:	6a 04                	push   $0x4
40b58c:	8b 02                	mov    (%edx),%eax
40b58e:	8b 48 04             	mov    0x4(%eax),%ecx
40b591:	03 ca                	add    %edx,%ecx
40b593:	e8 08 f1 ff ff       	call   0x40a6a0
40b598:	b8 9e b5 40 00       	mov    $0x40b59e,%eax
40b59d:	c3                   	ret
40b59e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
40b5a1:	ba 04 00 00 00       	mov    $0x4,%edx
40b5a6:	8b 7d e0             	mov    -0x20(%ebp),%edi
40b5a9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b5b0:	33 f6                	xor    %esi,%esi
40b5b2:	8b 07                	mov    (%edi),%eax
40b5b4:	6a 00                	push   $0x0
40b5b6:	8b 48 04             	mov    0x4(%eax),%ecx
40b5b9:	8b 44 39 0c          	mov    0xc(%ecx,%edi,1),%eax
40b5bd:	03 cf                	add    %edi,%ecx
40b5bf:	0b c3                	or     %ebx,%eax
40b5c1:	39 71 38             	cmp    %esi,0x38(%ecx)
40b5c4:	0f 45 d6             	cmovne %esi,%edx
40b5c7:	0b d0                	or     %eax,%edx
40b5c9:	52                   	push   %edx
40b5ca:	e8 61 95 ff ff       	call   0x404b30
40b5cf:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40b5d6:	e8 6f fe 00 00       	call   0x41b44a
40b5db:	84 c0                	test   %al,%al
40b5dd:	75 08                	jne    0x40b5e7
40b5df:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40b5e2:	e8 49 00 00 00       	call   0x40b630
40b5e7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40b5eb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40b5ee:	8b 01                	mov    (%ecx),%eax
40b5f0:	8b 40 04             	mov    0x4(%eax),%eax
40b5f3:	8b 5c 08 38          	mov    0x38(%eax,%ecx,1),%ebx
40b5f7:	85 db                	test   %ebx,%ebx
40b5f9:	74 11                	je     0x40b60c
40b5fb:	8b 13                	mov    (%ebx),%edx
40b5fd:	8b 72 08             	mov    0x8(%edx),%esi
40b600:	8b ce                	mov    %esi,%ecx
40b602:	ff 15 3c f2 43 00    	call   *0x43f23c
40b608:	8b cb                	mov    %ebx,%ecx
40b60a:	ff d6                	call   *%esi
40b60c:	8b c7                	mov    %edi,%eax
40b60e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b611:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b618:	59                   	pop    %ecx
40b619:	5f                   	pop    %edi
40b61a:	5e                   	pop    %esi
40b61b:	5b                   	pop    %ebx
40b61c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b61f:	33 cd                	xor    %ebp,%ecx
40b621:	e8 aa 02 01 00       	call   0x41b8d0
40b626:	8b e5                	mov    %ebp,%esp
40b628:	5d                   	pop    %ebp
40b629:	c3                   	ret
40b62a:	cc                   	int3
40b62b:	cc                   	int3
40b62c:	cc                   	int3
40b62d:	cc                   	int3
40b62e:	cc                   	int3
40b62f:	cc                   	int3
40b630:	55                   	push   %ebp
40b631:	8b ec                	mov    %esp,%ebp
40b633:	6a ff                	push   $0xffffffff
40b635:	68 30 dc 43 00       	push   $0x43dc30
40b63a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b640:	50                   	push   %eax
40b641:	51                   	push   %ecx
40b642:	53                   	push   %ebx
40b643:	56                   	push   %esi
40b644:	57                   	push   %edi
40b645:	a1 14 40 45 00       	mov    0x454014,%eax
40b64a:	33 c5                	xor    %ebp,%eax
40b64c:	50                   	push   %eax
40b64d:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b650:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b656:	89 65 f0             	mov    %esp,-0x10(%ebp)
40b659:	8b d9                	mov    %ecx,%ebx
40b65b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b662:	8b 03                	mov    (%ebx),%eax
40b664:	8b 40 04             	mov    0x4(%eax),%eax
40b667:	83 7c 18 0c 00       	cmpl   $0x0,0xc(%eax,%ebx,1)
40b66c:	75 37                	jne    0x40b6a5
40b66e:	f6 44 18 14 02       	testb  $0x2,0x14(%eax,%ebx,1)
40b673:	74 30                	je     0x40b6a5
40b675:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
40b679:	8b 07                	mov    (%edi),%eax
40b67b:	8b 70 34             	mov    0x34(%eax),%esi
40b67e:	8b ce                	mov    %esi,%ecx
40b680:	ff 15 3c f2 43 00    	call   *0x43f23c
40b686:	8b cf                	mov    %edi,%ecx
40b688:	ff d6                	call   *%esi
40b68a:	83 f8 ff             	cmp    $0xffffffff,%eax
40b68d:	75 16                	jne    0x40b6a5
40b68f:	8b 03                	mov    (%ebx),%eax
40b691:	6a 00                	push   $0x0
40b693:	8b 48 04             	mov    0x4(%eax),%ecx
40b696:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
40b69a:	03 cb                	add    %ebx,%ecx
40b69c:	83 c8 04             	or     $0x4,%eax
40b69f:	50                   	push   %eax
40b6a0:	e8 8b 94 ff ff       	call   0x404b30
40b6a5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b6a8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b6af:	59                   	pop    %ecx
40b6b0:	5f                   	pop    %edi
40b6b1:	5e                   	pop    %esi
40b6b2:	5b                   	pop    %ebx
40b6b3:	8b e5                	mov    %ebp,%esp
40b6b5:	5d                   	pop    %ebp
40b6b6:	c3                   	ret
40b6b7:	b8 a5 b6 40 00       	mov    $0x40b6a5,%eax
40b6bc:	c3                   	ret
40b6bd:	cc                   	int3
40b6be:	cc                   	int3
40b6bf:	cc                   	int3
40b6c0:	cc                   	int3
40b6c1:	cc                   	int3
40b6c2:	cc                   	int3
40b6c3:	cc                   	int3
40b6c4:	cc                   	int3
40b6c5:	cc                   	int3
40b6c6:	cc                   	int3
40b6c7:	cc                   	int3
40b6c8:	cc                   	int3
40b6c9:	cc                   	int3
40b6ca:	cc                   	int3
40b6cb:	cc                   	int3
40b6cc:	cc                   	int3
40b6cd:	cc                   	int3
40b6ce:	cc                   	int3
40b6cf:	cc                   	int3
40b6d0:	55                   	push   %ebp
40b6d1:	8b ec                	mov    %esp,%ebp
40b6d3:	8b 45 0c             	mov    0xc(%ebp),%eax
40b6d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b6d9:	8d 14 40             	lea    (%eax,%eax,2),%edx
40b6dc:	c1 e2 03             	shl    $0x3,%edx
40b6df:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
40b6e5:	72 14                	jb     0x40b6fb
40b6e7:	56                   	push   %esi
40b6e8:	8b 71 fc             	mov    -0x4(%ecx),%esi
40b6eb:	83 c2 23             	add    $0x23,%edx
40b6ee:	2b ce                	sub    %esi,%ecx
40b6f0:	8d 41 fc             	lea    -0x4(%ecx),%eax
40b6f3:	83 f8 1f             	cmp    $0x1f,%eax
40b6f6:	77 11                	ja     0x40b709
40b6f8:	8b ce                	mov    %esi,%ecx
40b6fa:	5e                   	pop    %esi
40b6fb:	52                   	push   %edx
40b6fc:	51                   	push   %ecx
40b6fd:	e8 0c 02 01 00       	call   0x41b90e
40b702:	83 c4 08             	add    $0x8,%esp
40b705:	5d                   	pop    %ebp
40b706:	c2 08 00             	ret    $0x8
40b709:	e8 71 53 01 00       	call   0x420a7f
40b70e:	cc                   	int3
40b70f:	cc                   	int3
40b710:	55                   	push   %ebp
40b711:	8b ec                	mov    %esp,%ebp
40b713:	51                   	push   %ecx
40b714:	8b 55 08             	mov    0x8(%ebp),%edx
40b717:	56                   	push   %esi
40b718:	8b 71 10             	mov    0x10(%ecx),%esi
40b71b:	3b d6                	cmp    %esi,%edx
40b71d:	77 16                	ja     0x40b735
40b71f:	89 51 10             	mov    %edx,0x10(%ecx)
40b722:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40b726:	72 02                	jb     0x40b72a
40b728:	8b 09                	mov    (%ecx),%ecx
40b72a:	c6 04 11 00          	movb   $0x0,(%ecx,%edx,1)
40b72e:	5e                   	pop    %esi
40b72f:	8b e5                	mov    %ebp,%esp
40b731:	5d                   	pop    %ebp
40b732:	c2 08 00             	ret    $0x8
40b735:	8b 41 14             	mov    0x14(%ecx),%eax
40b738:	57                   	push   %edi
40b739:	8b fa                	mov    %edx,%edi
40b73b:	2b c6                	sub    %esi,%eax
40b73d:	2b fe                	sub    %esi,%edi
40b73f:	3b f8                	cmp    %eax,%edi
40b741:	77 28                	ja     0x40b76b
40b743:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40b747:	89 51 10             	mov    %edx,0x10(%ecx)
40b74a:	72 02                	jb     0x40b74e
40b74c:	8b 09                	mov    (%ecx),%ecx
40b74e:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
40b752:	03 f1                	add    %ecx,%esi
40b754:	57                   	push   %edi
40b755:	50                   	push   %eax
40b756:	56                   	push   %esi
40b757:	e8 84 22 01 00       	call   0x41d9e0
40b75c:	83 c4 0c             	add    $0xc,%esp
40b75f:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
40b763:	5f                   	pop    %edi
40b764:	5e                   	pop    %esi
40b765:	8b e5                	mov    %ebp,%esp
40b767:	5d                   	pop    %ebp
40b768:	c2 08 00             	ret    $0x8
40b76b:	ff 75 0c             	push   0xc(%ebp)
40b76e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40b772:	57                   	push   %edi
40b773:	ff 75 fc             	push   -0x4(%ebp)
40b776:	57                   	push   %edi
40b777:	e8 34 10 00 00       	call   0x40c7b0
40b77c:	5f                   	pop    %edi
40b77d:	5e                   	pop    %esi
40b77e:	8b e5                	mov    %ebp,%esp
40b780:	5d                   	pop    %ebp
40b781:	c2 08 00             	ret    $0x8
40b784:	cc                   	int3
40b785:	cc                   	int3
40b786:	cc                   	int3
40b787:	cc                   	int3
40b788:	cc                   	int3
40b789:	cc                   	int3
40b78a:	cc                   	int3
40b78b:	cc                   	int3
40b78c:	cc                   	int3
40b78d:	cc                   	int3
40b78e:	cc                   	int3
40b78f:	cc                   	int3
40b790:	55                   	push   %ebp
40b791:	8b ec                	mov    %esp,%ebp
40b793:	56                   	push   %esi
40b794:	8b f1                	mov    %ecx,%esi
40b796:	ff 76 08             	push   0x8(%esi)
40b799:	c7 06 54 06 44 00    	movl   $0x440654,(%esi)
40b79f:	e8 a9 a8 01 00       	call   0x42604d
40b7a4:	ff 76 10             	push   0x10(%esi)
40b7a7:	e8 a1 a8 01 00       	call   0x42604d
40b7ac:	ff 76 14             	push   0x14(%esi)
40b7af:	e8 99 a8 01 00       	call   0x42604d
40b7b4:	83 c4 0c             	add    $0xc,%esp
40b7b7:	c7 06 9c f8 43 00    	movl   $0x43f89c,(%esi)
40b7bd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40b7c1:	74 0b                	je     0x40b7ce
40b7c3:	6a 18                	push   $0x18
40b7c5:	56                   	push   %esi
40b7c6:	e8 43 01 01 00       	call   0x41b90e
40b7cb:	83 c4 08             	add    $0x8,%esp
40b7ce:	8b c6                	mov    %esi,%eax
40b7d0:	5e                   	pop    %esi
40b7d1:	5d                   	pop    %ebp
40b7d2:	c2 04 00             	ret    $0x4
40b7d5:	cc                   	int3
40b7d6:	cc                   	int3
40b7d7:	cc                   	int3
40b7d8:	cc                   	int3
40b7d9:	cc                   	int3
40b7da:	cc                   	int3
40b7db:	cc                   	int3
40b7dc:	cc                   	int3
40b7dd:	cc                   	int3
40b7de:	cc                   	int3
40b7df:	cc                   	int3
40b7e0:	55                   	push   %ebp
40b7e1:	8b ec                	mov    %esp,%ebp
40b7e3:	6a ff                	push   $0xffffffff
40b7e5:	68 5d dc 43 00       	push   $0x43dc5d
40b7ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b7f0:	50                   	push   %eax
40b7f1:	83 ec 0c             	sub    $0xc,%esp
40b7f4:	53                   	push   %ebx
40b7f5:	56                   	push   %esi
40b7f6:	57                   	push   %edi
40b7f7:	a1 14 40 45 00       	mov    0x454014,%eax
40b7fc:	33 c5                	xor    %ebp,%eax
40b7fe:	50                   	push   %eax
40b7ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b802:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b808:	8b d9                	mov    %ecx,%ebx
40b80a:	e8 a1 93 ff ff       	call   0x404bb0
40b80f:	8b 45 08             	mov    0x8(%ebp),%eax
40b812:	89 43 38             	mov    %eax,0x38(%ebx)
40b815:	8b 43 30             	mov    0x30(%ebx),%eax
40b818:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
40b81f:	8b 78 04             	mov    0x4(%eax),%edi
40b822:	89 7d ec             	mov    %edi,-0x14(%ebp)
40b825:	8b 07                	mov    (%edi),%eax
40b827:	8b 70 04             	mov    0x4(%eax),%esi
40b82a:	8b ce                	mov    %esi,%ecx
40b82c:	ff 15 3c f2 43 00    	call   *0x43f23c
40b832:	8b cf                	mov    %edi,%ecx
40b834:	ff d6                	call   *%esi
40b836:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b839:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b840:	50                   	push   %eax
40b841:	e8 4a 0c 00 00       	call   0x40c490
40b846:	8b f8                	mov    %eax,%edi
40b848:	83 c4 04             	add    $0x4,%esp
40b84b:	8b 0f                	mov    (%edi),%ecx
40b84d:	6a 20                	push   $0x20
40b84f:	8b 71 30             	mov    0x30(%ecx),%esi
40b852:	8b ce                	mov    %esi,%ecx