5937c0:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
5937c4:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
5937cb:	00
5937cc:	85 ff                	test   %edi,%edi
5937ce:	75 3a                	jne    0x59380a
5937d0:	6a 00                	push   $0x0
5937d2:	56                   	push   %esi
5937d3:	8d 7c 24 18          	lea    0x18(%esp),%edi
5937d7:	c7 44 24 68 00 00 00 	movl   $0x0,0x68(%esp)
5937de:	00
5937df:	e8 9c f9 00 00       	call   0x5a3180
5937e4:	83 c4 08             	add    $0x8,%esp
5937e7:	85 c0                	test   %eax,%eax
5937e9:	0f 84 ac 00 00 00    	je     0x59389b
5937ef:	8d 44 24 60          	lea    0x60(%esp),%eax
5937f3:	50                   	push   %eax
5937f4:	6a 40                	push   $0x40
5937f6:	8b c7                	mov    %edi,%eax
5937f8:	50                   	push   %eax
5937f9:	56                   	push   %esi
5937fa:	e8 e1 6a ff ff       	call   0x58a2e0
5937ff:	83 c4 10             	add    $0x10,%esp
593802:	85 c0                	test   %eax,%eax
593804:	0f 84 91 00 00 00    	je     0x59389b
59380a:	56                   	push   %esi
59380b:	e8 f0 01 01 00       	call   0x5a3a00
593810:	83 c4 04             	add    $0x4,%esp
593813:	85 c0                	test   %eax,%eax
593815:	0f 84 80 00 00 00    	je     0x59389b
59381b:	8a 44 24 60          	mov    0x60(%esp),%al
59381f:	88 44 24 0f          	mov    %al,0xf(%esp)
593823:	8d 44 24 0c          	lea    0xc(%esp),%eax
593827:	6a 04                	push   $0x4
593829:	50                   	push   %eax
59382a:	56                   	push   %esi
59382b:	c6 44 24 18 fe       	movb   $0xfe,0x18(%esp)
593830:	e8 3b fc 00 00       	call   0x5a3470
593835:	83 c4 0c             	add    $0xc,%esp
593838:	85 c0                	test   %eax,%eax
59383a:	74 5f                	je     0x59389b
59383c:	ff 74 24 60          	push   0x60(%esp)
593840:	57                   	push   %edi
593841:	56                   	push   %esi
593842:	e8 29 fc 00 00       	call   0x5a3470
593847:	83 c4 0c             	add    $0xc,%esp
59384a:	85 c0                	test   %eax,%eax
59384c:	74 4d                	je     0x59389b
59384e:	85 db                	test   %ebx,%ebx
593850:	74 32                	je     0x593884
593852:	ff 74 24 68          	push   0x68(%esp)
593856:	53                   	push   %ebx
593857:	56                   	push   %esi
593858:	e8 13 fc 00 00       	call   0x5a3470
59385d:	83 c4 0c             	add    $0xc,%esp
593860:	85 c0                	test   %eax,%eax
593862:	74 37                	je     0x59389b
593864:	8b 46 7c             	mov    0x7c(%esi),%eax
593867:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
59386d:	83 c0 04             	add    $0x4,%eax
593870:	50                   	push   %eax
593871:	8b 46 6c             	mov    0x6c(%esi),%eax
593874:	ff 70 04             	push   0x4(%eax)
593877:	56                   	push   %esi
593878:	e8 f3 fb 00 00       	call   0x5a3470
59387d:	83 c4 0c             	add    $0xc,%esp
593880:	85 c0                	test   %eax,%eax
593882:	74 17                	je     0x59389b
593884:	5f                   	pop    %edi
593885:	5e                   	pop    %esi
593886:	b8 01 00 00 00       	mov    $0x1,%eax
59388b:	5b                   	pop    %ebx
59388c:	8b 4c 24 44          	mov    0x44(%esp),%ecx
593890:	33 cc                	xor    %esp,%ecx
593892:	e8 8f e1 03 00       	call   0x5d1a26
593897:	83 c4 48             	add    $0x48,%esp
59389a:	c3                   	ret
59389b:	8b 4c 24 50          	mov    0x50(%esp),%ecx
59389f:	33 c0                	xor    %eax,%eax
5938a1:	5f                   	pop    %edi
5938a2:	5e                   	pop    %esi
5938a3:	5b                   	pop    %ebx
5938a4:	33 cc                	xor    %esp,%ecx
5938a6:	e8 7b e1 03 00       	call   0x5d1a26
5938ab:	83 c4 48             	add    $0x48,%esp
5938ae:	c3                   	ret
5938af:	cc                   	int3
5938b0:	56                   	push   %esi
5938b1:	8b 74 24 08          	mov    0x8(%esp),%esi
5938b5:	57                   	push   %edi
5938b6:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5938ba:	74 21                	je     0x5938dd
5938bc:	56                   	push   %esi
5938bd:	e8 5e 75 ff ff       	call   0x58ae20
5938c2:	8b f8                	mov    %eax,%edi
5938c4:	83 c4 04             	add    $0x4,%esp
5938c7:	85 ff                	test   %edi,%edi
5938c9:	74 12                	je     0x5938dd
5938cb:	57                   	push   %edi
5938cc:	e8 ef 17 f5 ff       	call   0x4e50c0
5938d1:	83 c4 04             	add    $0x4,%esp
5938d4:	85 c0                	test   %eax,%eax
5938d6:	74 05                	je     0x5938dd
5938d8:	8b c7                	mov    %edi,%eax
5938da:	5f                   	pop    %edi
5938db:	5e                   	pop    %esi
5938dc:	c3                   	ret
5938dd:	56                   	push   %esi
5938de:	e8 1d 75 ff ff       	call   0x58ae00
5938e3:	83 c4 04             	add    $0x4,%esp
5938e6:	5f                   	pop    %edi
5938e7:	5e                   	pop    %esi
5938e8:	c3                   	ret
5938e9:	cc                   	int3
5938ea:	cc                   	int3
5938eb:	cc                   	int3
5938ec:	cc                   	int3
5938ed:	cc                   	int3
5938ee:	cc                   	int3
5938ef:	cc                   	int3
5938f0:	56                   	push   %esi
5938f1:	8b 74 24 08          	mov    0x8(%esp),%esi
5938f5:	57                   	push   %edi
5938f6:	8b 4e 04             	mov    0x4(%esi),%ecx
5938f9:	8b 41 64             	mov    0x64(%ecx),%eax
5938fc:	f6 40 30 08          	testb  $0x8,0x30(%eax)
593900:	0f 85 cc 00 00 00    	jne    0x5939d2
593906:	8b 01                	mov    (%ecx),%eax
593908:	3d 04 03 00 00       	cmp    $0x304,%eax
59390d:	0f 8c bf 00 00 00    	jl     0x5939d2
593913:	3d 00 00 01 00       	cmp    $0x10000,%eax
593918:	0f 84 b4 00 00 00    	je     0x5939d2
59391e:	8b 7c 24 10          	mov    0x10(%esp),%edi
593922:	6a 40                	push   $0x40
593924:	6a 20                	push   $0x20
593926:	57                   	push   %edi
593927:	e8 44 f3 03 00       	call   0x5d2c70
59392c:	8b 46 40             	mov    0x40(%esi),%eax
59392f:	83 c4 0c             	add    $0xc,%esp
593932:	83 f8 27             	cmp    $0x27,%eax
593935:	74 1d                	je     0x593954
593937:	83 f8 28             	cmp    $0x28,%eax
59393a:	74 18                	je     0x593954
59393c:	b9 dc 6f 66 00       	mov    $0x666fdc,%ecx
593941:	8b d7                	mov    %edi,%edx
593943:	2b d1                	sub    %ecx,%edx
593945:	8a 01                	mov    (%ecx),%al
593947:	8d 49 01             	lea    0x1(%ecx),%ecx
59394a:	88 44 0a 3f          	mov    %al,0x3f(%edx,%ecx,1)
59394e:	84 c0                	test   %al,%al
593950:	75 f3                	jne    0x593945
593952:	eb 19                	jmp    0x59396d
593954:	b9 b8 6f 66 00       	mov    $0x666fb8,%ecx
593959:	8b d7                	mov    %edi,%edx
59395b:	2b d1                	sub    %ecx,%edx
59395d:	0f 1f 00             	nopl   (%eax)
593960:	8a 01                	mov    (%ecx),%al
593962:	8d 49 01             	lea    0x1(%ecx),%ecx
593965:	88 44 0a 3f          	mov    %al,0x3f(%edx,%ecx,1)
593969:	84 c0                	test   %al,%al
59396b:	75 f3                	jne    0x593960
59396d:	8b 46 40             	mov    0x40(%esi),%eax
593970:	83 f8 27             	cmp    $0x27,%eax
593973:	74 27                	je     0x59399c
593975:	83 f8 1d             	cmp    $0x1d,%eax
593978:	74 22                	je     0x59399c
59397a:	8d 44 24 0c          	lea    0xc(%esp),%eax
59397e:	50                   	push   %eax
59397f:	6a 40                	push   $0x40
593981:	8d 47 62             	lea    0x62(%edi),%eax
593984:	50                   	push   %eax
593985:	56                   	push   %esi
593986:	e8 55 69 ff ff       	call   0x58a2e0
59398b:	83 c4 10             	add    $0x10,%esp
59398e:	85 c0                	test   %eax,%eax
593990:	0f 84 77 00 00 00    	je     0x593a0d
593996:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
59399a:	eb 1f                	jmp    0x5939bb
59399c:	ff b6 48 04 00 00    	push   0x448(%esi)
5939a2:	8d 86 08 04 00 00    	lea    0x408(%esi),%eax
5939a8:	50                   	push   %eax
5939a9:	8d 47 62             	lea    0x62(%edi),%eax
5939ac:	50                   	push   %eax
5939ad:	e8 1e f4 03 00       	call   0x5d2dd0
5939b2:	8b 8e 48 04 00 00    	mov    0x448(%esi),%ecx
5939b8:	83 c4 0c             	add    $0xc,%esp
5939bb:	8b 44 24 14          	mov    0x14(%esp),%eax
5939bf:	83 c1 62             	add    $0x62,%ecx
5939c2:	89 38                	mov    %edi,(%eax)
5939c4:	8b 44 24 18          	mov    0x18(%esp),%eax
5939c8:	5f                   	pop    %edi
5939c9:	5e                   	pop    %esi
5939ca:	89 08                	mov    %ecx,(%eax)
5939cc:	b8 01 00 00 00       	mov    $0x1,%eax
5939d1:	c3                   	ret
5939d2:	ff 74 24 14          	push   0x14(%esp)
5939d6:	8b 46 7c             	mov    0x7c(%esi),%eax
5939d9:	6a 00                	push   $0x0
5939db:	6a 03                	push   $0x3
5939dd:	ff b0 d4 00 00 00    	push   0xd4(%eax)
5939e3:	e8 48 51 f6 ff       	call   0x4f8b30
5939e8:	8b c8                	mov    %eax,%ecx
5939ea:	83 c4 10             	add    $0x10,%esp
5939ed:	85 c9                	test   %ecx,%ecx
5939ef:	7f d3                	jg     0x5939c4
5939f1:	68 dd 00 00 00       	push   $0xdd
5939f6:	68 e0 71 66 00       	push   $0x6671e0
5939fb:	6a 44                	push   $0x44
5939fd:	68 4c 02 00 00       	push   $0x24c
593a02:	6a 50                	push   $0x50
593a04:	56                   	push   %esi
593a05:	e8 06 b7 ff ff       	call   0x58f110
593a0a:	83 c4 18             	add    $0x18,%esp
593a0d:	5f                   	pop    %edi
593a0e:	33 c0                	xor    %eax,%eax
593a10:	5e                   	pop    %esi
593a11:	c3                   	ret
593a12:	cc                   	int3
593a13:	cc                   	int3
593a14:	cc                   	int3
593a15:	cc                   	int3
593a16:	cc                   	int3
593a17:	cc                   	int3
593a18:	cc                   	int3
593a19:	cc                   	int3
593a1a:	cc                   	int3
593a1b:	cc                   	int3
593a1c:	cc                   	int3
593a1d:	cc                   	int3
593a1e:	cc                   	int3
593a1f:	cc                   	int3
593a20:	b8 10 00 00 00       	mov    $0x10,%eax
593a25:	e8 86 dd 03 00       	call   0x5d17b0
593a2a:	53                   	push   %ebx
593a2b:	55                   	push   %ebp
593a2c:	56                   	push   %esi
593a2d:	57                   	push   %edi
593a2e:	68 f0 34 59 00       	push   $0x5934f0
593a33:	e8 b8 15 f5 ff       	call   0x4e4ff0
593a38:	83 c4 04             	add    $0x4,%esp
593a3b:	89 44 24 10          	mov    %eax,0x10(%esp)
593a3f:	33 ed                	xor    %ebp,%ebp
593a41:	85 c0                	test   %eax,%eax
593a43:	75 18                	jne    0x593a5d
593a45:	68 cc 08 00 00       	push   $0x8cc
593a4a:	68 e0 71 66 00       	push   $0x6671e0
593a4f:	6a 41                	push   $0x41
593a51:	68 1d 02 00 00       	push   $0x21d
593a56:	6a 50                	push   $0x50
593a58:	e9 44 01 00 00       	jmp    0x593ba1
593a5d:	8b 4c 24 28          	mov    0x28(%esp),%ecx
593a61:	8b 51 04             	mov    0x4(%ecx),%edx
593a64:	8b 19                	mov    (%ecx),%ebx
593a66:	83 fa 02             	cmp    $0x2,%edx
593a69:	0f 82 1c 01 00 00    	jb     0x593b8b
593a6f:	0f b6 3b             	movzbl (%ebx),%edi
593a72:	83 c2 fe             	add    $0xfffffffe,%edx
593a75:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
593a79:	83 c3 02             	add    $0x2,%ebx
593a7c:	c1 e7 08             	shl    $0x8,%edi
593a7f:	0b f8                	or     %eax,%edi
593a81:	3b d7                	cmp    %edi,%edx
593a83:	0f 82 02 01 00 00    	jb     0x593b8b
593a89:	2b d7                	sub    %edi,%edx
593a8b:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
593a8e:	89 01                	mov    %eax,(%ecx)
593a90:	89 51 04             	mov    %edx,0x4(%ecx)
593a93:	85 ff                	test   %edi,%edi
593a95:	74 66                	je     0x593afd
593a97:	83 ff 02             	cmp    $0x2,%edi
593a9a:	0f 82 c5 00 00 00    	jb     0x593b65
593aa0:	0f b6 33             	movzbl (%ebx),%esi
593aa3:	83 ef 02             	sub    $0x2,%edi
593aa6:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
593aaa:	83 c3 02             	add    $0x2,%ebx
593aad:	c1 e6 08             	shl    $0x8,%esi
593ab0:	0b f0                	or     %eax,%esi
593ab2:	89 5c 24 18          	mov    %ebx,0x18(%esp)
593ab6:	3b fe                	cmp    %esi,%edi
593ab8:	0f 82 a7 00 00 00    	jb     0x593b65
593abe:	56                   	push   %esi
593abf:	8d 44 24 18          	lea    0x18(%esp),%eax
593ac3:	89 5c 24 18          	mov    %ebx,0x18(%esp)
593ac7:	50                   	push   %eax
593ac8:	6a 00                	push   $0x0
593aca:	03 de                	add    %esi,%ebx
593acc:	2b fe                	sub    %esi,%edi
593ace:	e8 1d 82 fc ff       	call   0x55bcf0
593ad3:	8b e8                	mov    %eax,%ebp
593ad5:	83 c4 0c             	add    $0xc,%esp
593ad8:	85 ed                	test   %ebp,%ebp
593ada:	74 7b                	je     0x593b57
593adc:	8b 4c 24 18          	mov    0x18(%esp),%ecx
593ae0:	03 ce                	add    %esi,%ecx
593ae2:	39 4c 24 14          	cmp    %ecx,0x14(%esp)
593ae6:	75 5e                	jne    0x593b46
593ae8:	55                   	push   %ebp
593ae9:	ff 74 24 14          	push   0x14(%esp)
593aed:	e8 5e 16 f5 ff       	call   0x4e5150
593af2:	83 c4 08             	add    $0x8,%esp
593af5:	85 c0                	test   %eax,%eax
593af7:	74 38                	je     0x593b31
593af9:	85 ff                	test   %edi,%edi
593afb:	75 9a                	jne    0x593a97
593afd:	8b 74 24 24          	mov    0x24(%esp),%esi
593b01:	68 50 bb 55 00       	push   $0x55bb50
593b06:	8b 46 7c             	mov    0x7c(%esi),%eax
593b09:	ff b0 24 02 00 00    	push   0x224(%eax)
593b0f:	e8 dc 15 f5 ff       	call   0x4e50f0
593b14:	8b 46 7c             	mov    0x7c(%esi),%eax
593b17:	83 c4 08             	add    $0x8,%esp
593b1a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
593b1e:	5f                   	pop    %edi
593b1f:	5e                   	pop    %esi
593b20:	5d                   	pop    %ebp
593b21:	89 88 24 02 00 00    	mov    %ecx,0x224(%eax)
593b27:	b8 01 00 00 00       	mov    $0x1,%eax
593b2c:	5b                   	pop    %ebx
593b2d:	83 c4 10             	add    $0x10,%esp
593b30:	c3                   	ret
593b31:	68 ef 08 00 00       	push   $0x8ef
593b36:	68 e0 71 66 00       	push   $0x6671e0
593b3b:	6a 41                	push   $0x41
593b3d:	68 1d 02 00 00       	push   $0x21d
593b42:	6a 50                	push   $0x50
593b44:	eb 5b                	jmp    0x593ba1
593b46:	68 e9 08 00 00       	push   $0x8e9
593b4b:	68 e0 71 66 00       	push   $0x6671e0
593b50:	68 83 00 00 00       	push   $0x83
593b55:	eb 43                	jmp    0x593b9a
593b57:	68 e4 08 00 00       	push   $0x8e4
593b5c:	68 e0 71 66 00       	push   $0x6671e0
593b61:	6a 0d                	push   $0xd
593b63:	eb 35                	jmp    0x593b9a
593b65:	68 dd 08 00 00       	push   $0x8dd
593b6a:	68 e0 71 66 00       	push   $0x6671e0
593b6f:	68 9f 00 00 00       	push   $0x9f
593b74:	68 1d 02 00 00       	push   $0x21d
593b79:	6a 32                	push   $0x32
593b7b:	ff 74 24 38          	push   0x38(%esp)
593b7f:	e8 8c b5 ff ff       	call   0x58f110
593b84:	83 c4 18             	add    $0x18,%esp
593b87:	33 ed                	xor    %ebp,%ebp
593b89:	eb 22                	jmp    0x593bad
593b8b:	68 d2 08 00 00       	push   $0x8d2
593b90:	68 e0 71 66 00       	push   $0x6671e0
593b95:	68 9f 00 00 00       	push   $0x9f
593b9a:	68 1d 02 00 00       	push   $0x21d
593b9f:	6a 32                	push   $0x32
593ba1:	ff 74 24 38          	push   0x38(%esp)
593ba5:	e8 66 b5 ff ff       	call   0x58f110