59f844:	b9 01 00 00 00       	mov    $0x1,%ecx
59f849:	85 c0                	test   %eax,%eax
59f84b:	0f 45 d9             	cmovne %ecx,%ebx
59f84e:	68 4d 0c 00 00       	push   $0xc4d
59f853:	68 e0 7b 66 00       	push   $0x667be0
59f858:	56                   	push   %esi
59f859:	e8 22 0f f4 ff       	call   0x4e0780
59f85e:	8b 4c 24 68          	mov    0x68(%esp),%ecx
59f862:	83 c4 0c             	add    $0xc,%esp
59f865:	8b c3                	mov    %ebx,%eax
59f867:	5f                   	pop    %edi
59f868:	5e                   	pop    %esi
59f869:	5d                   	pop    %ebp
59f86a:	5b                   	pop    %ebx
59f86b:	33 cc                	xor    %esp,%ecx
59f86d:	e8 b4 21 03 00       	call   0x5d1a26
59f872:	83 c4 50             	add    $0x50,%esp
59f875:	c3                   	ret
59f876:	cc                   	int3
59f877:	cc                   	int3
59f878:	cc                   	int3
59f879:	cc                   	int3
59f87a:	cc                   	int3
59f87b:	cc                   	int3
59f87c:	cc                   	int3
59f87d:	cc                   	int3
59f87e:	cc                   	int3
59f87f:	cc                   	int3
59f880:	b8 20 00 00 00       	mov    $0x20,%eax
59f885:	e8 26 1f 03 00       	call   0x5d17b0
59f88a:	55                   	push   %ebp
59f88b:	56                   	push   %esi
59f88c:	8b 74 24 2c          	mov    0x2c(%esp),%esi
59f890:	33 ed                	xor    %ebp,%ebp
59f892:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
59f899:	00
59f89a:	89 6e 64             	mov    %ebp,0x64(%esi)
59f89d:	e8 7e 57 f4 ff       	call   0x4e5020
59f8a2:	89 44 24 08          	mov    %eax,0x8(%esp)
59f8a6:	85 c0                	test   %eax,%eax
59f8a8:	75 21                	jne    0x59f8cb
59f8aa:	68 12 0e 00 00       	push   $0xe12
59f8af:	68 e0 7b 66 00       	push   $0x667be0
59f8b4:	6a 41                	push   $0x41
59f8b6:	68 7c 01 00 00       	push   $0x17c
59f8bb:	6a 50                	push   $0x50
59f8bd:	56                   	push   %esi
59f8be:	e8 4d f8 fe ff       	call   0x58f110
59f8c3:	83 c4 18             	add    $0x18,%esp
59f8c6:	e9 5a 05 00 00       	jmp    0x59fe25
59f8cb:	8b 4e 04             	mov    0x4(%esi),%ecx
59f8ce:	8b 41 64             	mov    0x64(%ecx),%eax
59f8d1:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59f8d5:	75 41                	jne    0x59f918
59f8d7:	8b 01                	mov    (%ecx),%eax
59f8d9:	3d 04 03 00 00       	cmp    $0x304,%eax
59f8de:	7c 38                	jl     0x59f918
59f8e0:	3d 00 00 01 00       	cmp    $0x10000,%eax
59f8e5:	74 31                	je     0x59f918
59f8e7:	8d 44 24 10          	lea    0x10(%esp),%eax
59f8eb:	50                   	push   %eax
59f8ec:	ff 74 24 34          	push   0x34(%esp)
59f8f0:	e8 cb bb ff ff       	call   0x59b4c0
59f8f5:	83 c4 08             	add    $0x8,%esp
59f8f8:	85 c0                	test   %eax,%eax
59f8fa:	0f 84 c0 01 00 00    	je     0x59fac0
59f900:	8b 86 fc 05 00 00    	mov    0x5fc(%esi),%eax
59f906:	85 c0                	test   %eax,%eax
59f908:	0f 85 96 01 00 00    	jne    0x59faa4
59f90e:	39 6c 24 14          	cmp    %ebp,0x14(%esp)
59f912:	0f 85 a8 01 00 00    	jne    0x59fac0
59f918:	8b 4c 24 30          	mov    0x30(%esp),%ecx
59f91c:	53                   	push   %ebx
59f91d:	57                   	push   %edi
59f91e:	8b 51 04             	mov    0x4(%ecx),%edx
59f921:	8b 19                	mov    (%ecx),%ebx
59f923:	83 fa 03             	cmp    $0x3,%edx
59f926:	0f 82 d8 04 00 00    	jb     0x59fe04
59f92c:	0f b6 3b             	movzbl (%ebx),%edi
59f92f:	83 c2 fd             	add    $0xfffffffd,%edx
59f932:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
59f936:	c1 e7 08             	shl    $0x8,%edi
59f939:	0b f8                	or     %eax,%edi
59f93b:	89 54 24 2c          	mov    %edx,0x2c(%esp)
59f93f:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
59f943:	83 c3 03             	add    $0x3,%ebx
59f946:	c1 e7 08             	shl    $0x8,%edi
59f949:	0b f8                	or     %eax,%edi
59f94b:	3b d7                	cmp    %edi,%edx
59f94d:	0f 82 b1 04 00 00    	jb     0x59fe04
59f953:	2b d7                	sub    %edi,%edx
59f955:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
59f958:	89 01                	mov    %eax,(%ecx)
59f95a:	89 51 04             	mov    %edx,0x4(%ecx)
59f95d:	3b d5                	cmp    %ebp,%edx
59f95f:	0f 85 9f 04 00 00    	jne    0x59fe04
59f965:	89 6c 24 18          	mov    %ebp,0x18(%esp)
59f969:	85 ff                	test   %edi,%edi
59f96b:	0f 84 98 01 00 00    	je     0x59fb09
59f971:	83 ff 03             	cmp    $0x3,%edi
59f974:	0f 82 3f 02 00 00    	jb     0x59fbb9
59f97a:	0f b6 03             	movzbl (%ebx),%eax
59f97d:	83 ef 03             	sub    $0x3,%edi
59f980:	0f b6 6b 01          	movzbl 0x1(%ebx),%ebp
59f984:	c1 e0 08             	shl    $0x8,%eax
59f987:	0b e8                	or     %eax,%ebp
59f989:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
59f98d:	c1 e5 08             	shl    $0x8,%ebp
59f990:	83 c3 03             	add    $0x3,%ebx
59f993:	0b e8                	or     %eax,%ebp
59f995:	89 5c 24 14          	mov    %ebx,0x14(%esp)
59f999:	3b fd                	cmp    %ebp,%edi
59f99b:	0f 82 18 02 00 00    	jb     0x59fbb9
59f9a1:	55                   	push   %ebp
59f9a2:	8d 44 24 24          	lea    0x24(%esp),%eax
59f9a6:	89 5c 24 24          	mov    %ebx,0x24(%esp)
59f9aa:	50                   	push   %eax
59f9ab:	6a 00                	push   $0x0
59f9ad:	03 dd                	add    %ebp,%ebx
59f9af:	2b fd                	sub    %ebp,%edi
59f9b1:	e8 6a 78 fb ff       	call   0x557220
59f9b6:	83 c4 0c             	add    $0xc,%esp
59f9b9:	89 44 24 34          	mov    %eax,0x34(%esp)
59f9bd:	85 c0                	test   %eax,%eax
59f9bf:	0f 84 e6 01 00 00    	je     0x59fbab
59f9c5:	8b 44 24 14          	mov    0x14(%esp),%eax
59f9c9:	03 c5                	add    %ebp,%eax
59f9cb:	39 44 24 20          	cmp    %eax,0x20(%esp)
59f9cf:	0f 85 c5 01 00 00    	jne    0x59fb9a
59f9d5:	8b 4e 04             	mov    0x4(%esi),%ecx
59f9d8:	8b 41 64             	mov    0x64(%ecx),%eax
59f9db:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59f9df:	0f 85 ff 00 00 00    	jne    0x59fae4
59f9e5:	8b 01                	mov    (%ecx),%eax
59f9e7:	3d 04 03 00 00       	cmp    $0x304,%eax
59f9ec:	0f 8c f2 00 00 00    	jl     0x59fae4
59f9f2:	3d 00 00 01 00       	cmp    $0x10000,%eax
59f9f7:	0f 84 e7 00 00 00    	je     0x59fae4
59f9fd:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
59fa04:	00
59fa05:	83 ff 02             	cmp    $0x2,%edi
59fa08:	0f 82 4f 01 00 00    	jb     0x59fb5d
59fa0e:	0f b6 03             	movzbl (%ebx),%eax
59fa11:	83 c7 fe             	add    $0xfffffffe,%edi
59fa14:	0f b6 4b 01          	movzbl 0x1(%ebx),%ecx
59fa18:	83 c3 02             	add    $0x2,%ebx
59fa1b:	c1 e0 08             	shl    $0x8,%eax
59fa1e:	0b c8                	or     %eax,%ecx
59fa20:	3b f9                	cmp    %ecx,%edi
59fa22:	0f 82 35 01 00 00    	jb     0x59fb5d
59fa28:	8b 6c 24 18          	mov    0x18(%esp),%ebp
59fa2c:	8b c3                	mov    %ebx,%eax
59fa2e:	89 44 24 28          	mov    %eax,0x28(%esp)
59fa32:	03 d9                	add    %ecx,%ebx
59fa34:	33 c0                	xor    %eax,%eax
59fa36:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
59fa3a:	2b f9                	sub    %ecx,%edi
59fa3c:	85 ed                	test   %ebp,%ebp
59fa3e:	0f 94 c0             	sete   %al
59fa41:	50                   	push   %eax
59fa42:	6a 00                	push   $0x0
59fa44:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59fa48:	50                   	push   %eax
59fa49:	68 00 10 00 00       	push   $0x1000
59fa4e:	8d 44 24 38          	lea    0x38(%esp),%eax
59fa52:	50                   	push   %eax
59fa53:	56                   	push   %esi
59fa54:	e8 a7 5a 00 00       	call   0x5a5500
59fa59:	83 c4 18             	add    $0x18,%esp
59fa5c:	85 c0                	test   %eax,%eax
59fa5e:	0f 84 da 00 00 00    	je     0x59fb3e
59fa64:	33 c0                	xor    %eax,%eax
59fa66:	85 ff                	test   %edi,%edi
59fa68:	0f 94 c0             	sete   %al
59fa6b:	50                   	push   %eax
59fa6c:	55                   	push   %ebp
59fa6d:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
59fa71:	55                   	push   %ebp
59fa72:	ff 74 24 20          	push   0x20(%esp)
59fa76:	68 00 10 00 00       	push   $0x1000
59fa7b:	56                   	push   %esi
59fa7c:	e8 ff 5f 00 00       	call   0x5a5a80
59fa81:	83 c4 18             	add    $0x18,%esp
59fa84:	85 c0                	test   %eax,%eax
59fa86:	0f 84 b6 00 00 00    	je     0x59fb42
59fa8c:	68 50 0e 00 00       	push   $0xe50
59fa91:	68 e0 7b 66 00       	push   $0x667be0
59fa96:	ff 74 24 1c          	push   0x1c(%esp)
59fa9a:	e8 e1 0c f4 ff       	call   0x4e0780
59fa9f:	83 c4 0c             	add    $0xc,%esp
59faa2:	eb 44                	jmp    0x59fae8
59faa4:	ff b6 00 06 00 00    	push   0x600(%esi)
59faaa:	50                   	push   %eax
59faab:	8d 44 24 18          	lea    0x18(%esp),%eax
59faaf:	50                   	push   %eax
59fab0:	e8 db b9 ff ff       	call   0x59b490
59fab5:	83 c4 0c             	add    $0xc,%esp
59fab8:	85 c0                	test   %eax,%eax
59faba:	0f 85 58 fe ff ff    	jne    0x59f918
59fac0:	68 1b 0e 00 00       	push   $0xe1b
59fac5:	68 e0 7b 66 00       	push   $0x667be0
59faca:	68 1a 01 00 00       	push   $0x11a
59facf:	68 7c 01 00 00       	push   $0x17c
59fad4:	6a 32                	push   $0x32
59fad6:	56                   	push   %esi
59fad7:	e8 34 f6 fe ff       	call   0x58f110
59fadc:	83 c4 18             	add    $0x18,%esp
59fadf:	e9 41 03 00 00       	jmp    0x59fe25
59fae4:	8b 6c 24 34          	mov    0x34(%esp),%ebp
59fae8:	55                   	push   %ebp
59fae9:	ff 74 24 14          	push   0x14(%esp)
59faed:	e8 5e 56 f4 ff       	call   0x4e5150
59faf2:	83 c4 08             	add    $0x8,%esp
59faf5:	85 c0                	test   %eax,%eax
59faf7:	0f 84 85 00 00 00    	je     0x59fb82
59fafd:	ff 44 24 18          	incl   0x18(%esp)
59fb01:	85 ff                	test   %edi,%edi
59fb03:	0f 85 68 fe ff ff    	jne    0x59f971
59fb09:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59fb0d:	55                   	push   %ebp
59fb0e:	e8 ad 55 f4 ff       	call   0x4e50c0
59fb13:	83 c4 04             	add    $0x4,%esp
59fb16:	85 c0                	test   %eax,%eax
59fb18:	0f 8f 62 01 00 00    	jg     0x59fc80
59fb1e:	81 3e 00 03 00 00    	cmpl   $0x300,(%esi)
59fb24:	0f 85 b5 00 00 00    	jne    0x59fbdf
59fb2a:	68 61 0e 00 00       	push   $0xe61
59fb2f:	68 e0 7b 66 00       	push   $0x667be0
59fb34:	68 b0 00 00 00       	push   $0xb0
59fb39:	e9 bd 01 00 00       	jmp    0x59fcfb
59fb3e:	8b 6c 24 34          	mov    0x34(%esp),%ebp
59fb42:	68 4d 0e 00 00       	push   $0xe4d
59fb47:	68 e0 7b 66 00       	push   $0x667be0
59fb4c:	ff 74 24 1c          	push   0x1c(%esp)
59fb50:	e8 2b 0c f4 ff       	call   0x4e0780
59fb55:	83 c4 0c             	add    $0xc,%esp
59fb58:	e9 c6 02 00 00       	jmp    0x59fe23
59fb5d:	68 44 0e 00 00       	push   $0xe44
59fb62:	68 e0 7b 66 00       	push   $0x667be0
59fb67:	68 0f 01 00 00       	push   $0x10f
59fb6c:	68 7c 01 00 00       	push   $0x17c
59fb71:	6a 32                	push   $0x32
59fb73:	56                   	push   %esi
59fb74:	e8 97 f5 fe ff       	call   0x58f110
59fb79:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
59fb7d:	e9 9e 02 00 00       	jmp    0x59fe20
59fb82:	68 56 0e 00 00       	push   $0xe56
59fb87:	68 e0 7b 66 00       	push   $0x667be0
59fb8c:	6a 41                	push   $0x41
59fb8e:	68 7c 01 00 00       	push   $0x17c
59fb93:	6a 50                	push   $0x50
59fb95:	e9 80 02 00 00       	jmp    0x59fe1a
59fb9a:	68 39 0e 00 00       	push   $0xe39
59fb9f:	68 e0 7b 66 00       	push   $0x667be0
59fba4:	68 87 00 00 00       	push   $0x87
59fba9:	eb c1                	jmp    0x59fb6c
59fbab:	68 33 0e 00 00       	push   $0xe33
59fbb0:	68 e0 7b 66 00       	push   $0x667be0
59fbb5:	6a 0d                	push   $0xd
59fbb7:	eb b3                	jmp    0x59fb6c
59fbb9:	68 2b 0e 00 00       	push   $0xe2b
59fbbe:	68 e0 7b 66 00       	push   $0x667be0
59fbc3:	68 87 00 00 00       	push   $0x87
59fbc8:	68 7c 01 00 00       	push   $0x17c
59fbcd:	6a 32                	push   $0x32
59fbcf:	56                   	push   %esi
59fbd0:	e8 3b f5 fe ff       	call   0x58f110
59fbd5:	83 c4 18             	add    $0x18,%esp
59fbd8:	33 ed                	xor    %ebp,%ebp
59fbda:	e9 44 02 00 00       	jmp    0x59fe23
59fbdf:	8b 86 ac 04 00 00    	mov    0x4ac(%esi),%eax
59fbe5:	83 e0 03             	and    $0x3,%eax
59fbe8:	3c 03                	cmp    $0x3,%al
59fbea:	75 26                	jne    0x59fc12
59fbec:	68 69 0e 00 00       	push   $0xe69
59fbf1:	68 e0 7b 66 00       	push   $0x667be0
59fbf6:	68 c7 00 00 00       	push   $0xc7
59fbfb:	68 7c 01 00 00       	push   $0x17c
59fc00:	6a 74                	push   $0x74
59fc02:	56                   	push   %esi
59fc03:	e8 08 f5 fe ff       	call   0x58f110
59fc08:	83 c4 18             	add    $0x18,%esp
59fc0b:	33 ed                	xor    %ebp,%ebp
59fc0d:	e9 11 02 00 00       	jmp    0x59fe23
59fc12:	8b 46 7c             	mov    0x7c(%esi),%eax
59fc15:	83 b8 d4 00 00 00 00 	cmpl   $0x0,0xd4(%eax)
59fc1c:	74 18                	je     0x59fc36
59fc1e:	33 ed                	xor    %ebp,%ebp
59fc20:	55                   	push   %ebp
59fc21:	56                   	push   %esi
59fc22:	e8 59 35 00 00       	call   0x5a3180
59fc27:	83 c4 08             	add    $0x8,%esp
59fc2a:	85 c0                	test   %eax,%eax
59fc2c:	0f 84 f1 01 00 00    	je     0x59fe23
59fc32:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59fc36:	83 be f4 05 00 00 04 	cmpl   $0x4,0x5f4(%esi)
59fc3d:	0f 85 e3 00 00 00    	jne    0x59fd26
59fc43:	6a 00                	push   $0x0
59fc45:	ff b6 74 04 00 00    	push   0x474(%esi)
59fc4b:	e8 50 13 ff ff       	call   0x590fa0
59fc50:	8b f8                	mov    %eax,%edi
59fc52:	83 c4 08             	add    $0x8,%esp
59fc55:	85 ff                	test   %edi,%edi
59fc57:	0f 85 b5 00 00 00    	jne    0x59fd12
59fc5d:	68 94 0e 00 00       	push   $0xe94
59fc62:	68 e0 7b 66 00       	push   $0x667be0
59fc67:	6a 41                	push   $0x41
59fc69:	68 7c 01 00 00       	push   $0x17c
59fc6e:	6a 50                	push   $0x50
59fc70:	56                   	push   %esi
59fc71:	e8 9a f4 fe ff       	call   0x58f110
59fc76:	83 c4 18             	add    $0x18,%esp
59fc79:	33 ed                	xor    %ebp,%ebp
59fc7b:	e9 a3 01 00 00       	jmp    0x59fe23
59fc80:	55                   	push   %ebp
59fc81:	56                   	push   %esi
59fc82:	e8 29 b9 fe ff       	call   0x58b5b0
59fc87:	83 c4 08             	add    $0x8,%esp
59fc8a:	85 c0                	test   %eax,%eax
59fc8c:	7f 33                	jg     0x59fcc1
59fc8e:	68 77 0e 00 00       	push   $0xe77
59fc93:	68 e0 7b 66 00       	push   $0x667be0
59fc98:	68 86 00 00 00       	push   $0x86
59fc9d:	68 7c 01 00 00       	push   $0x17c
59fca2:	ff b6 d8 04 00 00    	push   0x4d8(%esi)
59fca8:	e8 73 4e ff ff       	call   0x594b20
59fcad:	83 c4 04             	add    $0x4,%esp
59fcb0:	50                   	push   %eax
59fcb1:	56                   	push   %esi
59fcb2:	e8 59 f4 fe ff       	call   0x58f110
59fcb7:	83 c4 18             	add    $0x18,%esp
59fcba:	33 ed                	xor    %ebp,%ebp
59fcbc:	e9 62 01 00 00       	jmp    0x59fe23
59fcc1:	83 f8 01             	cmp    $0x1,%eax
59fcc4:	7e 0d                	jle    0x59fcd3
59fcc6:	68 7c 0e 00 00       	push   $0xe7c
59fccb:	68 e0 7b 66 00       	push   $0x667be0
59fcd0:	50                   	push   %eax
59fcd1:	eb 28                	jmp    0x59fcfb
59fcd3:	6a 00                	push   $0x0
59fcd5:	55                   	push   %ebp
59fcd6:	e8 a5 55 f4 ff       	call   0x4e5280
59fcdb:	50                   	push   %eax
59fcdc:	e8 4f 84 fb ff       	call   0x558130
59fce1:	83 c4 0c             	add    $0xc,%esp
59fce4:	85 c0                	test   %eax,%eax
59fce6:	0f 85 4a ff ff ff    	jne    0x59fc36
59fcec:	68 83 0e 00 00       	push   $0xe83
59fcf1:	68 e0 7b 66 00       	push   $0x667be0
59fcf6:	68 f7 00 00 00       	push   $0xf7