503625:	6a 00                	push   $0x0
503627:	6a 00                	push   $0x0
503629:	6a 00                	push   $0x0
50362b:	6a 00                	push   $0x0
50362d:	57                   	push   %edi
50362e:	56                   	push   %esi
50362f:	53                   	push   %ebx
503630:	e8 4b c9 04 00       	call   0x54ff80
503635:	8b 5d c8             	mov    -0x38(%ebp),%ebx
503638:	8b f0                	mov    %eax,%esi
50363a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
50363d:	83 c4 1c             	add    $0x1c,%esp
503640:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
503643:	0f b6 50 18          	movzbl 0x18(%eax),%edx
503647:	39 4b 70             	cmp    %ecx,0x70(%ebx)
50364a:	7f 16                	jg     0x503662
50364c:	6a 00                	push   $0x0
50364e:	ff 75 24             	push   0x24(%ebp)
503651:	52                   	push   %edx
503652:	68 95 00 00 00       	push   $0x95
503657:	53                   	push   %ebx
503658:	e8 a3 2e 00 00       	call   0x506500
50365d:	83 c4 14             	add    $0x14,%esp
503660:	eb 31                	jmp    0x503693
503662:	8d 41 01             	lea    0x1(%ecx),%eax
503665:	89 43 6c             	mov    %eax,0x6c(%ebx)
503668:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50366b:	8b 43 68             	mov    0x68(%ebx),%eax
50366e:	8b 5d c8             	mov    -0x38(%ebp),%ebx
503671:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
503675:	8b 55 24             	mov    0x24(%ebp),%edx
503678:	c7 04 88 95 00 00 00 	movl   $0x95,(%eax,%ecx,4)
50367f:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
503683:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50368a:	00
50368b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
503692:	00
503693:	85 f6                	test   %esi,%esi
503695:	74 0e                	je     0x5036a5
503697:	56                   	push   %esi
503698:	e8 73 f7 04 00       	call   0x552e10
50369d:	83 c4 04             	add    $0x4,%esp
5036a0:	eb 03                	jmp    0x5036a5
5036a2:	8b 5d c8             	mov    -0x38(%ebp),%ebx
5036a5:	85 ff                	test   %edi,%edi
5036a7:	74 0c                	je     0x5036b5
5036a9:	57                   	push   %edi
5036aa:	ff 75 c4             	push   -0x3c(%ebp)
5036ad:	e8 fe 30 02 00       	call   0x5267b0
5036b2:	83 c4 08             	add    $0x8,%esp
5036b5:	8b 4d ac             	mov    -0x54(%ebp),%ecx
5036b8:	85 c9                	test   %ecx,%ecx
5036ba:	74 36                	je     0x5036f2
5036bc:	8b 53 6c             	mov    0x6c(%ebx),%edx
5036bf:	79 03                	jns    0x5036c4
5036c1:	8d 4a ff             	lea    -0x1(%edx),%ecx
5036c4:	8b 03                	mov    (%ebx),%eax
5036c6:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5036ca:	74 19                	je     0x5036e5
5036cc:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5036d1:	5f                   	pop    %edi
5036d2:	5e                   	pop    %esi
5036d3:	5b                   	pop    %ebx
5036d4:	89 50 08             	mov    %edx,0x8(%eax)
5036d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5036da:	33 cd                	xor    %ebp,%ecx
5036dc:	e8 f9 dd 0d 00       	call   0x5e14da
5036e1:	8b e5                	mov    %ebp,%esp
5036e3:	5d                   	pop    %ebp
5036e4:	c3                   	ret
5036e5:	8b 43 68             	mov    0x68(%ebx),%eax
5036e8:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5036eb:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5036ef:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5036f2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5036f5:	5f                   	pop    %edi
5036f6:	5e                   	pop    %esi
5036f7:	33 cd                	xor    %ebp,%ecx
5036f9:	5b                   	pop    %ebx
5036fa:	e8 db dd 0d 00       	call   0x5e14da
5036ff:	8b e5                	mov    %ebp,%esp
503701:	5d                   	pop    %ebp
503702:	c3                   	ret
503703:	cc                   	int3
503704:	cc                   	int3
503705:	cc                   	int3
503706:	cc                   	int3
503707:	cc                   	int3
503708:	cc                   	int3
503709:	cc                   	int3
50370a:	cc                   	int3
50370b:	cc                   	int3
50370c:	cc                   	int3
50370d:	cc                   	int3
50370e:	cc                   	int3
50370f:	cc                   	int3
503710:	55                   	push   %ebp
503711:	8b ec                	mov    %esp,%ebp
503713:	57                   	push   %edi
503714:	8b 7d 0c             	mov    0xc(%ebp),%edi
503717:	85 ff                	test   %edi,%edi
503719:	74 5a                	je     0x503775
50371b:	53                   	push   %ebx
50371c:	8b 5f 1c             	mov    0x1c(%edi),%ebx
50371f:	56                   	push   %esi
503720:	8b 75 08             	mov    0x8(%ebp),%esi
503723:	8b 43 10             	mov    0x10(%ebx),%eax
503726:	85 c0                	test   %eax,%eax
503728:	74 0a                	je     0x503734
50372a:	50                   	push   %eax
50372b:	56                   	push   %esi
50372c:	e8 7f 30 02 00       	call   0x5267b0
503731:	83 c4 08             	add    $0x8,%esp
503734:	8b 43 14             	mov    0x14(%ebx),%eax
503737:	85 c0                	test   %eax,%eax
503739:	74 0a                	je     0x503745
50373b:	50                   	push   %eax
50373c:	56                   	push   %esi
50373d:	e8 be d8 ff ff       	call   0x501000
503742:	83 c4 08             	add    $0x8,%esp
503745:	8b 43 08             	mov    0x8(%ebx),%eax
503748:	85 c0                	test   %eax,%eax
50374a:	74 0c                	je     0x503758
50374c:	6a 01                	push   $0x1
50374e:	50                   	push   %eax
50374f:	56                   	push   %esi
503750:	e8 9b 56 ff ff       	call   0x4f8df0
503755:	83 c4 0c             	add    $0xc,%esp
503758:	8b 47 0c             	mov    0xc(%edi),%eax
50375b:	85 c0                	test   %eax,%eax
50375d:	74 0a                	je     0x503769
50375f:	50                   	push   %eax
503760:	56                   	push   %esi
503761:	e8 4a 30 02 00       	call   0x5267b0
503766:	83 c4 08             	add    $0x8,%esp
503769:	57                   	push   %edi
50376a:	56                   	push   %esi
50376b:	e8 00 dc 01 00       	call   0x521370
503770:	83 c4 08             	add    $0x8,%esp
503773:	5e                   	pop    %esi
503774:	5b                   	pop    %ebx
503775:	5f                   	pop    %edi
503776:	5d                   	pop    %ebp
503777:	c3                   	ret
503778:	cc                   	int3
503779:	cc                   	int3
50377a:	cc                   	int3
50377b:	cc                   	int3
50377c:	cc                   	int3
50377d:	cc                   	int3
50377e:	cc                   	int3
50377f:	cc                   	int3
503780:	55                   	push   %ebp
503781:	8b ec                	mov    %esp,%ebp
503783:	83 ec 54             	sub    $0x54,%esp
503786:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50378b:	33 c5                	xor    %ebp,%eax
50378d:	89 45 fc             	mov    %eax,-0x4(%ebp)
503790:	8b 4d 08             	mov    0x8(%ebp),%ecx
503793:	8b 55 10             	mov    0x10(%ebp),%edx
503796:	53                   	push   %ebx
503797:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50379a:	8b 81 f0 00 00 00    	mov    0xf0(%ecx),%eax
5037a0:	89 45 d8             	mov    %eax,-0x28(%ebp)
5037a3:	8b 01                	mov    (%ecx),%eax
5037a5:	89 4d cc             	mov    %ecx,-0x34(%ebp)
5037a8:	89 5d c0             	mov    %ebx,-0x40(%ebp)
5037ab:	89 55 b8             	mov    %edx,-0x48(%ebp)
5037ae:	f6 40 4c 01          	testb  $0x1,0x4c(%eax)
5037b2:	c7 45 c8 ff ff ff ff 	movl   $0xffffffff,-0x38(%ebp)
5037b9:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5037c0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5037c3:	74 11                	je     0x5037d6
5037c5:	33 c0                	xor    %eax,%eax
5037c7:	5b                   	pop    %ebx
5037c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5037cb:	33 cd                	xor    %ebp,%ecx
5037cd:	e8 08 dd 0d 00       	call   0x5e14da
5037d2:	8b e5                	mov    %ebp,%esp
5037d4:	5d                   	pop    %ebp
5037d5:	c3                   	ret
5037d6:	8b 43 20             	mov    0x20(%ebx),%eax
5037d9:	8d 0c d2             	lea    (%edx,%edx,8),%ecx
5037dc:	c1 e1 03             	shl    $0x3,%ecx
5037df:	89 45 dc             	mov    %eax,-0x24(%ebp)
5037e2:	83 c0 08             	add    $0x8,%eax
5037e5:	03 c1                	add    %ecx,%eax
5037e7:	89 4d bc             	mov    %ecx,-0x44(%ebp)
5037ea:	83 7b 44 00          	cmpl   $0x0,0x44(%ebx)
5037ee:	89 45 e0             	mov    %eax,-0x20(%ebp)
5037f1:	8b 48 2c             	mov    0x2c(%eax),%ecx
5037f4:	89 4d b0             	mov    %ecx,-0x50(%ebp)
5037f7:	8b 48 14             	mov    0x14(%eax),%ecx
5037fa:	75 c9                	jne    0x5037c5
5037fc:	83 79 44 00          	cmpl   $0x0,0x44(%ecx)
503800:	75 c3                	jne    0x5037c5
503802:	8b 41 3c             	mov    0x3c(%ecx),%eax
503805:	57                   	push   %edi
503806:	8b 79 20             	mov    0x20(%ecx),%edi
503809:	85 c0                	test   %eax,%eax
50380b:	74 10                	je     0x50381d
50380d:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
503811:	75 17                	jne    0x50382a
503813:	85 c0                	test   %eax,%eax
503815:	74 06                	je     0x50381d
503817:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
50381b:	75 0d                	jne    0x50382a
50381d:	f7 43 04 00 01 00 00 	testl  $0x100,0x4(%ebx)
503824:	74 16                	je     0x50383c
503826:	85 c0                	test   %eax,%eax
503828:	74 12                	je     0x50383c
50382a:	5f                   	pop    %edi
50382b:	33 c0                	xor    %eax,%eax
50382d:	5b                   	pop    %ebx
50382e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
503831:	33 cd                	xor    %ebp,%ecx
503833:	e8 a2 dc 0d 00       	call   0x5e14da
503838:	8b e5                	mov    %ebp,%esp
50383a:	5d                   	pop    %ebp
50383b:	c3                   	ret
50383c:	56                   	push   %esi
50383d:	8b 37                	mov    (%edi),%esi
50383f:	85 f6                	test   %esi,%esi
503841:	74 47                	je     0x50388a
503843:	f6 41 04 01          	testb  $0x1,0x4(%ecx)
503847:	75 41                	jne    0x50388a
503849:	8b 55 14             	mov    0x14(%ebp),%edx
50384c:	85 c0                	test   %eax,%eax
50384e:	74 0f                	je     0x50385f
503850:	8b 7d dc             	mov    -0x24(%ebp),%edi
503853:	83 3f 01             	cmpl   $0x1,(%edi)
503856:	8b 79 20             	mov    0x20(%ecx),%edi
503859:	7f 2f                	jg     0x50388a
50385b:	85 d2                	test   %edx,%edx
50385d:	75 2b                	jne    0x50388a
50385f:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
503863:	74 06                	je     0x50386b
503865:	83 79 30 00          	cmpl   $0x0,0x30(%ecx)
503869:	75 1f                	jne    0x50388a
50386b:	85 d2                	test   %edx,%edx
50386d:	74 06                	je     0x503875
50386f:	83 79 30 00          	cmpl   $0x0,0x30(%ecx)
503873:	75 15                	jne    0x50388a
503875:	85 c0                	test   %eax,%eax
503877:	74 24                	je     0x50389d
503879:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
50387d:	75 0b                	jne    0x50388a
50387f:	85 c0                	test   %eax,%eax
503881:	74 1a                	je     0x50389d
503883:	8b 43 04             	mov    0x4(%ebx),%eax
503886:	a8 01                	test   $0x1,%al
503888:	74 16                	je     0x5038a0
50388a:	5e                   	pop    %esi
50388b:	5f                   	pop    %edi
50388c:	33 c0                	xor    %eax,%eax
50388e:	5b                   	pop    %ebx
50388f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
503892:	33 cd                	xor    %ebp,%ecx
503894:	e8 41 dc 0d 00       	call   0x5e14da
503899:	8b e5                	mov    %ebp,%esp
50389b:	5d                   	pop    %ebp
50389c:	c3                   	ret
50389d:	8b 43 04             	mov    0x4(%ebx),%eax
5038a0:	f7 41 04 00 20 00 00 	testl  $0x2000,0x4(%ecx)
5038a7:	75 e1                	jne    0x50388a
5038a9:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5038ac:	f6 43 24 20          	testb  $0x20,0x24(%ebx)
5038b0:	8b 5d c0             	mov    -0x40(%ebp),%ebx
5038b3:	74 1f                	je     0x5038d4
5038b5:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
5038bc:	83 fe 01             	cmp    $0x1,%esi
5038bf:	7f c9                	jg     0x50388a
5038c1:	85 d2                	test   %edx,%edx
5038c3:	75 c5                	jne    0x50388a
5038c5:	8b 47 18             	mov    0x18(%edi),%eax
5038c8:	39 50 38             	cmp    %edx,0x38(%eax)
5038cb:	75 bd                	jne    0x50388a
5038cd:	8b 43 04             	mov    0x4(%ebx),%eax
5038d0:	a8 01                	test   $0x1,%al
5038d2:	75 b6                	jne    0x50388a
5038d4:	83 79 34 00          	cmpl   $0x0,0x34(%ecx)
5038d8:	8d 79 34             	lea    0x34(%ecx),%edi
5038db:	74 67                	je     0x503944
5038dd:	83 79 30 00          	cmpl   $0x0,0x30(%ecx)
5038e1:	75 a7                	jne    0x50388a
5038e3:	85 d2                	test   %edx,%edx
5038e5:	75 a3                	jne    0x50388a
5038e7:	a8 01                	test   $0x1,%al
5038e9:	75 9f                	jne    0x50388a
5038eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
5038ee:	83 38 01             	cmpl   $0x1,(%eax)
5038f1:	75 97                	jne    0x50388a
5038f3:	f6 41 04 09          	testb  $0x9,0x4(%ecx)
5038f7:	75 91                	jne    0x50388a
5038f9:	8b 51 34             	mov    0x34(%ecx),%edx
5038fc:	85 d2                	test   %edx,%edx
5038fe:	74 05                	je     0x503905
503900:	80 39 85             	cmpb   $0x85,(%ecx)
503903:	75 85                	jne    0x50388a
503905:	8b 41 20             	mov    0x20(%ecx),%eax
503908:	83 38 01             	cmpl   $0x1,(%eax)
50390b:	0f 8c 79 ff ff ff    	jl     0x50388a
503911:	83 79 44 00          	cmpl   $0x0,0x44(%ecx)
503915:	0f 85 6f ff ff ff    	jne    0x50388a
50391b:	8b ca                	mov    %edx,%ecx
50391d:	85 c9                	test   %ecx,%ecx
50391f:	75 d2                	jne    0x5038f3
503921:	8b 73 30             	mov    0x30(%ebx),%esi
503924:	85 f6                	test   %esi,%esi
503926:	74 1c                	je     0x503944
503928:	8b 16                	mov    (%esi),%edx
50392a:	85 d2                	test   %edx,%edx
50392c:	7e 16                	jle    0x503944
50392e:	33 c0                	xor    %eax,%eax
503930:	66 83 7c 06 14 00    	cmpw   $0x0,0x14(%esi,%eax,1)
503936:	0f 84 4e ff ff ff    	je     0x50388a
50393c:	41                   	inc    %ecx
50393d:	83 c0 14             	add    $0x14,%eax
503940:	3b ca                	cmp    %edx,%ecx
503942:	7c ec                	jl     0x503930
503944:	8b 45 e0             	mov    -0x20(%ebp),%eax
503947:	8b 75 cc             	mov    -0x34(%ebp),%esi
50394a:	6a 00                	push   $0x0
50394c:	6a 00                	push   $0x0
50394e:	8b 40 08             	mov    0x8(%eax),%eax
503951:	6a 00                	push   $0x0
503953:	6a 15                	push   $0x15
503955:	56                   	push   %esi
503956:	89 86 f0 00 00 00    	mov    %eax,0xf0(%esi)
50395c:	e8 3f 5e 01 00       	call   0x5197a0
503961:	8b 45 d8             	mov    -0x28(%ebp),%eax
503964:	83 c4 14             	add    $0x14,%esp
503967:	89 86 f0 00 00 00    	mov    %eax,0xf0(%esi)
50396d:	8b 07                	mov    (%edi),%eax
50396f:	89 45 d8             	mov    %eax,-0x28(%ebp)
503972:	85 c0                	test   %eax,%eax
503974:	74 7d                	je     0x5039f3
503976:	8b 43 34             	mov    0x34(%ebx),%eax
503979:	8b 7b 30             	mov    0x30(%ebx),%edi
50397c:	8b 73 3c             	mov    0x3c(%ebx),%esi
50397f:	6a 00                	push   $0x0
503981:	53                   	push   %ebx
503982:	ff 75 d4             	push   -0x2c(%ebp)
503985:	89 45 d0             	mov    %eax,-0x30(%ebp)
503988:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
50398f:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
503996:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
50399d:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
5039a4:	e8 37 88 03 00       	call   0x53c1e0
5039a9:	8b 4d dc             	mov    -0x24(%ebp),%ecx