5b4ec5:	3b fa                	cmp    %edx,%edi
5b4ec7:	0f 82 e6 00 00 00    	jb     0x5b4fb3
5b4ecd:	0f b6 01             	movzbl (%ecx),%eax
5b4ed0:	0f b6 69 01          	movzbl 0x1(%ecx),%ebp
5b4ed4:	c1 e0 08             	shl    $0x8,%eax
5b4ed7:	0b e8                	or     %eax,%ebp
5b4ed9:	8d 41 02             	lea    0x2(%ecx),%eax
5b4edc:	83 c7 fe             	add    $0xfffffffe,%edi
5b4edf:	89 06                	mov    %eax,(%esi)
5b4ee1:	89 7e 04             	mov    %edi,0x4(%esi)
5b4ee4:	0f 84 c9 00 00 00    	je     0x5b4fb3
5b4eea:	8a 08                	mov    (%eax),%cl
5b4eec:	40                   	inc    %eax
5b4eed:	89 06                	mov    %eax,(%esi)
5b4eef:	8d 47 ff             	lea    -0x1(%edi),%eax
5b4ef2:	89 46 04             	mov    %eax,0x4(%esi)
5b4ef5:	85 c0                	test   %eax,%eax
5b4ef7:	0f 85 b6 00 00 00    	jne    0x5b4fb3
5b4efd:	84 c9                	test   %cl,%cl
5b4eff:	74 28                	je     0x5b4f29
5b4f01:	68 a1 06 00 00       	push   $0x6a1
5b4f06:	68 90 9b 66 00       	push   $0x669b90
5b4f0b:	68 60 01 00 00       	push   $0x160
5b4f10:	68 be 01 00 00       	push   $0x1be
5b4f15:	6a 2f                	push   $0x2f
5b4f17:	ff 74 24 24          	push   0x24(%esp)
5b4f1b:	e8 f0 a1 fd ff       	call   0x58f110
5b4f20:	83 c4 18             	add    $0x18,%esp
5b4f23:	33 c0                	xor    %eax,%eax
5b4f25:	5f                   	pop    %edi
5b4f26:	5e                   	pop    %esi
5b4f27:	5d                   	pop    %ebp
5b4f28:	c3                   	ret
5b4f29:	53                   	push   %ebx
5b4f2a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5b4f2e:	53                   	push   %ebx
5b4f2f:	e8 5c 49 00 00       	call   0x5b9890
5b4f34:	8b f8                	mov    %eax,%edi
5b4f36:	83 c4 04             	add    $0x4,%esp
5b4f39:	85 ff                	test   %edi,%edi
5b4f3b:	75 11                	jne    0x5b4f4e
5b4f3d:	68 a9 06 00 00       	push   $0x6a9
5b4f42:	68 90 9b 66 00       	push   $0x669b90
5b4f47:	68 67 01 00 00       	push   $0x167
5b4f4c:	eb 3e                	jmp    0x5b4f8c
5b4f4e:	57                   	push   %edi
5b4f4f:	33 f6                	xor    %esi,%esi
5b4f51:	e8 6a 01 f3 ff       	call   0x4e50c0
5b4f56:	83 c4 04             	add    $0x4,%esp
5b4f59:	85 c0                	test   %eax,%eax
5b4f5b:	7e 20                	jle    0x5b4f7d
5b4f5d:	0f 1f 00             	nopl   (%eax)
5b4f60:	56                   	push   %esi
5b4f61:	57                   	push   %edi
5b4f62:	e8 19 03 f3 ff       	call   0x4e5280
5b4f67:	83 c4 08             	add    $0x8,%esp
5b4f6a:	39 68 04             	cmp    %ebp,0x4(%eax)
5b4f6d:	74 34                	je     0x5b4fa3
5b4f6f:	57                   	push   %edi
5b4f70:	46                   	inc    %esi
5b4f71:	e8 4a 01 f3 ff       	call   0x4e50c0
5b4f76:	83 c4 04             	add    $0x4,%esp
5b4f79:	3b f0                	cmp    %eax,%esi
5b4f7b:	7c e3                	jl     0x5b4f60
5b4f7d:	68 bb 06 00 00       	push   $0x6bb
5b4f82:	68 90 9b 66 00       	push   $0x669b90
5b4f87:	68 61 01 00 00       	push   $0x161
5b4f8c:	68 be 01 00 00       	push   $0x1be
5b4f91:	6a 32                	push   $0x32
5b4f93:	53                   	push   %ebx
5b4f94:	e8 77 a1 fd ff       	call   0x58f110
5b4f99:	83 c4 18             	add    $0x18,%esp
5b4f9c:	33 c0                	xor    %eax,%eax
5b4f9e:	5b                   	pop    %ebx
5b4f9f:	5f                   	pop    %edi
5b4fa0:	5e                   	pop    %esi
5b4fa1:	5d                   	pop    %ebp
5b4fa2:	c3                   	ret
5b4fa3:	89 83 e8 05 00 00    	mov    %eax,0x5e8(%ebx)
5b4fa9:	b8 01 00 00 00       	mov    $0x1,%eax
5b4fae:	5b                   	pop    %ebx
5b4faf:	5f                   	pop    %edi
5b4fb0:	5e                   	pop    %esi
5b4fb1:	5d                   	pop    %ebp
5b4fb2:	c3                   	ret
5b4fb3:	68 9a 06 00 00       	push   $0x69a
5b4fb8:	68 90 9b 66 00       	push   $0x669b90
5b4fbd:	68 61 01 00 00       	push   $0x161
5b4fc2:	68 be 01 00 00       	push   $0x1be
5b4fc7:	6a 32                	push   $0x32
5b4fc9:	ff 74 24 24          	push   0x24(%esp)
5b4fcd:	e8 3e a1 fd ff       	call   0x58f110
5b4fd2:	83 c4 18             	add    $0x18,%esp
5b4fd5:	33 c0                	xor    %eax,%eax
5b4fd7:	5f                   	pop    %edi
5b4fd8:	5e                   	pop    %esi
5b4fd9:	5d                   	pop    %ebp
5b4fda:	c3                   	ret
5b4fdb:	cc                   	int3
5b4fdc:	cc                   	int3
5b4fdd:	cc                   	int3
5b4fde:	cc                   	int3
5b4fdf:	cc                   	int3
5b4fe0:	8b 44 24 04          	mov    0x4(%esp),%eax
5b4fe4:	55                   	push   %ebp
5b4fe5:	33 ed                	xor    %ebp,%ebp
5b4fe7:	81 38 00 03 00 00    	cmpl   $0x300,(%eax)
5b4fed:	75 04                	jne    0x5b4ff3
5b4fef:	33 c0                	xor    %eax,%eax
5b4ff1:	5d                   	pop    %ebp
5b4ff2:	c3                   	ret
5b4ff3:	53                   	push   %ebx
5b4ff4:	56                   	push   %esi
5b4ff5:	57                   	push   %edi
5b4ff6:	50                   	push   %eax
5b4ff7:	e8 e4 43 fd ff       	call   0x5893e0
5b4ffc:	8b f8                	mov    %eax,%edi
5b4ffe:	57                   	push   %edi
5b4fff:	e8 bc 00 f3 ff       	call   0x4e50c0
5b5004:	8b d8                	mov    %eax,%ebx
5b5006:	83 c4 08             	add    $0x8,%esp
5b5009:	33 f6                	xor    %esi,%esi
5b500b:	85 db                	test   %ebx,%ebx
5b500d:	7e 3a                	jle    0x5b5049
5b500f:	90                   	nop
5b5010:	56                   	push   %esi
5b5011:	57                   	push   %edi
5b5012:	e8 69 02 f3 ff       	call   0x4e5280
5b5017:	83 c4 08             	add    $0x8,%esp
5b501a:	f6 40 10 84          	testb  $0x84,0x10(%eax)
5b501e:	75 24                	jne    0x5b5044
5b5020:	f6 40 14 08          	testb  $0x8,0x14(%eax)
5b5024:	75 1e                	jne    0x5b5044
5b5026:	81 78 20 04 03 00 00 	cmpl   $0x304,0x20(%eax)
5b502d:	7d 15                	jge    0x5b5044
5b502f:	46                   	inc    %esi
5b5030:	3b f3                	cmp    %ebx,%esi
5b5032:	7c dc                	jl     0x5b5010
5b5034:	57                   	push   %edi
5b5035:	e8 e6 fe f2 ff       	call   0x4e4f20
5b503a:	83 c4 04             	add    $0x4,%esp
5b503d:	8b c5                	mov    %ebp,%eax
5b503f:	5f                   	pop    %edi
5b5040:	5e                   	pop    %esi
5b5041:	5b                   	pop    %ebx
5b5042:	5d                   	pop    %ebp
5b5043:	c3                   	ret
5b5044:	bd 01 00 00 00       	mov    $0x1,%ebp
5b5049:	57                   	push   %edi
5b504a:	e8 d1 fe f2 ff       	call   0x4e4f20
5b504f:	83 c4 04             	add    $0x4,%esp
5b5052:	8b c5                	mov    %ebp,%eax
5b5054:	5f                   	pop    %edi
5b5055:	5e                   	pop    %esi
5b5056:	5b                   	pop    %ebx
5b5057:	5d                   	pop    %ebp
5b5058:	c3                   	ret
5b5059:	cc                   	int3
5b505a:	cc                   	int3
5b505b:	cc                   	int3
5b505c:	cc                   	int3
5b505d:	cc                   	int3
5b505e:	cc                   	int3
5b505f:	cc                   	int3
5b5060:	56                   	push   %esi
5b5061:	8b 74 24 0c          	mov    0xc(%esp),%esi
5b5065:	68 c1 01 00 00       	push   $0x1c1
5b506a:	68 f8 47 66 00       	push   $0x6647f8
5b506f:	ff 36                	push   (%esi)
5b5071:	e8 0a b7 f2 ff       	call   0x4e0780
5b5076:	8b 44 24 14          	mov    0x14(%esp),%eax
5b507a:	68 c4 01 00 00       	push   $0x1c4
5b507f:	68 f8 47 66 00       	push   $0x6647f8
5b5084:	ff 70 04             	push   0x4(%eax)
5b5087:	ff 30                	push   (%eax)
5b5089:	e8 a2 d0 f2 ff       	call   0x4e2130
5b508e:	33 c9                	xor    %ecx,%ecx
5b5090:	89 06                	mov    %eax,(%esi)
5b5092:	83 c4 1c             	add    $0x1c,%esp
5b5095:	85 c0                	test   %eax,%eax
5b5097:	0f 95 c1             	setne  %cl
5b509a:	8b c1                	mov    %ecx,%eax
5b509c:	5e                   	pop    %esi
5b509d:	c3                   	ret
5b509e:	cc                   	int3
5b509f:	cc                   	int3
5b50a0:	57                   	push   %edi
5b50a1:	8b 7c 24 08          	mov    0x8(%esp),%edi
5b50a5:	8b 47 7c             	mov    0x7c(%edi),%eax
5b50a8:	83 b8 40 03 00 00 00 	cmpl   $0x0,0x340(%eax)
5b50af:	75 07                	jne    0x5b50b8
5b50b1:	b8 02 00 00 00       	mov    $0x2,%eax
5b50b6:	5f                   	pop    %edi
5b50b7:	c3                   	ret
5b50b8:	56                   	push   %esi
5b50b9:	8b 74 24 10          	mov    0x10(%esp),%esi
5b50bd:	6a 02                	push   $0x2
5b50bf:	6a 10                	push   $0x10
5b50c1:	56                   	push   %esi
5b50c2:	e8 d9 ee fe ff       	call   0x5a3fa0
5b50c7:	83 c4 0c             	add    $0xc,%esp
5b50ca:	85 c0                	test   %eax,%eax
5b50cc:	74 5e                	je     0x5b512c
5b50ce:	6a 02                	push   $0x2
5b50d0:	56                   	push   %esi
5b50d1:	e8 4a f0 fe ff       	call   0x5a4120
5b50d6:	83 c4 08             	add    $0x8,%esp
5b50d9:	85 c0                	test   %eax,%eax
5b50db:	74 4f                	je     0x5b512c
5b50dd:	6a 02                	push   $0x2
5b50df:	56                   	push   %esi
5b50e0:	e8 3b f0 fe ff       	call   0x5a4120
5b50e5:	83 c4 08             	add    $0x8,%esp
5b50e8:	85 c0                	test   %eax,%eax
5b50ea:	74 40                	je     0x5b512c
5b50ec:	8b 47 7c             	mov    0x7c(%edi),%eax
5b50ef:	6a 01                	push   $0x1
5b50f1:	ff b0 44 03 00 00    	push   0x344(%eax)
5b50f7:	ff b0 40 03 00 00    	push   0x340(%eax)
5b50fd:	56                   	push   %esi
5b50fe:	e8 2d f1 fe ff       	call   0x5a4230
5b5103:	83 c4 10             	add    $0x10,%esp
5b5106:	85 c0                	test   %eax,%eax
5b5108:	74 22                	je     0x5b512c
5b510a:	56                   	push   %esi
5b510b:	e8 d0 eb fe ff       	call   0x5a3ce0
5b5110:	83 c4 04             	add    $0x4,%esp
5b5113:	85 c0                	test   %eax,%eax
5b5115:	74 15                	je     0x5b512c
5b5117:	56                   	push   %esi
5b5118:	e8 c3 eb fe ff       	call   0x5a3ce0
5b511d:	83 c4 04             	add    $0x4,%esp
5b5120:	85 c0                	test   %eax,%eax
5b5122:	74 08                	je     0x5b512c
5b5124:	5e                   	pop    %esi
5b5125:	b8 01 00 00 00       	mov    $0x1,%eax
5b512a:	5f                   	pop    %edi
5b512b:	c3                   	ret
5b512c:	68 2f 06 00 00       	push   $0x62f
5b5131:	68 b0 9b 66 00       	push   $0x669bb0
5b5136:	6a 44                	push   $0x44
5b5138:	68 c3 01 00 00       	push   $0x1c3
5b513d:	6a 50                	push   $0x50
5b513f:	57                   	push   %edi
5b5140:	e8 cb 9f fd ff       	call   0x58f110
5b5145:	83 c4 18             	add    $0x18,%esp
5b5148:	33 c0                	xor    %eax,%eax
5b514a:	5e                   	pop    %esi
5b514b:	5f                   	pop    %edi
5b514c:	c3                   	ret
5b514d:	cc                   	int3
5b514e:	cc                   	int3
5b514f:	cc                   	int3
5b5150:	b8 3c 00 00 00       	mov    $0x3c,%eax
5b5155:	e8 56 c6 01 00       	call   0x5d17b0
5b515a:	57                   	push   %edi
5b515b:	8b 7c 24 44          	mov    0x44(%esp),%edi
5b515f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5b5166:	00
5b5167:	8b 47 7c             	mov    0x7c(%edi),%eax
5b516a:	f7 00 00 08 00 00    	testl  $0x800,(%eax)
5b5170:	75 0a                	jne    0x5b517c
5b5172:	b8 02 00 00 00       	mov    $0x2,%eax
5b5177:	5f                   	pop    %edi
5b5178:	83 c4 3c             	add    $0x3c,%esp
5b517b:	c3                   	ret
5b517c:	8b 87 d0 04 00 00    	mov    0x4d0(%edi),%eax
5b5182:	83 b8 84 00 00 00 00 	cmpl   $0x0,0x84(%eax)
5b5189:	75 26                	jne    0x5b51b1
5b518b:	68 f4 06 00 00       	push   $0x6f4
5b5190:	68 b0 9b 66 00       	push   $0x669bb0
5b5195:	68 1f 01 00 00       	push   $0x11f
5b519a:	68 65 02 00 00       	push   $0x265
5b519f:	6a 50                	push   $0x50
5b51a1:	57                   	push   %edi
5b51a2:	e8 69 9f fd ff       	call   0x58f110
5b51a7:	83 c4 18             	add    $0x18,%esp
5b51aa:	33 c0                	xor    %eax,%eax
5b51ac:	5f                   	pop    %edi
5b51ad:	83 c4 3c             	add    $0x3c,%esp
5b51b0:	c3                   	ret
5b51b1:	56                   	push   %esi
5b51b2:	8b 74 24 4c          	mov    0x4c(%esp),%esi
5b51b6:	6a 02                	push   $0x2
5b51b8:	6a 2c                	push   $0x2c
5b51ba:	56                   	push   %esi
5b51bb:	e8 e0 ed fe ff       	call   0x5a3fa0
5b51c0:	83 c4 0c             	add    $0xc,%esp
5b51c3:	85 c0                	test   %eax,%eax
5b51c5:	0f 84 be 03 00 00    	je     0x5b5589
5b51cb:	6a 02                	push   $0x2
5b51cd:	56                   	push   %esi
5b51ce:	e8 4d ef fe ff       	call   0x5a4120
5b51d3:	83 c4 08             	add    $0x8,%esp
5b51d6:	85 c0                	test   %eax,%eax
5b51d8:	0f 84 ab 03 00 00    	je     0x5b5589
5b51de:	6a 02                	push   $0x2
5b51e0:	56                   	push   %esi
5b51e1:	e8 3a ef fe ff       	call   0x5a4120
5b51e6:	83 c4 08             	add    $0x8,%esp
5b51e9:	85 c0                	test   %eax,%eax
5b51eb:	0f 84 98 03 00 00    	je     0x5b5589
5b51f1:	8d 44 24 30          	lea    0x30(%esp),%eax
5b51f5:	50                   	push   %eax
5b51f6:	56                   	push   %esi
5b51f7:	e8 14 ec fe ff       	call   0x5a3e10
5b51fc:	83 c4 08             	add    $0x8,%esp
5b51ff:	85 c0                	test   %eax,%eax
5b5201:	0f 84 82 03 00 00    	je     0x5b5589
5b5207:	8d 44 24 18          	lea    0x18(%esp),%eax
5b520b:	50                   	push   %eax
5b520c:	68 72 10 00 00       	push   $0x1072
5b5211:	56                   	push   %esi
5b5212:	e8 e9 ed fe ff       	call   0x5a4000
5b5217:	83 c4 0c             	add    $0xc,%esp
5b521a:	85 c0                	test   %eax,%eax
5b521c:	0f 84 67 03 00 00    	je     0x5b5589
5b5222:	6a 02                	push   $0x2
5b5224:	6a 00                	push   $0x0
5b5226:	56                   	push   %esi
5b5227:	e8 74 ed fe ff       	call   0x5a3fa0
5b522c:	83 c4 0c             	add    $0xc,%esp
5b522f:	85 c0                	test   %eax,%eax
5b5231:	0f 84 52 03 00 00    	je     0x5b5589
5b5237:	6a 02                	push   $0x2
5b5239:	68 04 03 00 00       	push   $0x304
5b523e:	56                   	push   %esi
5b523f:	e8 5c ed fe ff       	call   0x5a3fa0
5b5244:	83 c4 0c             	add    $0xc,%esp
5b5247:	85 c0                	test   %eax,%eax
5b5249:	0f 84 3a 03 00 00    	je     0x5b5589
5b524f:	8b 47 7c             	mov    0x7c(%edi),%eax
5b5252:	6a 02                	push   $0x2
5b5254:	0f b7 80 56 03 00 00 	movzwl 0x356(%eax),%eax
5b525b:	50                   	push   %eax
5b525c:	56                   	push   %esi
5b525d:	e8 3e ed fe ff       	call   0x5a3fa0
5b5262:	83 c4 0c             	add    $0xc,%esp
5b5265:	85 c0                	test   %eax,%eax
5b5267:	0f 84 1c 03 00 00    	je     0x5b5589
5b526d:	8b 4f 04             	mov    0x4(%edi),%ecx
5b5270:	8d 44 24 38          	lea    0x38(%esp),%eax
5b5274:	50                   	push   %eax
5b5275:	8b 47 7c             	mov    0x7c(%edi),%eax
5b5278:	56                   	push   %esi
5b5279:	ff b0 10 02 00 00    	push   0x210(%eax)
5b527f:	8b 41 50             	mov    0x50(%ecx),%eax
5b5282:	ff d0                	call   *%eax
5b5284:	83 c4 0c             	add    $0xc,%esp
5b5287:	85 c0                	test   %eax,%eax