5907ce:	8b f7                	mov    %edi,%esi
5907d0:	5f                   	pop    %edi
5907d1:	8b c6                	mov    %esi,%eax
5907d3:	5e                   	pop    %esi
5907d4:	c3                   	ret
5907d5:	cc                   	int3
5907d6:	cc                   	int3
5907d7:	cc                   	int3
5907d8:	cc                   	int3
5907d9:	cc                   	int3
5907da:	cc                   	int3
5907db:	cc                   	int3
5907dc:	cc                   	int3
5907dd:	cc                   	int3
5907de:	cc                   	int3
5907df:	cc                   	int3
5907e0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
5907e5:	75 03                	jne    0x5907ea
5907e7:	33 c0                	xor    %eax,%eax
5907e9:	c3                   	ret
5907ea:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5907f1:	00
5907f2:	e9 a9 fe ff ff       	jmp    0x5906a0
5907f7:	cc                   	int3
5907f8:	cc                   	int3
5907f9:	cc                   	int3
5907fa:	cc                   	int3
5907fb:	cc                   	int3
5907fc:	cc                   	int3
5907fd:	cc                   	int3
5907fe:	cc                   	int3
5907ff:	cc                   	int3
590800:	56                   	push   %esi
590801:	8b 74 24 08          	mov    0x8(%esp),%esi
590805:	8b 46 04             	mov    0x4(%esi),%eax
590808:	85 c0                	test   %eax,%eax
59080a:	74 09                	je     0x590815
59080c:	50                   	push   %eax
59080d:	e8 7e 0e f1 ff       	call   0x4a1690
590812:	83 c4 04             	add    $0x4,%esp
590815:	8d 46 10             	lea    0x10(%esi),%eax
590818:	50                   	push   %eax
590819:	56                   	push   %esi
59081a:	6a 0d                	push   $0xd
59081c:	e8 1f 65 f3 ff       	call   0x4c6d40
590821:	6a 18                	push   $0x18
590823:	56                   	push   %esi
590824:	e8 27 fb f0 ff       	call   0x4a0350
590829:	56                   	push   %esi
59082a:	e8 01 f9 f0 ff       	call   0x4a0130
59082f:	83 c4 18             	add    $0x18,%esp
590832:	5e                   	pop    %esi
590833:	c3                   	ret
590834:	cc                   	int3
590835:	cc                   	int3
590836:	cc                   	int3
590837:	cc                   	int3
590838:	cc                   	int3
590839:	cc                   	int3
59083a:	cc                   	int3
59083b:	cc                   	int3
59083c:	cc                   	int3
59083d:	cc                   	int3
59083e:	cc                   	int3
59083f:	cc                   	int3
590840:	b8 68 00 00 00       	mov    $0x68,%eax
590845:	e8 a6 0c 05 00       	call   0x5e14f0
59084a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
59084f:	33 c4                	xor    %esp,%eax
590851:	89 44 24 64          	mov    %eax,0x64(%esp)
590855:	8b 44 24 6c          	mov    0x6c(%esp),%eax
590859:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
590860:	55                   	push   %ebp
590861:	8b 6c 24 74          	mov    0x74(%esp),%ebp
590865:	57                   	push   %edi
590866:	8b bc 24 84 00 00 00 	mov    0x84(%esp),%edi
59086d:	89 44 24 18          	mov    %eax,0x18(%esp)
590871:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
590878:	89 4c 24 08          	mov    %ecx,0x8(%esp)
59087c:	85 ff                	test   %edi,%edi
59087e:	0f 84 94 01 00 00    	je     0x590a18
590884:	85 c0                	test   %eax,%eax
590886:	0f 84 77 01 00 00    	je     0x590a03
59088c:	83 38 10             	cmpl   $0x10,(%eax)
59088f:	0f 85 6e 01 00 00    	jne    0x590a03
590895:	8b 48 04             	mov    0x4(%eax),%ecx
590898:	85 c9                	test   %ecx,%ecx
59089a:	0f 84 63 01 00 00    	je     0x590a03
5908a0:	8b 41 08             	mov    0x8(%ecx),%eax
5908a3:	56                   	push   %esi
5908a4:	89 44 24 18          	mov    %eax,0x18(%esp)
5908a8:	8d 44 24 18          	lea    0x18(%esp),%eax
5908ac:	ff 31                	push   (%ecx)
5908ae:	50                   	push   %eax
5908af:	6a 00                	push   $0x0
5908b1:	e8 8a ce 00 00       	call   0x59d740
5908b6:	8b f0                	mov    %eax,%esi
5908b8:	83 c4 0c             	add    $0xc,%esp
5908bb:	85 f6                	test   %esi,%esi
5908bd:	75 29                	jne    0x5908e8
5908bf:	6a 5c                	push   $0x5c
5908c1:	68 3c 71 6c 00       	push   $0x6c713c
5908c6:	6a 65                	push   $0x65
5908c8:	6a 78                	push   $0x78
5908ca:	6a 23                	push   $0x23
5908cc:	e8 cf 0b f1 ff       	call   0x4a14a0
5908d1:	83 c4 14             	add    $0x14,%esp
5908d4:	33 c0                	xor    %eax,%eax
5908d6:	5e                   	pop    %esi
5908d7:	5f                   	pop    %edi
5908d8:	5d                   	pop    %ebp
5908d9:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5908dd:	33 cc                	xor    %esp,%ecx
5908df:	e8 f6 0b 05 00       	call   0x5e14da
5908e4:	83 c4 68             	add    $0x68,%esp
5908e7:	c3                   	ret
5908e8:	8b 46 04             	mov    0x4(%esi),%eax
5908eb:	53                   	push   %ebx
5908ec:	85 c0                	test   %eax,%eax
5908ee:	75 05                	jne    0x5908f5
5908f0:	8d 58 01             	lea    0x1(%eax),%ebx
5908f3:	eb 0b                	jmp    0x590900
5908f5:	50                   	push   %eax
5908f6:	e8 85 35 f2 ff       	call   0x4b3e80
5908fb:	83 c4 04             	add    $0x4,%esp
5908fe:	8b d8                	mov    %eax,%ebx
590900:	8b 0e                	mov    (%esi),%ecx
590902:	ff 74 24 10          	push   0x10(%esp)
590906:	8b 41 08             	mov    0x8(%ecx),%eax
590909:	89 44 24 1c          	mov    %eax,0x1c(%esp)
59090d:	8b 01                	mov    (%ecx),%eax
59090f:	89 44 24 18          	mov    %eax,0x18(%esp)
590913:	8d 44 24 38          	lea    0x38(%esp),%eax
590917:	50                   	push   %eax
590918:	57                   	push   %edi
590919:	e8 42 08 f0 ff       	call   0x491160
59091e:	83 c4 04             	add    $0x4,%esp
590921:	50                   	push   %eax
590922:	53                   	push   %ebx
590923:	6a 01                	push   $0x1
590925:	ff 74 24 28          	push   0x28(%esp)
590929:	ff 74 24 30          	push   0x30(%esp)
59092d:	ff b4 24 a0 00 00 00 	push   0xa0(%esp)
590934:	55                   	push   %ebp
590935:	e8 26 ce 00 00       	call   0x59d760
59093a:	83 c4 24             	add    $0x24,%esp
59093d:	85 c0                	test   %eax,%eax
59093f:	75 30                	jne    0x590971
590941:	6a 68                	push   $0x68
590943:	68 3c 71 6c 00       	push   $0x6c713c
590948:	6a 6b                	push   $0x6b
59094a:	6a 78                	push   $0x78
59094c:	6a 23                	push   $0x23
59094e:	e8 4d 0b f1 ff       	call   0x4a14a0
590953:	56                   	push   %esi
590954:	e8 c7 cd 00 00       	call   0x59d720
590959:	83 c4 18             	add    $0x18,%esp
59095c:	33 c0                	xor    %eax,%eax
59095e:	5b                   	pop    %ebx
59095f:	5e                   	pop    %esi
590960:	5f                   	pop    %edi
590961:	5d                   	pop    %ebp
590962:	8b 4c 24 64          	mov    0x64(%esp),%ecx
590966:	33 cc                	xor    %esp,%ecx
590968:	e8 6d 0b 05 00       	call   0x5e14da
59096d:	83 c4 68             	add    $0x68,%esp
590970:	c3                   	ret
590971:	ff 74 24 10          	push   0x10(%esp)
590975:	8d 44 24 28          	lea    0x28(%esp),%eax
590979:	50                   	push   %eax
59097a:	57                   	push   %edi
59097b:	e8 d0 07 f0 ff       	call   0x491150
590980:	83 c4 04             	add    $0x4,%esp
590983:	50                   	push   %eax
590984:	53                   	push   %ebx
590985:	6a 02                	push   $0x2
590987:	ff 74 24 28          	push   0x28(%esp)
59098b:	ff 74 24 30          	push   0x30(%esp)
59098f:	ff b4 24 a0 00 00 00 	push   0xa0(%esp)
590996:	55                   	push   %ebp
590997:	e8 c4 cd 00 00       	call   0x59d760
59099c:	83 c4 24             	add    $0x24,%esp
59099f:	85 c0                	test   %eax,%eax
5909a1:	75 0b                	jne    0x5909ae
5909a3:	6a 6e                	push   $0x6e
5909a5:	68 3c 71 6c 00       	push   $0x6c713c
5909aa:	6a 6a                	push   $0x6a
5909ac:	eb 9c                	jmp    0x59094a
5909ae:	56                   	push   %esi
5909af:	e8 6c cd 00 00       	call   0x59d720
5909b4:	ff b4 24 98 00 00 00 	push   0x98(%esp)
5909bb:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5909bf:	50                   	push   %eax
5909c0:	8d 44 24 40          	lea    0x40(%esp),%eax
5909c4:	50                   	push   %eax
5909c5:	6a 00                	push   $0x0
5909c7:	57                   	push   %edi
5909c8:	ff 74 24 38          	push   0x38(%esp)
5909cc:	e8 8f e8 ef ff       	call   0x48f260
5909d1:	8b f0                	mov    %eax,%esi
5909d3:	8d 44 24 50          	lea    0x50(%esp),%eax
5909d7:	6a 40                	push   $0x40
5909d9:	50                   	push   %eax
5909da:	e8 71 f9 f0 ff       	call   0x4a0350
5909df:	8d 44 24 48          	lea    0x48(%esp),%eax
5909e3:	6a 10                	push   $0x10
5909e5:	50                   	push   %eax
5909e6:	e8 65 f9 f0 ff       	call   0x4a0350
5909eb:	83 c4 2c             	add    $0x2c,%esp
5909ee:	8b c6                	mov    %esi,%eax
5909f0:	5b                   	pop    %ebx
5909f1:	5e                   	pop    %esi
5909f2:	5f                   	pop    %edi
5909f3:	5d                   	pop    %ebp
5909f4:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5909f8:	33 cc                	xor    %esp,%ecx
5909fa:	e8 db 0a 05 00       	call   0x5e14da
5909ff:	83 c4 68             	add    $0x68,%esp
590a02:	c3                   	ret
590a03:	6a 56                	push   $0x56
590a05:	68 3c 71 6c 00       	push   $0x6c713c
590a0a:	6a 65                	push   $0x65
590a0c:	6a 78                	push   $0x78
590a0e:	6a 23                	push   $0x23
590a10:	e8 8b 0a f1 ff       	call   0x4a14a0
590a15:	83 c4 14             	add    $0x14,%esp
590a18:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
590a1c:	33 c0                	xor    %eax,%eax
590a1e:	5f                   	pop    %edi
590a1f:	5d                   	pop    %ebp
590a20:	33 cc                	xor    %esp,%ecx
590a22:	e8 b3 0a 05 00       	call   0x5e14da
590a27:	83 c4 68             	add    $0x68,%esp
590a2a:	c3                   	ret
590a2b:	cc                   	int3
590a2c:	cc                   	int3
590a2d:	cc                   	int3
590a2e:	cc                   	int3
590a2f:	cc                   	int3
590a30:	b8 f8 01 00 00       	mov    $0x1f8,%eax
590a35:	e8 b6 0a 05 00       	call   0x5e14f0
590a3a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
590a3f:	33 c4                	xor    %esp,%eax
590a41:	89 84 24 f4 01 00 00 	mov    %eax,0x1f4(%esp)
590a48:	8b 84 24 04 02 00 00 	mov    0x204(%esp),%eax
590a4f:	55                   	push   %ebp
590a50:	8b ac 24 1c 02 00 00 	mov    0x21c(%esp),%ebp
590a57:	56                   	push   %esi
590a58:	8b b4 24 04 02 00 00 	mov    0x204(%esp),%esi
590a5f:	57                   	push   %edi
590a60:	8b bc 24 1c 02 00 00 	mov    0x21c(%esp),%edi
590a67:	57                   	push   %edi
590a68:	89 44 24 20          	mov    %eax,0x20(%esp)
590a6c:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
590a73:	00
590a74:	e8 77 0a f0 ff       	call   0x4914f0
590a79:	83 c4 04             	add    $0x4,%esp
590a7c:	89 44 24 14          	mov    %eax,0x14(%esp)
590a80:	85 c0                	test   %eax,%eax
590a82:	78 5e                	js     0x590ae2
590a84:	8d 84 24 f0 00 00 00 	lea    0xf0(%esp),%eax
590a8b:	50                   	push   %eax
590a8c:	e8 2f c7 fe ff       	call   0x57d1c0
590a91:	83 c4 04             	add    $0x4,%esp
590a94:	85 f6                	test   %esi,%esi
590a96:	75 04                	jne    0x590a9c
590a98:	33 c9                	xor    %ecx,%ecx
590a9a:	eb 1d                	jmp    0x590ab9
590a9c:	8b 8c 24 0c 02 00 00 	mov    0x20c(%esp),%ecx
590aa3:	83 f9 ff             	cmp    $0xffffffff,%ecx
590aa6:	75 11                	jne    0x590ab9
590aa8:	8b ce                	mov    %esi,%ecx
590aaa:	8d 51 01             	lea    0x1(%ecx),%edx
590aad:	0f 1f 00             	nopl   (%eax)
590ab0:	8a 01                	mov    (%ecx),%al
590ab2:	41                   	inc    %ecx
590ab3:	84 c0                	test   %al,%al
590ab5:	75 f9                	jne    0x590ab0
590ab7:	2b ca                	sub    %edx,%ecx
590ab9:	6a 00                	push   $0x0
590abb:	57                   	push   %edi
590abc:	51                   	push   %ecx
590abd:	8d 84 24 fc 00 00 00 	lea    0xfc(%esp),%eax
590ac4:	56                   	push   %esi
590ac5:	50                   	push   %eax
590ac6:	e8 05 c8 fe ff       	call   0x57d2d0
590acb:	83 c4 14             	add    $0x14,%esp
590ace:	85 c0                	test   %eax,%eax
590ad0:	75 2a                	jne    0x590afc
590ad2:	8d 84 24 f0 00 00 00 	lea    0xf0(%esp),%eax
590ad9:	50                   	push   %eax
590ada:	e8 41 c6 fe ff       	call   0x57d120
590adf:	83 c4 04             	add    $0x4,%esp
590ae2:	5f                   	pop    %edi
590ae3:	5e                   	pop    %esi
590ae4:	33 c0                	xor    %eax,%eax
590ae6:	5d                   	pop    %ebp
590ae7:	8b 8c 24 f4 01 00 00 	mov    0x1f4(%esp),%ecx
590aee:	33 cc                	xor    %esp,%ecx
590af0:	e8 e5 09 05 00       	call   0x5e14da
590af5:	81 c4 f8 01 00 00    	add    $0x1f8,%esp
590afb:	c3                   	ret
590afc:	8b 84 24 20 02 00 00 	mov    0x220(%esp),%eax
590b03:	53                   	push   %ebx
590b04:	85 c0                	test   %eax,%eax
590b06:	0f 84 2f 02 00 00    	je     0x590d3b
590b0c:	8b 74 24 18          	mov    0x18(%esp),%esi
590b10:	b9 01 00 00 00       	mov    $0x1,%ecx
590b15:	3b c6                	cmp    %esi,%eax
590b17:	88 4c 24 13          	mov    %cl,0x13(%esp)
590b1b:	8b d8                	mov    %eax,%ebx
590b1d:	8b c1                	mov    %ecx,%eax
590b1f:	0f 4f de             	cmovg  %esi,%ebx
590b22:	c1 e8 18             	shr    $0x18,%eax
590b25:	88 44 24 10          	mov    %al,0x10(%esp)
590b29:	8b c1                	mov    %ecx,%eax
590b2b:	c1 e8 10             	shr    $0x10,%eax
590b2e:	88 44 24 11          	mov    %al,0x11(%esp)
590b32:	8b c1                	mov    %ecx,%eax
590b34:	c1 e8 08             	shr    $0x8,%eax
590b37:	88 44 24 12          	mov    %al,0x12(%esp)
590b3b:	8d 84 24 f4 00 00 00 	lea    0xf4(%esp),%eax
590b42:	50                   	push   %eax
590b43:	8d 44 24 28          	lea    0x28(%esp),%eax
590b47:	50                   	push   %eax
590b48:	e8 03 c6 fe ff       	call   0x57d150
590b4d:	83 c4 08             	add    $0x8,%esp
590b50:	85 c0                	test   %eax,%eax
590b52:	0f 84 2f 02 00 00    	je     0x590d87
590b58:	ff b4 24 18 02 00 00 	push   0x218(%esp)
590b5f:	8d 44 24 28          	lea    0x28(%esp),%eax
590b63:	ff 74 24 24          	push   0x24(%esp)
590b67:	50                   	push   %eax
590b68:	e8 73 c9 fe ff       	call   0x57d4e0
590b6d:	83 c4 0c             	add    $0xc,%esp
590b70:	85 c0                	test   %eax,%eax
590b72:	0f 84 f1 01 00 00    	je     0x590d69
590b78:	6a 04                	push   $0x4
590b7a:	8d 44 24 14          	lea    0x14(%esp),%eax
590b7e:	50                   	push   %eax
590b7f:	8d 44 24 2c          	lea    0x2c(%esp),%eax
590b83:	50                   	push   %eax
590b84:	e8 57 c9 fe ff       	call   0x57d4e0
590b89:	83 c4 0c             	add    $0xc,%esp
590b8c:	85 c0                	test   %eax,%eax
590b8e:	0f 84 d5 01 00 00    	je     0x590d69
590b94:	6a 00                	push   $0x0
590b96:	8d 84 24 c8 01 00 00 	lea    0x1c8(%esp),%eax
590b9d:	50                   	push   %eax
590b9e:	8d 44 24 2c          	lea    0x2c(%esp),%eax