58f7f3:	68 58 70 6c 00       	push   $0x6c7058
58f7f8:	6a 41                	push   $0x41
58f7fa:	68 bc 00 00 00       	push   $0xbc
58f7ff:	6a 10                	push   $0x10
58f801:	e8 9a 1c f1 ff       	call   0x4a14a0
58f806:	83 c4 14             	add    $0x14,%esp
58f809:	e9 ff fe ff ff       	jmp    0x58f70d
58f80e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
58f812:	8b 44 24 10          	mov    0x10(%esp),%eax
58f816:	89 7c 24 28          	mov    %edi,0x28(%esp)
58f81a:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
58f81d:	85 c9                	test   %ecx,%ecx
58f81f:	74 27                	je     0x58f848
58f821:	53                   	push   %ebx
58f822:	e8 c9 ca fe ff       	call   0x57c2f0
58f827:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58f82b:	83 c4 04             	add    $0x4,%esp
58f82e:	8b 54 24 10          	mov    0x10(%esp),%edx
58f832:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
58f835:	85 c0                	test   %eax,%eax
58f837:	0f 84 99 01 00 00    	je     0x58f9d6
58f83d:	41                   	inc    %ecx
58f83e:	89 4c 24 28          	mov    %ecx,0x28(%esp)
58f842:	3b 4c 24 24          	cmp    0x24(%esp),%ecx
58f846:	72 d9                	jb     0x58f821
58f848:	53                   	push   %ebx
58f849:	e8 a2 ca fe ff       	call   0x57c2f0
58f84e:	83 c4 04             	add    $0x4,%esp
58f851:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58f855:	85 c0                	test   %eax,%eax
58f857:	0f 84 9d 01 00 00    	je     0x58f9fa
58f85d:	53                   	push   %ebx
58f85e:	e8 8d ca fe ff       	call   0x57c2f0
58f863:	8b f8                	mov    %eax,%edi
58f865:	83 c4 04             	add    $0x4,%esp
58f868:	89 7c 24 18          	mov    %edi,0x18(%esp)
58f86c:	85 ff                	test   %edi,%edi
58f86e:	0f 84 86 01 00 00    	je     0x58f9fa
58f874:	ff 74 24 38          	push   0x38(%esp)
58f878:	57                   	push   %edi
58f879:	e8 32 c6 fe ff       	call   0x57beb0
58f87e:	83 c4 08             	add    $0x8,%esp
58f881:	85 c0                	test   %eax,%eax
58f883:	0f 84 68 01 00 00    	je     0x58f9f1
58f889:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
58f88e:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
58f895:	00
58f896:	0f 86 c1 00 00 00    	jbe    0x58f95d
58f89c:	0f 1f 40 00          	nopl   0x0(%eax)
58f8a0:	55                   	push   %ebp
58f8a1:	57                   	push   %edi
58f8a2:	ff 74 24 24          	push   0x24(%esp)
58f8a6:	53                   	push   %ebx
58f8a7:	e8 74 c6 fe ff       	call   0x57bf20
58f8ac:	83 c4 10             	add    $0x10,%esp
58f8af:	85 c0                	test   %eax,%eax
58f8b1:	0f 84 3a 01 00 00    	je     0x58f9f1
58f8b7:	57                   	push   %edi
58f8b8:	ff 36                	push   (%esi)
58f8ba:	e8 f1 c5 fe ff       	call   0x57beb0
58f8bf:	83 c4 08             	add    $0x8,%esp
58f8c2:	83 c6 04             	add    $0x4,%esi
58f8c5:	85 c0                	test   %eax,%eax
58f8c7:	0f 84 24 01 00 00    	je     0x58f9f1
58f8cd:	bf 01 00 00 00       	mov    $0x1,%edi
58f8d2:	39 7c 24 2c          	cmp    %edi,0x2c(%esp)
58f8d6:	76 25                	jbe    0x58f8fd
58f8d8:	55                   	push   %ebp
58f8d9:	ff 76 fc             	push   -0x4(%esi)
58f8dc:	ff 74 24 24          	push   0x24(%esp)
58f8e0:	ff 36                	push   (%esi)
58f8e2:	53                   	push   %ebx
58f8e3:	e8 98 c4 fe ff       	call   0x57bd80
58f8e8:	83 c4 14             	add    $0x14,%esp
58f8eb:	85 c0                	test   %eax,%eax
58f8ed:	0f 84 0e 01 00 00    	je     0x58fa01
58f8f3:	47                   	inc    %edi
58f8f4:	83 c6 04             	add    $0x4,%esi
58f8f7:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
58f8fb:	72 db                	jb     0x58f8d8
58f8fd:	8b 44 24 20          	mov    0x20(%esp),%eax
58f901:	48                   	dec    %eax
58f902:	39 44 24 28          	cmp    %eax,0x28(%esp)
58f906:	73 3e                	jae    0x58f946
58f908:	8b 7c 24 18          	mov    0x18(%esp),%edi
58f90c:	55                   	push   %ebp
58f90d:	ff 74 24 20          	push   0x20(%esp)
58f911:	57                   	push   %edi
58f912:	53                   	push   %ebx
58f913:	e8 08 c6 fe ff       	call   0x57bf20
58f918:	83 c4 10             	add    $0x10,%esp
58f91b:	85 c0                	test   %eax,%eax
58f91d:	0f 84 ce 00 00 00    	je     0x58f9f1
58f923:	bf 02 00 00 00       	mov    $0x2,%edi
58f928:	8b 44 24 18          	mov    0x18(%esp),%eax
58f92c:	55                   	push   %ebp
58f92d:	50                   	push   %eax
58f92e:	50                   	push   %eax
58f92f:	53                   	push   %ebx
58f930:	e8 eb c5 fe ff       	call   0x57bf20
58f935:	83 c4 10             	add    $0x10,%esp
58f938:	85 c0                	test   %eax,%eax
58f93a:	0f 84 c1 00 00 00    	je     0x58fa01
58f940:	47                   	inc    %edi
58f941:	83 ff 08             	cmp    $0x8,%edi
58f944:	72 e2                	jb     0x58f928
58f946:	8b 44 24 28          	mov    0x28(%esp),%eax
58f94a:	8b 7c 24 18          	mov    0x18(%esp),%edi
58f94e:	40                   	inc    %eax
58f94f:	89 44 24 28          	mov    %eax,0x28(%esp)
58f953:	3b 44 24 20          	cmp    0x20(%esp),%eax
58f957:	0f 82 43 ff ff ff    	jb     0x58f8a0
58f95d:	8b 74 24 10          	mov    0x10(%esp),%esi
58f961:	55                   	push   %ebp
58f962:	56                   	push   %esi
58f963:	ff 74 24 2c          	push   0x2c(%esp)
58f967:	53                   	push   %ebx
58f968:	e8 e3 cb fe ff       	call   0x57c550
58f96d:	83 c4 10             	add    $0x10,%esp
58f970:	85 c0                	test   %eax,%eax
58f972:	0f 84 95 fd ff ff    	je     0x58f70d
58f978:	8b 44 24 40          	mov    0x40(%esp),%eax
58f97c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
58f980:	68 70 ea 58 00       	push   $0x58ea70
58f985:	68 10 eb 58 00       	push   $0x58eb10
58f98a:	89 48 08             	mov    %ecx,0x8(%eax)
58f98d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58f991:	89 48 0c             	mov    %ecx,0xc(%eax)
58f994:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58f998:	68 e0 ea 58 00       	push   $0x58eae0
58f99d:	89 70 10             	mov    %esi,0x10(%eax)
58f9a0:	33 f6                	xor    %esi,%esi
58f9a2:	50                   	push   %eax
58f9a3:	89 18                	mov    %ebx,(%eax)
58f9a5:	c7 40 04 08 00 00 00 	movl   $0x8,0x4(%eax)
58f9ac:	89 48 14             	mov    %ecx,0x14(%eax)
58f9af:	8d 43 44             	lea    0x44(%ebx),%eax
58f9b2:	50                   	push   %eax
58f9b3:	89 74 24 24          	mov    %esi,0x24(%esp)
58f9b7:	e8 c4 b8 fe ff       	call   0x57b280
58f9bc:	83 c4 14             	add    $0x14,%esp
58f9bf:	85 c0                	test   %eax,%eax
58f9c1:	0f 84 46 fd ff ff    	je     0x58f70d
58f9c7:	33 db                	xor    %ebx,%ebx
58f9c9:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
58f9d0:	00
58f9d1:	e9 3b fd ff ff       	jmp    0x58f711
58f9d6:	68 33 03 00 00       	push   $0x333
58f9db:	68 58 70 6c 00       	push   $0x6c7058
58f9e0:	6a 41                	push   $0x41
58f9e2:	68 bc 00 00 00       	push   $0xbc
58f9e7:	6a 10                	push   $0x10
58f9e9:	e8 b2 1a f1 ff       	call   0x4a14a0
58f9ee:	83 c4 14             	add    $0x14,%esp
58f9f1:	8b 74 24 10          	mov    0x10(%esp),%esi
58f9f5:	e9 13 fd ff ff       	jmp    0x58f70d
58f9fa:	68 39 03 00 00       	push   $0x339
58f9ff:	eb da                	jmp    0x58f9db
58fa01:	8b 7c 24 18          	mov    0x18(%esp),%edi
58fa05:	8b 74 24 10          	mov    0x10(%esp),%esi
58fa09:	e9 ff fc ff ff       	jmp    0x58f70d
58fa0e:	8b 5c 24 40          	mov    0x40(%esp),%ebx
58fa12:	5d                   	pop    %ebp
58fa13:	85 db                	test   %ebx,%ebx
58fa15:	74 09                	je     0x58fa20
58fa17:	53                   	push   %ebx
58fa18:	e8 f3 f0 ff ff       	call   0x58eb10
58fa1d:	83 c4 04             	add    $0x4,%esp
58fa20:	85 f6                	test   %esi,%esi
58fa22:	74 28                	je     0x58fa4c
58fa24:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
58fa28:	8b 03                	mov    (%ebx),%eax
58fa2a:	85 c0                	test   %eax,%eax
58fa2c:	74 15                	je     0x58fa43
58fa2e:	66 90                	xchg   %ax,%ax
58fa30:	50                   	push   %eax
58fa31:	e8 aa c5 fe ff       	call   0x57bfe0
58fa36:	8b 46 04             	mov    0x4(%esi),%eax
58fa39:	8d 76 04             	lea    0x4(%esi),%esi
58fa3c:	83 c4 04             	add    $0x4,%esp
58fa3f:	85 c0                	test   %eax,%eax
58fa41:	75 ed                	jne    0x58fa30
58fa43:	53                   	push   %ebx
58fa44:	e8 e7 06 f1 ff       	call   0x4a0130
58fa49:	83 c4 04             	add    $0x4,%esp
58fa4c:	8b 44 24 18          	mov    0x18(%esp),%eax
58fa50:	85 c0                	test   %eax,%eax
58fa52:	74 09                	je     0x58fa5d
58fa54:	50                   	push   %eax
58fa55:	e8 86 c5 fe ff       	call   0x57bfe0
58fa5a:	83 c4 04             	add    $0x4,%esp
58fa5d:	85 ff                	test   %edi,%edi
58fa5f:	74 09                	je     0x58fa6a
58fa61:	57                   	push   %edi
58fa62:	e8 79 c5 fe ff       	call   0x57bfe0
58fa67:	83 c4 04             	add    $0x4,%esp
58fa6a:	8b 44 24 30          	mov    0x30(%esp),%eax
58fa6e:	5f                   	pop    %edi
58fa6f:	5e                   	pop    %esi
58fa70:	5b                   	pop    %ebx
58fa71:	83 c4 2c             	add    $0x2c,%esp
58fa74:	c3                   	ret
58fa75:	cc                   	int3
58fa76:	cc                   	int3
58fa77:	cc                   	int3
58fa78:	cc                   	int3
58fa79:	cc                   	int3
58fa7a:	cc                   	int3
58fa7b:	cc                   	int3
58fa7c:	cc                   	int3
58fa7d:	cc                   	int3
58fa7e:	cc                   	int3
58fa7f:	cc                   	int3
58fa80:	56                   	push   %esi
58fa81:	e8 5a d9 00 00       	call   0x59d3e0
58fa86:	50                   	push   %eax
58fa87:	e8 24 c0 fe ff       	call   0x57bab0
58fa8c:	8b f0                	mov    %eax,%esi
58fa8e:	83 c4 04             	add    $0x4,%esp
58fa91:	85 f6                	test   %esi,%esi
58fa93:	74 26                	je     0x58fabb
58fa95:	ff 74 24 14          	push   0x14(%esp)
58fa99:	ff 74 24 14          	push   0x14(%esp)
58fa9d:	ff 74 24 14          	push   0x14(%esp)
58faa1:	ff 74 24 14          	push   0x14(%esp)
58faa5:	56                   	push   %esi
58faa6:	e8 15 c1 fe ff       	call   0x57bbc0
58faab:	83 c4 14             	add    $0x14,%esp
58faae:	85 c0                	test   %eax,%eax
58fab0:	75 0d                	jne    0x58fabf
58fab2:	56                   	push   %esi
58fab3:	e8 68 b8 fe ff       	call   0x57b320
58fab8:	83 c4 04             	add    $0x4,%esp
58fabb:	33 c0                	xor    %eax,%eax
58fabd:	5e                   	pop    %esi
58fabe:	c3                   	ret
58fabf:	8b c6                	mov    %esi,%eax
58fac1:	5e                   	pop    %esi
58fac2:	c3                   	ret
58fac3:	cc                   	int3
58fac4:	cc                   	int3
58fac5:	cc                   	int3
58fac6:	cc                   	int3
58fac7:	cc                   	int3
58fac8:	cc                   	int3
58fac9:	cc                   	int3
58faca:	cc                   	int3
58facb:	cc                   	int3
58facc:	cc                   	int3
58facd:	cc                   	int3
58face:	cc                   	int3
58facf:	cc                   	int3
58fad0:	56                   	push   %esi
58fad1:	e8 7a c9 00 00       	call   0x59c450
58fad6:	50                   	push   %eax
58fad7:	e8 d4 bf fe ff       	call   0x57bab0
58fadc:	8b f0                	mov    %eax,%esi
58fade:	83 c4 04             	add    $0x4,%esp
58fae1:	85 f6                	test   %esi,%esi
58fae3:	0f 84 8a 00 00 00    	je     0x58fb73
58fae9:	ff 74 24 14          	push   0x14(%esp)
58faed:	ff 74 24 14          	push   0x14(%esp)
58faf1:	ff 74 24 14          	push   0x14(%esp)
58faf5:	ff 74 24 14          	push   0x14(%esp)
58faf9:	56                   	push   %esi
58fafa:	e8 01 c1 fe ff       	call   0x57bc00
58faff:	83 c4 14             	add    $0x14,%esp
58fb02:	85 c0                	test   %eax,%eax
58fb04:	75 71                	jne    0x58fb77
58fb06:	e8 75 18 f1 ff       	call   0x4a1380
58fb0b:	8b c8                	mov    %eax,%ecx
58fb0d:	81 e1 00 00 00 ff    	and    $0xff000000,%ecx
58fb13:	81 f9 00 00 00 10    	cmp    $0x10000000,%ecx
58fb19:	75 4f                	jne    0x58fb6a
58fb1b:	25 ff 0f 00 00       	and    $0xfff,%eax
58fb20:	3d 87 00 00 00       	cmp    $0x87,%eax
58fb25:	74 07                	je     0x58fb2e
58fb27:	3d 88 00 00 00       	cmp    $0x88,%eax
58fb2c:	75 3c                	jne    0x58fb6a
58fb2e:	e8 dd 15 f1 ff       	call   0x4a1110
58fb33:	56                   	push   %esi
58fb34:	e8 e7 b7 fe ff       	call   0x57b320
58fb39:	e8 42 c6 00 00       	call   0x59c180
58fb3e:	50                   	push   %eax
58fb3f:	e8 6c bf fe ff       	call   0x57bab0
58fb44:	8b f0                	mov    %eax,%esi
58fb46:	83 c4 08             	add    $0x8,%esp
58fb49:	85 f6                	test   %esi,%esi
58fb4b:	74 26                	je     0x58fb73
58fb4d:	ff 74 24 14          	push   0x14(%esp)
58fb51:	ff 74 24 14          	push   0x14(%esp)
58fb55:	ff 74 24 14          	push   0x14(%esp)
58fb59:	ff 74 24 14          	push   0x14(%esp)
58fb5d:	56                   	push   %esi
58fb5e:	e8 9d c0 fe ff       	call   0x57bc00
58fb63:	83 c4 14             	add    $0x14,%esp
58fb66:	85 c0                	test   %eax,%eax
58fb68:	75 0d                	jne    0x58fb77
58fb6a:	56                   	push   %esi
58fb6b:	e8 b0 b7 fe ff       	call   0x57b320
58fb70:	83 c4 04             	add    $0x4,%esp
58fb73:	33 c0                	xor    %eax,%eax
58fb75:	5e                   	pop    %esi
58fb76:	c3                   	ret
58fb77:	8b c6                	mov    %esi,%eax
58fb79:	5e                   	pop    %esi
58fb7a:	c3                   	ret
58fb7b:	cc                   	int3
58fb7c:	cc                   	int3
58fb7d:	cc                   	int3
58fb7e:	cc                   	int3
58fb7f:	cc                   	int3
58fb80:	b8 14 00 00 00       	mov    $0x14,%eax
58fb85:	e8 66 19 05 00       	call   0x5e14f0
58fb8a:	53                   	push   %ebx
58fb8b:	55                   	push   %ebp
58fb8c:	8b 6c 24 30          	mov    0x30(%esp),%ebp
58fb90:	56                   	push   %esi
58fb91:	57                   	push   %edi
58fb92:	55                   	push   %ebp
58fb93:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
58fb9a:	00
58fb9b:	33 f6                	xor    %esi,%esi
58fb9d:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58fba4:	00
58fba5:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
58fbac:	00
58fbad:	e8 8e d0 fe ff       	call   0x57cc40
58fbb2:	55                   	push   %ebp
58fbb3:	8b f8                	mov    %eax,%edi
58fbb5:	e8 26 19 f0 ff       	call   0x4914e0
58fbba:	8b d8                	mov    %eax,%ebx
58fbbc:	55                   	push   %ebp
58fbbd:	89 5c 24 28          	mov    %ebx,0x28(%esp)
58fbc1:	e8 8a 15 f0 ff       	call   0x491150
58fbc6:	83 c4 0c             	add    $0xc,%esp
58fbc9:	89 44 24 20          	mov    %eax,0x20(%esp)
58fbcd:	85 db                	test   %ebx,%ebx
58fbcf:	0f 84 93 02 00 00    	je     0x58fe68
58fbd5:	85 c0                	test   %eax,%eax
58fbd7:	0f 84 8b 02 00 00    	je     0x58fe68
58fbdd:	85 ff                	test   %edi,%edi
58fbdf:	0f 84 83 02 00 00    	je     0x58fe68
58fbe5:	e8 66 0a 00 00       	call   0x590650
58fbea:	8b f8                	mov    %eax,%edi
58fbec:	85 ff                	test   %edi,%edi
58fbee:	75 11                	jne    0x58fc01
58fbf0:	68 03 01 00 00       	push   $0x103
58fbf5:	68 88 70 6c 00       	push   $0x6c7088
58fbfa:	6a 41                	push   $0x41