5946e3:	74 42                	je     0x594727
5946e5:	f6 c1 01             	test   $0x1,%cl
5946e8:	74 0b                	je     0x5946f5
5946ea:	0f b6 c1             	movzbl %cl,%eax
5946ed:	c1 e8 04             	shr    $0x4,%eax
5946f0:	83 e0 01             	and    $0x1,%eax
5946f3:	5e                   	pop    %esi
5946f4:	c3                   	ret
5946f5:	8b c1                	mov    %ecx,%eax
5946f7:	25 40 20 00 00       	and    $0x2040,%eax
5946fc:	3d 40 20 00 00       	cmp    $0x2040,%eax
594701:	75 07                	jne    0x59470a
594703:	b8 03 00 00 00       	mov    $0x3,%eax
594708:	5e                   	pop    %esi
594709:	c3                   	ret
59470a:	85 f6                	test   %esi,%esi
59470c:	74 07                	je     0x594715
59470e:	b8 04 00 00 00       	mov    $0x4,%eax
594713:	5e                   	pop    %esi
594714:	c3                   	ret
594715:	f6 c1 08             	test   $0x8,%cl
594718:	74 0d                	je     0x594727
59471a:	f6 42 34 07          	testb  $0x7,0x34(%edx)
59471e:	74 07                	je     0x594727
594720:	b8 05 00 00 00       	mov    $0x5,%eax
594725:	5e                   	pop    %esi
594726:	c3                   	ret
594727:	33 c0                	xor    %eax,%eax
594729:	5e                   	pop    %esi
59472a:	c3                   	ret
59472b:	cc                   	int3
59472c:	cc                   	int3
59472d:	cc                   	int3
59472e:	cc                   	int3
59472f:	cc                   	int3
594730:	53                   	push   %ebx
594731:	55                   	push   %ebp
594732:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
594736:	6a 00                	push   $0x0
594738:	6a 00                	push   $0x0
59473a:	6a 67                	push   $0x67
59473c:	55                   	push   %ebp
59473d:	e8 2e 96 ff ff       	call   0x58dd70
594742:	50                   	push   %eax
594743:	89 45 44             	mov    %eax,0x44(%ebp)
594746:	33 db                	xor    %ebx,%ebx
594748:	e8 c3 9e f1 ff       	call   0x4ae610
59474d:	83 c4 14             	add    $0x14,%esp
594750:	85 c0                	test   %eax,%eax
594752:	0f 8e bd 00 00 00    	jle    0x594815
594758:	56                   	push   %esi
594759:	57                   	push   %edi
59475a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
594760:	53                   	push   %ebx
594761:	ff 75 44             	push   0x44(%ebp)
594764:	e8 c7 9f f1 ff       	call   0x4ae730
594769:	8b f0                	mov    %eax,%esi
59476b:	83 c4 08             	add    $0x8,%esp
59476e:	8b 4e 04             	mov    0x4(%esi),%ecx
594771:	85 c9                	test   %ecx,%ecx
594773:	74 29                	je     0x59479e
594775:	83 39 00             	cmpl   $0x0,(%ecx)
594778:	7e 09                	jle    0x594783
59477a:	8b 41 08             	mov    0x8(%ecx),%eax
59477d:	0f b6 00             	movzbl (%eax),%eax
594780:	89 46 0c             	mov    %eax,0xc(%esi)
594783:	83 39 01             	cmpl   $0x1,(%ecx)
594786:	7e 0d                	jle    0x594795
594788:	8b 41 08             	mov    0x8(%ecx),%eax
59478b:	0f b6 40 01          	movzbl 0x1(%eax),%eax
59478f:	c1 e0 08             	shl    $0x8,%eax
594792:	09 46 0c             	or     %eax,0xc(%esi)
594795:	81 66 0c 7f 80 00 00 	andl   $0x807f,0xc(%esi)
59479c:	eb 07                	jmp    0x5947a5
59479e:	c7 46 0c 7f 80 00 00 	movl   $0x807f,0xc(%esi)
5947a5:	8b 06                	mov    (%esi),%eax
5947a7:	85 c0                	test   %eax,%eax
5947a9:	74 54                	je     0x5947ff
5947ab:	83 38 01             	cmpl   $0x1,(%eax)
5947ae:	75 4f                	jne    0x5947ff
5947b0:	ff 76 08             	push   0x8(%esi)
5947b3:	33 ff                	xor    %edi,%edi
5947b5:	e8 56 9e f1 ff       	call   0x4ae610
5947ba:	83 c4 04             	add    $0x4,%esp
5947bd:	85 c0                	test   %eax,%eax
5947bf:	7e 2a                	jle    0x5947eb
5947c1:	57                   	push   %edi
5947c2:	ff 76 08             	push   0x8(%esi)
5947c5:	e8 66 9f f1 ff       	call   0x4ae730
5947ca:	83 c4 08             	add    $0x8,%esp
5947cd:	83 38 04             	cmpl   $0x4,(%eax)
5947d0:	74 12                	je     0x5947e4
5947d2:	ff 76 08             	push   0x8(%esi)
5947d5:	47                   	inc    %edi
5947d6:	e8 35 9e f1 ff       	call   0x4ae610
5947db:	83 c4 04             	add    $0x4,%esp
5947de:	3b f8                	cmp    %eax,%edi
5947e0:	7c df                	jl     0x5947c1
5947e2:	eb 07                	jmp    0x5947eb
5947e4:	8b 40 04             	mov    0x4(%eax),%eax
5947e7:	85 c0                	test   %eax,%eax
5947e9:	75 09                	jne    0x5947f4
5947eb:	55                   	push   %ebp
5947ec:	e8 4f c8 ef ff       	call   0x491040
5947f1:	83 c4 04             	add    $0x4,%esp
5947f4:	50                   	push   %eax
5947f5:	ff 36                	push   (%esi)
5947f7:	e8 f4 56 00 00       	call   0x599ef0
5947fc:	83 c4 08             	add    $0x8,%esp
5947ff:	ff 75 44             	push   0x44(%ebp)
594802:	43                   	inc    %ebx
594803:	e8 08 9e f1 ff       	call   0x4ae610
594808:	83 c4 04             	add    $0x4,%esp
59480b:	3b d8                	cmp    %eax,%ebx
59480d:	0f 8c 4d ff ff ff    	jl     0x594760
594813:	5f                   	pop    %edi
594814:	5e                   	pop    %esi
594815:	5d                   	pop    %ebp
594816:	5b                   	pop    %ebx
594817:	c3                   	ret
594818:	cc                   	int3
594819:	cc                   	int3
59481a:	cc                   	int3
59481b:	cc                   	int3
59481c:	cc                   	int3
59481d:	cc                   	int3
59481e:	cc                   	int3
59481f:	cc                   	int3
594820:	b8 04 00 00 00       	mov    $0x4,%eax
594825:	e8 c6 cc 04 00       	call   0x5e14f0
59482a:	56                   	push   %esi
59482b:	8b 74 24 0c          	mov    0xc(%esp),%esi
59482f:	f7 46 28 00 01 00 00 	testl  $0x100,0x28(%esi)
594836:	0f 85 bc 03 00 00    	jne    0x594bf8
59483c:	8d 46 50             	lea    0x50(%esi),%eax
59483f:	6a 00                	push   $0x0
594841:	50                   	push   %eax
594842:	e8 99 cf f1 ff       	call   0x4b17e0
594847:	50                   	push   %eax
594848:	56                   	push   %esi
594849:	e8 b2 1d 00 00       	call   0x596600
59484e:	8b 06                	mov    (%esi),%eax
594850:	ff 30                	push   (%eax)
594852:	e8 29 f6 f1 ff       	call   0x4b3e80
594857:	83 c4 14             	add    $0x14,%esp
59485a:	85 c0                	test   %eax,%eax
59485c:	75 04                	jne    0x594862
59485e:	83 4e 28 40          	orl    $0x40,0x28(%esi)
594862:	57                   	push   %edi
594863:	6a 00                	push   $0x0
594865:	6a 00                	push   $0x0
594867:	6a 57                	push   $0x57
594869:	56                   	push   %esi
59486a:	e8 01 95 ff ff       	call   0x58dd70
59486f:	8b f8                	mov    %eax,%edi
594871:	83 c4 10             	add    $0x10,%esp
594874:	85 ff                	test   %edi,%edi
594876:	74 50                	je     0x5948c8
594878:	83 3f 00             	cmpl   $0x0,(%edi)
59487b:	74 04                	je     0x594881
59487d:	83 4e 28 10          	orl    $0x10,0x28(%esi)
594881:	8b 47 04             	mov    0x4(%edi),%eax
594884:	85 c0                	test   %eax,%eax
594886:	74 2c                	je     0x5948b4
594888:	81 78 04 02 01 00 00 	cmpl   $0x102,0x4(%eax)
59488f:	74 13                	je     0x5948a4
594891:	83 3f 00             	cmpl   $0x0,(%edi)
594894:	74 0e                	je     0x5948a4
594896:	50                   	push   %eax
594897:	e8 e4 f5 f1 ff       	call   0x4b3e80
59489c:	83 c4 04             	add    $0x4,%esp
59489f:	89 46 20             	mov    %eax,0x20(%esi)
5948a2:	eb 17                	jmp    0x5948bb
5948a4:	81 4e 28 80 00 00 00 	orl    $0x80,0x28(%esi)
5948ab:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
5948b2:	eb 07                	jmp    0x5948bb
5948b4:	c7 46 20 ff ff ff ff 	movl   $0xffffffff,0x20(%esi)
5948bb:	57                   	push   %edi
5948bc:	e8 8f 31 00 00       	call   0x597a50
5948c1:	83 c4 04             	add    $0x4,%esp
5948c4:	83 4e 28 01          	orl    $0x1,0x28(%esi)
5948c8:	6a 00                	push   $0x0
5948ca:	6a 00                	push   $0x0
5948cc:	68 97 02 00 00       	push   $0x297
5948d1:	56                   	push   %esi
5948d2:	e8 99 94 ff ff       	call   0x58dd70
5948d7:	8b f8                	mov    %eax,%edi
5948d9:	83 c4 10             	add    $0x10,%esp
5948dc:	85 ff                	test   %edi,%edi
5948de:	74 5a                	je     0x59493a
5948e0:	f6 46 28 10          	testb  $0x10,0x28(%esi)
5948e4:	75 22                	jne    0x594908
5948e6:	6a ff                	push   $0xffffffff
5948e8:	6a 55                	push   $0x55
5948ea:	56                   	push   %esi
5948eb:	e8 40 94 ff ff       	call   0x58dd30
5948f0:	83 c4 0c             	add    $0xc,%esp
5948f3:	85 c0                	test   %eax,%eax
5948f5:	79 11                	jns    0x594908
5948f7:	6a ff                	push   $0xffffffff
5948f9:	6a 56                	push   $0x56
5948fb:	56                   	push   %esi
5948fc:	e8 2f 94 ff ff       	call   0x58dd30
594901:	83 c4 0c             	add    $0xc,%esp
594904:	85 c0                	test   %eax,%eax
594906:	78 07                	js     0x59490f
594908:	81 4e 28 80 00 00 00 	orl    $0x80,0x28(%esi)
59490f:	8b 07                	mov    (%edi),%eax
594911:	85 c0                	test   %eax,%eax
594913:	74 0e                	je     0x594923
594915:	50                   	push   %eax
594916:	e8 65 f5 f1 ff       	call   0x4b3e80
59491b:	83 c4 04             	add    $0x4,%esp
59491e:	89 46 24             	mov    %eax,0x24(%esi)
594921:	eb 07                	jmp    0x59492a
594923:	c7 46 24 ff ff ff ff 	movl   $0xffffffff,0x24(%esi)
59492a:	57                   	push   %edi
59492b:	e8 40 c4 00 00       	call   0x5a0d70
594930:	83 c4 04             	add    $0x4,%esp
594933:	81 4e 28 00 04 00 00 	orl    $0x400,0x28(%esi)
59493a:	6a 00                	push   $0x0
59493c:	6a 00                	push   $0x0
59493e:	6a 53                	push   $0x53
594940:	56                   	push   %esi
594941:	e8 2a 94 ff ff       	call   0x58dd70
594946:	8b d0                	mov    %eax,%edx
594948:	83 c4 10             	add    $0x10,%esp
59494b:	85 d2                	test   %edx,%edx
59494d:	74 38                	je     0x594987
59494f:	83 3a 00             	cmpl   $0x0,(%edx)
594952:	7e 1f                	jle    0x594973
594954:	8b 4a 08             	mov    0x8(%edx),%ecx
594957:	0f b6 09             	movzbl (%ecx),%ecx
59495a:	89 4e 2c             	mov    %ecx,0x2c(%esi)
59495d:	83 3a 01             	cmpl   $0x1,(%edx)
594960:	7e 18                	jle    0x59497a
594962:	8b 42 08             	mov    0x8(%edx),%eax
594965:	0f b6 40 01          	movzbl 0x1(%eax),%eax
594969:	c1 e0 08             	shl    $0x8,%eax
59496c:	0b c1                	or     %ecx,%eax
59496e:	89 46 2c             	mov    %eax,0x2c(%esi)
594971:	eb 07                	jmp    0x59497a
594973:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
59497a:	83 4e 28 02          	orl    $0x2,0x28(%esi)
59497e:	52                   	push   %edx
59497f:	e8 7c f1 f1 ff       	call   0x4b3b00
594984:	83 c4 04             	add    $0x4,%esp
594987:	6a 00                	push   $0x0
594989:	6a 00                	push   $0x0
59498b:	6a 7e                	push   $0x7e
59498d:	56                   	push   %esi
59498e:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
594995:	e8 d6 93 ff ff       	call   0x58dd70
59499a:	8b f8                	mov    %eax,%edi
59499c:	83 c4 10             	add    $0x10,%esp
59499f:	85 ff                	test   %edi,%edi
5949a1:	0f 84 ba 00 00 00    	je     0x594a61
5949a7:	83 4e 28 04          	orl    $0x4,0x28(%esi)
5949ab:	57                   	push   %edi
5949ac:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
5949b3:	00
5949b4:	e8 57 9c f1 ff       	call   0x4ae610
5949b9:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5949bd:	83 c4 04             	add    $0x4,%esp
5949c0:	3b c8                	cmp    %eax,%ecx
5949c2:	0f 8d 8b 00 00 00    	jge    0x594a53
5949c8:	51                   	push   %ecx
5949c9:	57                   	push   %edi
5949ca:	e8 61 9d f1 ff       	call   0x4ae730
5949cf:	50                   	push   %eax
5949d0:	e8 0b 30 f1 ff       	call   0x4a79e0
5949d5:	83 c4 0c             	add    $0xc,%esp
5949d8:	3d b4 00 00 00       	cmp    $0xb4,%eax
5949dd:	7f 3d                	jg     0x594a1c
5949df:	74 35                	je     0x594a16
5949e1:	2d 81 00 00 00       	sub    $0x81,%eax
5949e6:	83 f8 0a             	cmp    $0xa,%eax
5949e9:	77 4f                	ja     0x594a3a
5949eb:	ff 24 85 fc 4b 59 00 	jmp    *0x594bfc(,%eax,4)
5949f2:	83 4e 30 01          	orl    $0x1,0x30(%esi)
5949f6:	eb 42                	jmp    0x594a3a
5949f8:	83 4e 30 02          	orl    $0x2,0x30(%esi)
5949fc:	eb 3c                	jmp    0x594a3a
5949fe:	83 4e 30 04          	orl    $0x4,0x30(%esi)
594a02:	eb 36                	jmp    0x594a3a
594a04:	83 4e 30 08          	orl    $0x8,0x30(%esi)
594a08:	eb 30                	jmp    0x594a3a
594a0a:	83 4e 30 10          	orl    $0x10,0x30(%esi)
594a0e:	eb 2a                	jmp    0x594a3a
594a10:	83 4e 30 40          	orl    $0x40,0x30(%esi)
594a14:	eb 24                	jmp    0x594a3a
594a16:	83 4e 30 20          	orl    $0x20,0x30(%esi)
594a1a:	eb 1e                	jmp    0x594a3a
594a1c:	3d 29 01 00 00       	cmp    $0x129,%eax
594a21:	74 10                	je     0x594a33
594a23:	3d 8e 03 00 00       	cmp    $0x38e,%eax
594a28:	75 10                	jne    0x594a3a
594a2a:	81 4e 30 00 01 00 00 	orl    $0x100,0x30(%esi)
594a31:	eb 07                	jmp    0x594a3a
594a33:	81 4e 30 80 00 00 00 	orl    $0x80,0x30(%esi)
594a3a:	ff 44 24 10          	incl   0x10(%esp)
594a3e:	57                   	push   %edi
594a3f:	e8 cc 9b f1 ff       	call   0x4ae610
594a44:	8b 4c 24 14          	mov    0x14(%esp),%ecx
594a48:	83 c4 04             	add    $0x4,%esp
594a4b:	3b c8                	cmp    %eax,%ecx
594a4d:	0f 8c 75 ff ff ff    	jl     0x5949c8
594a53:	68 00 6e 4a 00       	push   $0x4a6e00
594a58:	57                   	push   %edi
594a59:	e8 e2 9b f1 ff       	call   0x4ae640
594a5e:	83 c4 08             	add    $0x8,%esp
594a61:	6a 00                	push   $0x0
594a63:	6a 00                	push   $0x0
594a65:	6a 47                	push   $0x47
594a67:	56                   	push   %esi
594a68:	e8 03 93 ff ff       	call   0x58dd70
594a6d:	83 c4 10             	add    $0x10,%esp
594a70:	85 c0                	test   %eax,%eax
594a72:	74 24                	je     0x594a98
594a74:	83 38 00             	cmpl   $0x0,(%eax)
594a77:	7e 0b                	jle    0x594a84
594a79:	8b 48 08             	mov    0x8(%eax),%ecx
594a7c:	0f b6 09             	movzbl (%ecx),%ecx
594a7f:	89 4e 34             	mov    %ecx,0x34(%esi)
594a82:	eb 07                	jmp    0x594a8b
594a84:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
594a8b:	83 4e 28 08          	orl    $0x8,0x28(%esi)
594a8f:	50                   	push   %eax
594a90:	e8 6b f0 f1 ff       	call   0x4b3b00
594a95:	83 c4 04             	add    $0x4,%esp
594a98:	6a 00                	push   $0x0
594a9a:	6a 00                	push   $0x0
594a9c:	6a 52                	push   $0x52
594a9e:	56                   	push   %esi
594a9f:	e8 cc 92 ff ff       	call   0x58dd70
594aa4:	6a 00                	push   $0x0
594aa6:	6a 00                	push   $0x0
594aa8:	6a 5a                	push   $0x5a
594aaa:	56                   	push   %esi
594aab:	89 46 38             	mov    %eax,0x38(%esi)
594aae:	e8 bd 92 ff ff       	call   0x58dd70
594ab3:	56                   	push   %esi
594ab4:	89 46 3c             	mov    %eax,0x3c(%esi)
594ab7:	e8 84 c5 ef ff       	call   0x491040
594abc:	83 c4 24             	add    $0x24,%esp
594abf:	50                   	push   %eax
594ac0:	56                   	push   %esi
594ac1:	e8 3a 8d ff ff       	call   0x58d800
594ac6:	83 c4 04             	add    $0x4,%esp
594ac9:	50                   	push   %eax