583f78:	74 1a                	je     0x583f94
583f7a:	ff 76 1c             	push   0x1c(%esi)
583f7d:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
583f84:	89 1e                	mov    %ebx,(%esi)
583f86:	89 5e 04             	mov    %ebx,0x4(%esi)
583f89:	89 5e 08             	mov    %ebx,0x8(%esi)
583f8c:	e8 8f 73 fe ff       	call   0x56b320
583f91:	83 c4 04             	add    $0x4,%esp
583f94:	8b 06                	mov    (%esi),%eax
583f96:	85 c0                	test   %eax,%eax
583f98:	0f 8e 91 00 00 00    	jle    0x58402f
583f9e:	8b 4e 04             	mov    0x4(%esi),%ecx
583fa1:	8b d8                	mov    %eax,%ebx
583fa3:	3b c1                	cmp    %ecx,%eax
583fa5:	7d 1c                	jge    0x583fc3
583fa7:	68 89 00 00 00       	push   $0x89
583fac:	68 b8 d1 65 00       	push   $0x65d1b8
583fb1:	68 d0 d1 65 00       	push   $0x65d1d0
583fb6:	e8 75 e5 f6 ff       	call   0x4f2530
583fbb:	8b 1e                	mov    (%esi),%ebx
583fbd:	83 c4 0c             	add    $0xc,%esp
583fc0:	8b 4e 04             	mov    0x4(%esi),%ecx
583fc3:	8b 7c 24 34          	mov    0x34(%esp),%edi
583fc7:	2b d9                	sub    %ecx,%ebx
583fc9:	3b df                	cmp    %edi,%ebx
583fcb:	0f 4f df             	cmovg  %edi,%ebx
583fce:	89 5c 24 10          	mov    %ebx,0x10(%esp)
583fd2:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
583fd5:	3d de 05 00 00       	cmp    $0x5de,%eax
583fda:	7c 1a                	jl     0x583ff6
583fdc:	68 8d 00 00 00       	push   $0x8d
583fe1:	68 b8 d1 65 00       	push   $0x65d1b8
583fe6:	68 00 d2 65 00       	push   $0x65d200
583feb:	e8 40 e5 f6 ff       	call   0x4f2530
583ff0:	8b 4e 04             	mov    0x4(%esi),%ecx
583ff3:	83 c4 0c             	add    $0xc,%esp
583ff6:	8d 46 20             	lea    0x20(%esi),%eax
583ff9:	53                   	push   %ebx
583ffa:	03 c1                	add    %ecx,%eax
583ffc:	50                   	push   %eax
583ffd:	55                   	push   %ebp
583ffe:	e8 cd ed 04 00       	call   0x5d2dd0
584003:	01 5e 04             	add    %ebx,0x4(%esi)
584006:	03 eb                	add    %ebx,%ebp
584008:	8b 46 04             	mov    0x4(%esi),%eax
58400b:	2b fb                	sub    %ebx,%edi
58400d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
584011:	83 c4 0c             	add    $0xc,%esp
584014:	89 6c 24 30          	mov    %ebp,0x30(%esp)
584018:	89 7c 24 14          	mov    %edi,0x14(%esp)
58401c:	39 06                	cmp    %eax,(%esi)
58401e:	75 17                	jne    0x584037
584020:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
584026:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
58402d:	eb 08                	jmp    0x584037
58402f:	8b 7c 24 34          	mov    0x34(%esp),%edi
584033:	89 7c 24 14          	mov    %edi,0x14(%esp)
584037:	33 ed                	xor    %ebp,%ebp
584039:	89 6c 24 18          	mov    %ebp,0x18(%esp)
58403d:	85 ff                	test   %edi,%edi
58403f:	0f 8e b3 02 00 00    	jle    0x5842f8
584045:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
584049:	0f 8e a1 02 00 00    	jle    0x5842f0
58404f:	8b 4e 08             	mov    0x8(%esi),%ecx
584052:	b8 00 04 00 00       	mov    $0x400,%eax
584057:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58405b:	2b c1                	sub    %ecx,%eax
58405d:	50                   	push   %eax
58405e:	8d 81 fe 05 00 00    	lea    0x5fe(%ecx),%eax
584064:	03 c6                	add    %esi,%eax
584066:	50                   	push   %eax
584067:	53                   	push   %ebx
584068:	e8 d3 53 f7 ff       	call   0x4f9440
58406d:	8b f8                	mov    %eax,%edi
58406f:	83 c4 0c             	add    $0xc,%esp
584072:	85 ff                	test   %edi,%edi
584074:	7f 25                	jg     0x58409b
584076:	6a 08                	push   $0x8
584078:	53                   	push   %ebx
584079:	89 7c 24 20          	mov    %edi,0x20(%esp)
58407d:	e8 1e 54 f7 ff       	call   0x4f94a0
584082:	83 c4 08             	add    $0x8,%esp
584085:	85 c0                	test   %eax,%eax
584087:	0f 85 63 02 00 00    	jne    0x5842f0
58408d:	89 7e 18             	mov    %edi,0x18(%esi)
584090:	39 46 08             	cmp    %eax,0x8(%esi)
584093:	0f 84 57 02 00 00    	je     0x5842f0
584099:	33 ff                	xor    %edi,%edi
58409b:	01 7e 08             	add    %edi,0x8(%esi)
58409e:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5840a2:	8b 6e 08             	mov    0x8(%esi),%ebp
5840a5:	0f 84 48 01 00 00    	je     0x5841f3
5840ab:	6a ff                	push   $0xffffffff
5840ad:	ff 74 24 30          	push   0x30(%esp)
5840b1:	e8 ea 53 f7 ff       	call   0x4f94a0
5840b6:	83 c4 08             	add    $0x8,%esp
5840b9:	a9 00 01 00 00       	test   $0x100,%eax
5840be:	74 0c                	je     0x5840cc
5840c0:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5840c7:	e9 39 01 00 00       	jmp    0x584205
5840cc:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5840d0:	0f 84 1d 01 00 00    	je     0x5841f3
5840d6:	8d 96 fe 05 00 00    	lea    0x5fe(%esi),%edx
5840dc:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
5840e3:	00
5840e4:	33 c9                	xor    %ecx,%ecx
5840e6:	8b da                	mov    %edx,%ebx
5840e8:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5840ec:	8b fb                	mov    %ebx,%edi
5840ee:	85 ed                	test   %ebp,%ebp
5840f0:	0f 8e a1 00 00 00    	jle    0x584197
5840f6:	8a 07                	mov    (%edi),%al
5840f8:	47                   	inc    %edi
5840f9:	3c 0a                	cmp    $0xa,%al
5840fb:	75 4b                	jne    0x584148
5840fd:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
584101:	74 09                	je     0x58410c
584103:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
58410a:	eb 3a                	jmp    0x584146
58410c:	8b c7                	mov    %edi,%eax
58410e:	2b c3                	sub    %ebx,%eax
584110:	50                   	push   %eax
584111:	53                   	push   %ebx
584112:	8d 44 24 28          	lea    0x28(%esp),%eax
584116:	50                   	push   %eax
584117:	8d 46 20             	lea    0x20(%esi),%eax
58411a:	50                   	push   %eax
58411b:	ff 76 1c             	push   0x1c(%esi)
58411e:	e8 1d 72 fe ff       	call   0x56b340
584123:	83 c4 14             	add    $0x14,%esp
584126:	85 c0                	test   %eax,%eax
584128:	7f 29                	jg     0x584153
58412a:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
58412f:	75 22                	jne    0x584153
584131:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
584135:	74 1c                	je     0x584153
584137:	ff 76 1c             	push   0x1c(%esi)
58413a:	e8 e1 71 fe ff       	call   0x56b320
58413f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
584143:	83 c4 04             	add    $0x4,%esp
584146:	8b df                	mov    %edi,%ebx
584148:	41                   	inc    %ecx
584149:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
58414d:	3b cd                	cmp    %ebp,%ecx
58414f:	7c a5                	jl     0x5840f6
584151:	eb 3e                	jmp    0x584191
584153:	8d 96 fe 05 00 00    	lea    0x5fe(%esi),%edx
584159:	3b da                	cmp    %edx,%ebx
58415b:	74 1e                	je     0x58417b
58415d:	8b c6                	mov    %esi,%eax
58415f:	81 c5 fe 05 00 00    	add    $0x5fe,%ebp
584165:	2b c3                	sub    %ebx,%eax
584167:	33 c9                	xor    %ecx,%ecx
584169:	03 e8                	add    %eax,%ebp
58416b:	85 ed                	test   %ebp,%ebp
58416d:	7e 0c                	jle    0x58417b
58416f:	90                   	nop
584170:	8a 04 19             	mov    (%ecx,%ebx,1),%al
584173:	88 04 0a             	mov    %al,(%edx,%ecx,1)
584176:	41                   	inc    %ecx
584177:	3b cd                	cmp    %ebp,%ecx
584179:	7c f5                	jl     0x584170
58417b:	ff 76 1c             	push   0x1c(%esi)
58417e:	e8 9d 71 fe ff       	call   0x56b320
584183:	8b 4c 24 20          	mov    0x20(%esp),%ecx
584187:	83 c4 04             	add    $0x4,%esp
58418a:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
584191:	8d 96 fe 05 00 00    	lea    0x5fe(%esi),%edx
584197:	3b cd                	cmp    %ebp,%ecx
584199:	0f 85 21 ff ff ff    	jne    0x5840c0
58419f:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
5841a4:	0f 85 16 ff ff ff    	jne    0x5840c0
5841aa:	3b da                	cmp    %edx,%ebx
5841ac:	75 1f                	jne    0x5841cd
5841ae:	81 fd 00 04 00 00    	cmp    $0x400,%ebp
5841b4:	0f 85 2b 01 00 00    	jne    0x5842e5
5841ba:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
5841c1:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5841c8:	e9 18 01 00 00       	jmp    0x5842e5
5841cd:	3b df                	cmp    %edi,%ebx
5841cf:	0f 84 10 01 00 00    	je     0x5842e5
5841d5:	2b fb                	sub    %ebx,%edi
5841d7:	33 c9                	xor    %ecx,%ecx
5841d9:	85 ff                	test   %edi,%edi
5841db:	7e 0e                	jle    0x5841eb
5841dd:	0f 1f 00             	nopl   (%eax)
5841e0:	8a 04 19             	mov    (%ecx,%ebx,1),%al
5841e3:	88 04 0a             	mov    %al,(%edx,%ecx,1)
5841e6:	41                   	inc    %ecx
5841e7:	3b cf                	cmp    %edi,%ecx
5841e9:	7c f5                	jl     0x5841e0
5841eb:	89 7e 08             	mov    %edi,0x8(%esi)
5841ee:	e9 f2 00 00 00       	jmp    0x5842e5
5841f3:	81 fd 00 04 00 00    	cmp    $0x400,%ebp
5841f9:	7d 0a                	jge    0x584205
5841fb:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
5841ff:	0f 8f e0 00 00 00    	jg     0x5842e5
584205:	6a ff                	push   $0xffffffff
584207:	ff 74 24 30          	push   0x30(%esp)
58420b:	8d be fe 05 00 00    	lea    0x5fe(%esi),%edi
584211:	8d 5e 20             	lea    0x20(%esi),%ebx
584214:	e8 87 52 f7 ff       	call   0x4f94a0
584219:	83 c4 08             	add    $0x8,%esp
58421c:	a9 00 01 00 00       	test   $0x100,%eax
584221:	74 60                	je     0x584283
584223:	8b dd                	mov    %ebp,%ebx
584225:	8d 46 20             	lea    0x20(%esi),%eax
584228:	83 e3 fc             	and    $0xfffffffc,%ebx
58422b:	53                   	push   %ebx
58422c:	57                   	push   %edi
58422d:	50                   	push   %eax
58422e:	e8 7d 70 fe ff       	call   0x56b2b0
584233:	83 c4 0c             	add    $0xc,%esp
584236:	8b f8                	mov    %eax,%edi
584238:	83 fb 02             	cmp    $0x2,%ebx
58423b:	7e 16                	jle    0x584253
58423d:	80 bc 33 fd 05 00 00 	cmpb   $0x3d,0x5fd(%ebx,%esi,1)
584244:	3d
584245:	75 0c                	jne    0x584253
584247:	4f                   	dec    %edi
584248:	80 bc 33 fc 05 00 00 	cmpb   $0x3d,0x5fc(%ebx,%esi,1)
58424f:	3d
584250:	75 01                	jne    0x584253
584252:	4f                   	dec    %edi
584253:	3b dd                	cmp    %ebp,%ebx
584255:	74 1e                	je     0x584275
584257:	2b eb                	sub    %ebx,%ebp
584259:	8d 86 fe 05 00 00    	lea    0x5fe(%esi),%eax
58425f:	03 c3                	add    %ebx,%eax
584261:	55                   	push   %ebp
584262:	50                   	push   %eax
584263:	8d 86 fe 05 00 00    	lea    0x5fe(%esi),%eax
584269:	50                   	push   %eax
58426a:	e8 61 eb 04 00       	call   0x5d2dd0
58426f:	83 c4 0c             	add    $0xc,%esp
584272:	89 6e 08             	mov    %ebp,0x8(%esi)
584275:	33 c0                	xor    %eax,%eax
584277:	8d 5e 20             	lea    0x20(%esi),%ebx
58427a:	85 ff                	test   %edi,%edi
58427c:	0f 4f c7             	cmovg  %edi,%eax
58427f:	89 06                	mov    %eax,(%esi)
584281:	eb 18                	jmp    0x58429b
584283:	55                   	push   %ebp
584284:	57                   	push   %edi
584285:	56                   	push   %esi
584286:	53                   	push   %ebx
584287:	ff 76 1c             	push   0x1c(%esi)
58428a:	e8 b1 70 fe ff       	call   0x56b340
58428f:	83 c4 14             	add    $0x14,%esp
584292:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
584299:	8b f8                	mov    %eax,%edi
58429b:	89 7e 18             	mov    %edi,0x18(%esi)
58429e:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5842a5:	85 ff                	test   %edi,%edi
5842a7:	78 6a                	js     0x584313
5842a9:	8b 3e                	mov    (%esi),%edi
5842ab:	3b 7c 24 14          	cmp    0x14(%esp),%edi
5842af:	8b 6c 24 30          	mov    0x30(%esp),%ebp
5842b3:	0f 4f 7c 24 14       	cmovg  0x14(%esp),%edi
5842b8:	57                   	push   %edi
5842b9:	53                   	push   %ebx
5842ba:	55                   	push   %ebp
5842bb:	e8 10 eb 04 00       	call   0x5d2dd0
5842c0:	01 7c 24 1c          	add    %edi,0x1c(%esp)
5842c4:	83 c4 0c             	add    $0xc,%esp
5842c7:	89 7e 04             	mov    %edi,0x4(%esi)
5842ca:	3b 3e                	cmp    (%esi),%edi
5842cc:	75 0d                	jne    0x5842db
5842ce:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5842d4:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5842db:	29 7c 24 14          	sub    %edi,0x14(%esp)
5842df:	03 ef                	add    %edi,%ebp
5842e1:	89 6c 24 30          	mov    %ebp,0x30(%esp)
5842e5:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5842ea:	0f 8f 55 fd ff ff    	jg     0x584045
5842f0:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5842f4:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5842f8:	ff 74 24 2c          	push   0x2c(%esp)
5842fc:	e8 0f 48 f7 ff       	call   0x4f8b10
584301:	83 c4 04             	add    $0x4,%esp
584304:	85 db                	test   %ebx,%ebx
584306:	0f 44 dd             	cmove  %ebp,%ebx
584309:	8b c3                	mov    %ebx,%eax
58430b:	5f                   	pop    %edi
58430c:	5e                   	pop    %esi
58430d:	5d                   	pop    %ebp
58430e:	5b                   	pop    %ebx
58430f:	83 c4 18             	add    $0x18,%esp
584312:	c3                   	ret
584313:	33 ed                	xor    %ebp,%ebp
584315:	89 2e                	mov    %ebp,(%esi)
584317:	eb db                	jmp    0x5842f4
584319:	5f                   	pop    %edi
58431a:	5e                   	pop    %esi
58431b:	5d                   	pop    %ebp
58431c:	33 c0                	xor    %eax,%eax
58431e:	5b                   	pop    %ebx
58431f:	83 c4 18             	add    $0x18,%esp
584322:	c3                   	ret
584323:	cc                   	int3
584324:	cc                   	int3
584325:	cc                   	int3
584326:	cc                   	int3
584327:	cc                   	int3
584328:	cc                   	int3
584329:	cc                   	int3
58432a:	cc                   	int3
58432b:	cc                   	int3
58432c:	cc                   	int3
58432d:	cc                   	int3
58432e:	cc                   	int3
58432f:	cc                   	int3
584330:	8b 54 24 08          	mov    0x8(%esp),%edx
584334:	8b c2                	mov    %edx,%eax
584336:	56                   	push   %esi
584337:	8d 70 01             	lea    0x1(%eax),%esi
58433a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
584340:	8a 08                	mov    (%eax),%cl
584342:	40                   	inc    %eax
584343:	84 c9                	test   %cl,%cl
584345:	75 f9                	jne    0x584340
584347:	2b c6                	sub    %esi,%eax
584349:	50                   	push   %eax
58434a:	52                   	push   %edx
58434b:	ff 74 24 10          	push   0x10(%esp)
58434f:	e8 8c f7 ff ff       	call   0x583ae0
584354:	83 c4 0c             	add    $0xc,%esp
584357:	5e                   	pop    %esi
584358:	c3                   	ret
584359:	cc                   	int3
58435a:	cc                   	int3
58435b:	cc                   	int3
58435c:	cc                   	int3
58435d:	cc                   	int3
58435e:	cc                   	int3
58435f:	cc                   	int3
584360:	53                   	push   %ebx
584361:	8b 5c 24 08          	mov    0x8(%esp),%ebx
584365:	55                   	push   %ebp
584366:	56                   	push   %esi
584367:	57                   	push   %edi
584368:	53                   	push   %ebx
584369:	bf 01 00 00 00       	mov    $0x1,%edi
58436e:	e8 2d c4 f6 ff       	call   0x4f07a0
584373:	53                   	push   %ebx
584374:	8b f0                	mov    %eax,%esi
584376:	e8 a5 4e f7 ff       	call   0x4f9220
58437b:	83 c4 08             	add    $0x8,%esp
58437e:	8b e8                	mov    %eax,%ebp
584380:	85 f6                	test   %esi,%esi