5386f0:	57                   	push   %edi
5386f1:	33 ff                	xor    %edi,%edi
5386f3:	55                   	push   %ebp
5386f4:	89 7c 24 10          	mov    %edi,0x10(%esp)
5386f8:	89 7c 24 20          	mov    %edi,0x20(%esp)
5386fc:	e8 4f 73 02 00       	call   0x55fa50
538701:	8b f0                	mov    %eax,%esi
538703:	83 c4 04             	add    $0x4,%esp
538706:	85 f6                	test   %esi,%esi
538708:	75 07                	jne    0x538711
53870a:	5f                   	pop    %edi
53870b:	5e                   	pop    %esi
53870c:	5d                   	pop    %ebp
53870d:	83 c4 24             	add    $0x24,%esp
538710:	c3                   	ret
538711:	53                   	push   %ebx
538712:	56                   	push   %esi
538713:	e8 38 eb fa ff       	call   0x4e7250
538718:	6a 00                	push   $0x0
53871a:	6a 00                	push   $0x0
53871c:	8b d8                	mov    %eax,%ebx
53871e:	8d 44 24 24          	lea    0x24(%esp),%eax
538722:	6a 00                	push   $0x0
538724:	50                   	push   %eax
538725:	8d 44 24 28          	lea    0x28(%esp),%eax
538729:	50                   	push   %eax
53872a:	55                   	push   %ebp
53872b:	e8 f0 83 02 00       	call   0x560b20
538730:	83 c4 1c             	add    $0x1c,%esp
538733:	85 c0                	test   %eax,%eax
538735:	0f 84 2b 03 00 00    	je     0x538a66
53873b:	ff 74 24 14          	push   0x14(%esp)
53873f:	8d 44 24 28          	lea    0x28(%esp),%eax
538743:	6a 00                	push   $0x0
538745:	6a 00                	push   $0x0
538747:	50                   	push   %eax
538748:	e8 83 33 fb ff       	call   0x4ebad0
53874d:	6a 00                	push   $0x0
53874f:	e8 8c 6d fb ff       	call   0x4ef4e0
538754:	83 c4 14             	add    $0x14,%esp
538757:	39 44 24 24          	cmp    %eax,0x24(%esp)
53875b:	0f 85 92 00 00 00    	jne    0x5387f3
538761:	8b 5b 18             	mov    0x18(%ebx),%ebx
538764:	6a 00                	push   $0x0
538766:	53                   	push   %ebx
538767:	e8 54 63 fe ff       	call   0x51eac0
53876c:	83 c4 08             	add    $0x8,%esp
53876f:	85 c0                	test   %eax,%eax
538771:	0f 8e ef 02 00 00    	jle    0x538a66
538777:	68 5a 03 00 00       	push   $0x35a
53877c:	68 b8 9e 64 00       	push   $0x649eb8
538781:	50                   	push   %eax
538782:	e8 c9 7f fa ff       	call   0x4e0750
538787:	83 c4 0c             	add    $0xc,%esp
53878a:	89 44 24 10          	mov    %eax,0x10(%esp)
53878e:	85 c0                	test   %eax,%eax
538790:	0f 84 d4 02 00 00    	je     0x538a6a
538796:	89 44 24 28          	mov    %eax,0x28(%esp)
53879a:	8d 44 24 28          	lea    0x28(%esp),%eax
53879e:	50                   	push   %eax
53879f:	53                   	push   %ebx
5387a0:	e8 1b 63 fe ff       	call   0x51eac0
5387a5:	83 c4 08             	add    $0x8,%esp
5387a8:	85 c0                	test   %eax,%eax
5387aa:	0f 8e b6 02 00 00    	jle    0x538a66
5387b0:	50                   	push   %eax
5387b1:	ff 74 24 14          	push   0x14(%esp)
5387b5:	ff 74 24 20          	push   0x20(%esp)
5387b9:	e8 52 1b fd ff       	call   0x50a310
5387be:	8b 44 24 24          	mov    0x24(%esp),%eax
5387c2:	83 c4 0c             	add    $0xc,%esp
5387c5:	83 60 0c f0          	andl   $0xfffffff0,0xc(%eax)
5387c9:	8b 44 24 18          	mov    0x18(%esp),%eax
5387cd:	6a 00                	push   $0x0
5387cf:	6a ff                	push   $0xffffffff
5387d1:	68 98 01 00 00       	push   $0x198
5387d6:	83 48 0c 08          	orl    $0x8,0xc(%eax)
5387da:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
5387de:	e8 fd 6c fb ff       	call   0x4ef4e0
5387e3:	83 c4 04             	add    $0x4,%esp
5387e6:	50                   	push   %eax
5387e7:	ff 74 24 20          	push   0x20(%esp)
5387eb:	e8 30 33 fb ff       	call   0x4ebb20
5387f0:	83 c4 10             	add    $0x10,%esp
5387f3:	6a 00                	push   $0x0
5387f5:	6a fe                	push   $0xfffffffe
5387f7:	68 04 10 00 00       	push   $0x1004
5387fc:	68 00 04 00 00       	push   $0x400
538801:	68 98 01 00 00       	push   $0x198
538806:	56                   	push   %esi
538807:	e8 c4 e7 fa ff       	call   0x4e6fd0
53880c:	83 c4 18             	add    $0x18,%esp
53880f:	89 44 24 28          	mov    %eax,0x28(%esp)
538813:	85 c0                	test   %eax,%eax
538815:	0f 8e 4b 02 00 00    	jle    0x538a66
53881b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
53881f:	50                   	push   %eax
538820:	6a 00                	push   $0x0
538822:	68 06 10 00 00       	push   $0x1006
538827:	68 00 04 00 00       	push   $0x400
53882c:	68 98 01 00 00       	push   $0x198
538831:	56                   	push   %esi
538832:	e8 99 e7 fa ff       	call   0x4e6fd0
538837:	83 c4 18             	add    $0x18,%esp
53883a:	85 c0                	test   %eax,%eax
53883c:	0f 84 24 02 00 00    	je     0x538a66
538842:	6a 00                	push   $0x0
538844:	6a fe                	push   $0xfffffffe
538846:	68 03 10 00 00       	push   $0x1003
53884b:	68 00 04 00 00       	push   $0x400
538850:	68 98 01 00 00       	push   $0x198
538855:	56                   	push   %esi
538856:	e8 75 e7 fa ff       	call   0x4e6fd0
53885b:	8b d8                	mov    %eax,%ebx
53885d:	83 c4 18             	add    $0x18,%esp
538860:	85 db                	test   %ebx,%ebx
538862:	0f 88 fe 01 00 00    	js     0x538a66
538868:	75 07                	jne    0x538871
53886a:	bb b2 03 00 00       	mov    $0x3b2,%ebx
53886f:	eb 0b                	jmp    0x53887c
538871:	83 fb 01             	cmp    $0x1,%ebx
538874:	b8 b3 03 00 00       	mov    $0x3b3,%eax
538879:	0f 44 d8             	cmove  %eax,%ebx
53887c:	83 7c 24 28 01       	cmpl   $0x1,0x28(%esp)
538881:	0f 85 df 01 00 00    	jne    0x538a66
538887:	6a 00                	push   $0x0
538889:	6a 02                	push   $0x2
53888b:	68 04 10 00 00       	push   $0x1004
538890:	68 00 04 00 00       	push   $0x400
538895:	68 98 01 00 00       	push   $0x198
53889a:	56                   	push   %esi
53889b:	e8 30 e7 fa ff       	call   0x4e6fd0
5388a0:	83 c4 18             	add    $0x18,%esp
5388a3:	85 c0                	test   %eax,%eax
5388a5:	0f 8e bb 01 00 00    	jle    0x538a66
5388ab:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
5388af:	75 2c                	jne    0x5388dd
5388b1:	e8 5a dc fd ff       	call   0x516510
5388b6:	50                   	push   %eax
5388b7:	6a 00                	push   $0x0
5388b9:	68 05 10 00 00       	push   $0x1005
5388be:	68 00 04 00 00       	push   $0x400
5388c3:	68 98 01 00 00       	push   $0x198
5388c8:	56                   	push   %esi
5388c9:	89 44 24 34          	mov    %eax,0x34(%esp)
5388cd:	e8 fe e6 fa ff       	call   0x4e6fd0
5388d2:	83 c4 18             	add    $0x18,%esp
5388d5:	85 c0                	test   %eax,%eax
5388d7:	0f 8e 89 01 00 00    	jle    0x538a66
5388dd:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5388e1:	50                   	push   %eax
5388e2:	8d 44 24 18          	lea    0x18(%esp),%eax
5388e6:	50                   	push   %eax
5388e7:	55                   	push   %ebp
5388e8:	e8 c3 81 02 00       	call   0x560ab0
5388ed:	83 c4 0c             	add    $0xc,%esp
5388f0:	85 c0                	test   %eax,%eax
5388f2:	0f 84 6e 01 00 00    	je     0x538a66
5388f8:	53                   	push   %ebx
5388f9:	ff 74 24 20          	push   0x20(%esp)
5388fd:	e8 be 77 fb ff       	call   0x4f00c0
538902:	83 c4 04             	add    $0x4,%esp
538905:	50                   	push   %eax
538906:	8d 44 24 38          	lea    0x38(%esp),%eax
53890a:	50                   	push   %eax
53890b:	e8 50 39 fd ff       	call   0x50c260
538910:	83 c4 0c             	add    $0xc,%esp
538913:	85 c0                	test   %eax,%eax
538915:	0f 84 4b 01 00 00    	je     0x538a66
53891b:	55                   	push   %ebp
53891c:	e8 df 81 02 00       	call   0x560b00
538921:	8b d8                	mov    %eax,%ebx
538923:	53                   	push   %ebx
538924:	e8 97 77 fb ff       	call   0x4f00c0
538929:	50                   	push   %eax
53892a:	e8 d1 7b fb ff       	call   0x4f0500
53892f:	53                   	push   %ebx
538930:	89 44 24 38          	mov    %eax,0x38(%esp)
538934:	e8 f7 77 fb ff       	call   0x4f0130
538939:	83 c4 10             	add    $0x10,%esp
53893c:	8b e8                	mov    %eax,%ebp
53893e:	e8 cd 31 fb ff       	call   0x4ebb10
538943:	8b f8                	mov    %eax,%edi
538945:	85 ff                	test   %edi,%edi
538947:	0f 84 19 01 00 00    	je     0x538a66
53894d:	ff 74 24 28          	push   0x28(%esp)
538951:	e8 8a 6b fb ff       	call   0x4ef4e0
538956:	83 c4 04             	add    $0x4,%esp
538959:	89 07                	mov    %eax,(%edi)
53895b:	e8 90 2f fb ff       	call   0x4eb8f0
538960:	89 47 04             	mov    %eax,0x4(%edi)
538963:	85 c0                	test   %eax,%eax
538965:	0f 84 fb 00 00 00    	je     0x538a66
53896b:	50                   	push   %eax
53896c:	53                   	push   %ebx
53896d:	e8 ee 79 fb ff       	call   0x4f0360
538972:	83 c4 08             	add    $0x8,%esp
538975:	85 c0                	test   %eax,%eax
538977:	0f 8e e9 00 00 00    	jle    0x538a66
53897d:	ff 77 04             	push   0x4(%edi)
538980:	e8 3b 1d fd ff       	call   0x50a6c0
538985:	83 c4 04             	add    $0x4,%esp
538988:	85 c0                	test   %eax,%eax
53898a:	75 12                	jne    0x53899e
53898c:	ff 77 04             	push   0x4(%edi)
53898f:	e8 3c 2f fb ff       	call   0x4eb8d0
538994:	83 c4 04             	add    $0x4,%esp
538997:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
53899e:	6a 00                	push   $0x0
5389a0:	55                   	push   %ebp
5389a1:	68 07 10 00 00       	push   $0x1007
5389a6:	68 00 04 00 00       	push   $0x400
5389ab:	68 98 01 00 00       	push   $0x198
5389b0:	56                   	push   %esi
5389b1:	e8 1a e6 fa ff       	call   0x4e6fd0
5389b6:	83 c4 18             	add    $0x18,%esp
5389b9:	85 c0                	test   %eax,%eax
5389bb:	0f 8e a5 00 00 00    	jle    0x538a66
5389c1:	55                   	push   %ebp
5389c2:	ff 74 24 30          	push   0x30(%esp)
5389c6:	8d 44 24 18          	lea    0x18(%esp),%eax
5389ca:	57                   	push   %edi
5389cb:	50                   	push   %eax
5389cc:	e8 0f 1c 02 00       	call   0x55a5e0
5389d1:	83 c4 10             	add    $0x10,%esp
5389d4:	85 c0                	test   %eax,%eax
5389d6:	0f 84 8a 00 00 00    	je     0x538a66
5389dc:	ff 74 24 10          	push   0x10(%esp)
5389e0:	50                   	push   %eax
5389e1:	68 09 10 00 00       	push   $0x1009
5389e6:	68 00 04 00 00       	push   $0x400
5389eb:	68 98 01 00 00       	push   $0x198
5389f0:	56                   	push   %esi
5389f1:	e8 da e5 fa ff       	call   0x4e6fd0
5389f6:	83 c4 18             	add    $0x18,%esp
5389f9:	85 c0                	test   %eax,%eax
5389fb:	7e 69                	jle    0x538a66
5389fd:	8d 44 24 10          	lea    0x10(%esp),%eax
538a01:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
538a08:	00
538a09:	50                   	push   %eax
538a0a:	57                   	push   %edi
538a0b:	e8 40 32 fb ff       	call   0x4ebc50
538a10:	8b d8                	mov    %eax,%ebx
538a12:	83 c4 08             	add    $0x8,%esp
538a15:	8b 44 24 10          	mov    0x10(%esp),%eax
538a19:	85 c0                	test   %eax,%eax
538a1b:	74 4d                	je     0x538a6a
538a1d:	85 db                	test   %ebx,%ebx
538a1f:	74 49                	je     0x538a6a
538a21:	e8 da 17 fd ff       	call   0x50a200
538a26:	8b f0                	mov    %eax,%esi
538a28:	85 f6                	test   %esi,%esi
538a2a:	74 3a                	je     0x538a66
538a2c:	53                   	push   %ebx
538a2d:	ff 74 24 14          	push   0x14(%esp)
538a31:	56                   	push   %esi
538a32:	e8 d9 18 fd ff       	call   0x50a310
538a37:	83 c4 0c             	add    $0xc,%esp
538a3a:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
538a41:	00
538a42:	56                   	push   %esi
538a43:	6a 10                	push   $0x10
538a45:	ff 74 24 38          	push   0x38(%esp)
538a49:	e8 92 6a fb ff       	call   0x4ef4e0
538a4e:	83 c4 04             	add    $0x4,%esp
538a51:	50                   	push   %eax
538a52:	ff 74 24 20          	push   0x20(%esp)
538a56:	e8 c5 30 fb ff       	call   0x4ebb20
538a5b:	83 c4 10             	add    $0x10,%esp
538a5e:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
538a65:	00
538a66:	8b 44 24 10          	mov    0x10(%esp),%eax
538a6a:	68 bf 03 00 00       	push   $0x3bf
538a6f:	68 b8 9e 64 00       	push   $0x649eb8
538a74:	50                   	push   %eax
538a75:	e8 06 7d fa ff       	call   0x4e0780
538a7a:	57                   	push   %edi
538a7b:	e8 30 30 fb ff       	call   0x4ebab0
538a80:	8b 44 24 30          	mov    0x30(%esp),%eax
538a84:	83 c4 10             	add    $0x10,%esp
538a87:	5b                   	pop    %ebx
538a88:	5f                   	pop    %edi
538a89:	5e                   	pop    %esi
538a8a:	5d                   	pop    %ebp
538a8b:	83 c4 24             	add    $0x24,%esp
538a8e:	c3                   	ret
538a8f:	cc                   	int3
538a90:	b8 1c 00 00 00       	mov    $0x1c,%eax
538a95:	e8 16 8d 09 00       	call   0x5d17b0
538a9a:	56                   	push   %esi
538a9b:	57                   	push   %edi
538a9c:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
538aa0:	8d 44 24 20          	lea    0x20(%esp),%eax
538aa4:	50                   	push   %eax
538aa5:	8d 44 24 10          	lea    0x10(%esp),%eax
538aa9:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
538ab0:	00
538ab1:	50                   	push   %eax
538ab2:	57                   	push   %edi
538ab3:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
538aba:	00
538abb:	e8 f0 7f 02 00       	call   0x560ab0
538ac0:	83 c4 0c             	add    $0xc,%esp
538ac3:	85 c0                	test   %eax,%eax
538ac5:	0f 84 3a 02 00 00    	je     0x538d05
538acb:	8b 44 24 0c          	mov    0xc(%esp),%eax
538acf:	ff 30                	push   (%eax)
538ad1:	e8 2a 6b fb ff       	call   0x4ef600
538ad6:	83 c4 04             	add    $0x4,%esp
538ad9:	85 c0                	test   %eax,%eax
538adb:	0f 84 06 02 00 00    	je     0x538ce7
538ae1:	8d 4c 24 14          	lea    0x14(%esp),%ecx
538ae5:	51                   	push   %ecx
538ae6:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
538aea:	51                   	push   %ecx
538aeb:	50                   	push   %eax
538aec:	e8 bf 36 fd ff       	call   0x50c1b0
538af1:	83 c4 0c             	add    $0xc,%esp
538af4:	85 c0                	test   %eax,%eax
538af6:	0f 84 eb 01 00 00    	je     0x538ce7
538afc:	8b 44 24 14          	mov    0x14(%esp),%eax
538b00:	3d b2 03 00 00       	cmp    $0x3b2,%eax
538b05:	75 04                	jne    0x538b0b
538b07:	33 c0                	xor    %eax,%eax
538b09:	eb 10                	jmp    0x538b1b
538b0b:	3d b3 03 00 00       	cmp    $0x3b3,%eax
538b10:	0f 85 d1 01 00 00    	jne    0x538ce7
538b16:	b8 01 00 00 00       	mov    $0x1,%eax
538b1b:	8b 74 24 28          	mov    0x28(%esp),%esi
538b1f:	6a 00                	push   $0x0
538b21:	50                   	push   %eax
538b22:	68 03 10 00 00       	push   $0x1003
538b27:	68 00 04 00 00       	push   $0x400
538b2c:	68 98 01 00 00       	push   $0x198
538b31:	56                   	push   %esi
538b32:	e8 99 e4 fa ff       	call   0x4e6fd0
538b37:	83 c4 18             	add    $0x18,%esp
538b3a:	85 c0                	test   %eax,%eax
538b3c:	0f 8e a5 01 00 00    	jle    0x538ce7
538b42:	6a 00                	push   $0x0
538b44:	6a 02                	push   $0x2
538b46:	68 04 10 00 00       	push   $0x1004
538b4b:	68 00 04 00 00       	push   $0x400
538b50:	68 98 01 00 00       	push   $0x198
538b55:	56                   	push   %esi
538b56:	e8 75 e4 fa ff       	call   0x4e6fd0
538b5b:	83 c4 18             	add    $0x18,%esp
538b5e:	85 c0                	test   %eax,%eax
538b60:	0f 8e 81 01 00 00    	jle    0x538ce7