5850f1:	8d 43 04             	lea    0x4(%ebx),%eax
5850f4:	ff 77 30             	push   0x30(%edi)
5850f7:	ff 77 2c             	push   0x2c(%edi)
5850fa:	50                   	push   %eax
5850fb:	e8 d0 dc 04 00       	call   0x5d2dd0
585100:	83 c4 0c             	add    $0xc,%esp
585103:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
585108:	7f 76                	jg     0x585180
58510a:	68 fd 00 00 00       	push   $0xfd
58510f:	68 54 d3 65 00       	push   $0x65d354
585114:	ff 74 24 18          	push   0x18(%esp)
585118:	e8 63 b6 f5 ff       	call   0x4e0780
58511d:	83 c4 0c             	add    $0xc,%esp
585120:	83 c8 ff             	or     $0xffffffff,%eax
585123:	5f                   	pop    %edi
585124:	5e                   	pop    %esi
585125:	5d                   	pop    %ebp
585126:	5b                   	pop    %ebx
585127:	83 c4 08             	add    $0x8,%esp
58512a:	c3                   	ret
58512b:	68 b4 00 00 00       	push   $0xb4
585130:	68 54 d3 65 00       	push   $0x65d354
585135:	50                   	push   %eax
585136:	e8 15 b6 f5 ff       	call   0x4e0750
58513b:	8b d8                	mov    %eax,%ebx
58513d:	83 c4 0c             	add    $0xc,%esp
585140:	85 db                	test   %ebx,%ebx
585142:	75 92                	jne    0x5850d6
585144:	b8 41 00 00 00       	mov    $0x41,%eax
585149:	b9 b6 00 00 00       	mov    $0xb6,%ecx
58514e:	51                   	push   %ecx
58514f:	68 54 d3 65 00       	push   $0x65d354
585154:	50                   	push   %eax
585155:	6a 6d                	push   $0x6d
585157:	6a 32                	push   $0x32
585159:	e8 22 3e f5 ff       	call   0x4d8f80
58515e:	68 c4 00 00 00       	push   $0xc4
585163:	68 54 d3 65 00       	push   $0x65d354
585168:	53                   	push   %ebx
585169:	e8 12 b6 f5 ff       	call   0x4e0780
58516e:	83 c4 20             	add    $0x20,%esp
585171:	eb 97                	jmp    0x58510a
585173:	55                   	push   %ebp
585174:	ff 77 04             	push   0x4(%edi)
585177:	56                   	push   %esi
585178:	e8 53 dc 04 00       	call   0x5d2dd0
58517d:	83 c4 0c             	add    $0xc,%esp
585180:	5f                   	pop    %edi
585181:	5e                   	pop    %esi
585182:	8b c5                	mov    %ebp,%eax
585184:	5d                   	pop    %ebp
585185:	5b                   	pop    %ebx
585186:	83 c4 08             	add    $0x8,%esp
585189:	c3                   	ret
58518a:	cc                   	int3
58518b:	cc                   	int3
58518c:	cc                   	int3
58518d:	cc                   	int3
58518e:	cc                   	int3
58518f:	cc                   	int3
585190:	b8 08 00 00 00       	mov    $0x8,%eax
585195:	e8 16 c6 04 00       	call   0x5d17b0
58519a:	53                   	push   %ebx
58519b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
58519f:	55                   	push   %ebp
5851a0:	33 ed                	xor    %ebp,%ebp
5851a2:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
5851a9:	00
5851aa:	56                   	push   %esi
5851ab:	8b 74 24 18          	mov    0x18(%esp),%esi
5851af:	85 db                	test   %ebx,%ebx
5851b1:	74 7d                	je     0x585230
5851b3:	8b 03                	mov    (%ebx),%eax
5851b5:	85 c0                	test   %eax,%eax
5851b7:	75 74                	jne    0x58522d
5851b9:	50                   	push   %eax
5851ba:	56                   	push   %esi
5851bb:	e8 d0 ff ff ff       	call   0x585190
5851c0:	83 c4 08             	add    $0x8,%esp
5851c3:	83 f8 ff             	cmp    $0xffffffff,%eax
5851c6:	75 22                	jne    0x5851ea
5851c8:	68 4a 01 00 00       	push   $0x14a
5851cd:	68 54 d3 65 00       	push   $0x65d354
5851d2:	6a 69                	push   $0x69
5851d4:	6a 6c                	push   $0x6c
5851d6:	6a 32                	push   $0x32
5851d8:	e8 a3 3d f5 ff       	call   0x4d8f80
5851dd:	83 c4 14             	add    $0x14,%esp
5851e0:	83 c8 ff             	or     $0xffffffff,%eax
5851e3:	5e                   	pop    %esi
5851e4:	5d                   	pop    %ebp
5851e5:	5b                   	pop    %ebx
5851e6:	83 c4 08             	add    $0x8,%esp
5851e9:	c3                   	ret
5851ea:	68 4d 01 00 00       	push   $0x14d
5851ef:	68 54 d3 65 00       	push   $0x65d354
5851f4:	50                   	push   %eax
5851f5:	e8 56 b5 f5 ff       	call   0x4e0750
5851fa:	83 c4 0c             	add    $0xc,%esp
5851fd:	89 03                	mov    %eax,(%ebx)
5851ff:	85 c0                	test   %eax,%eax
585201:	75 22                	jne    0x585225
585203:	68 4e 01 00 00       	push   $0x14e
585208:	68 54 d3 65 00       	push   $0x65d354
58520d:	6a 41                	push   $0x41
58520f:	6a 6c                	push   $0x6c
585211:	6a 32                	push   $0x32
585213:	e8 68 3d f5 ff       	call   0x4d8f80
585218:	83 c4 14             	add    $0x14,%esp
58521b:	83 c8 ff             	or     $0xffffffff,%eax
58521e:	5e                   	pop    %esi
58521f:	5d                   	pop    %ebp
585220:	5b                   	pop    %ebx
585221:	83 c4 08             	add    $0x8,%esp
585224:	c3                   	ret
585225:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
58522c:	00
58522d:	8d 68 02             	lea    0x2(%eax),%ebp
585230:	57                   	push   %edi
585231:	56                   	push   %esi
585232:	c7 44 24 24 02 00 00 	movl   $0x2,0x24(%esp)
585239:	00
58523a:	33 ff                	xor    %edi,%edi
58523c:	e8 7f fe f5 ff       	call   0x4e50c0
585241:	83 c4 04             	add    $0x4,%esp
585244:	85 c0                	test   %eax,%eax
585246:	0f 8e ef 00 00 00    	jle    0x58533b
58524c:	0f 1f 40 00          	nopl   0x0(%eax)
585250:	57                   	push   %edi
585251:	56                   	push   %esi
585252:	85 db                	test   %ebx,%ebx
585254:	74 34                	je     0x58528a
585256:	8d 45 02             	lea    0x2(%ebp),%eax
585259:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58525d:	e8 1e 00 f6 ff       	call   0x4e5280
585262:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
585266:	51                   	push   %ecx
585267:	50                   	push   %eax
585268:	e8 03 fd ff ff       	call   0x584f70
58526d:	83 c4 10             	add    $0x10,%esp
585270:	83 f8 ff             	cmp    $0xffffffff,%eax
585273:	0f 84 96 00 00 00    	je     0x58530f
585279:	8b c8                	mov    %eax,%ecx
58527b:	88 45 01             	mov    %al,0x1(%ebp)
58527e:	c1 f9 08             	sar    $0x8,%ecx
585281:	88 4d 00             	mov    %cl,0x0(%ebp)
585284:	8b 6c 24 14          	mov    0x14(%esp),%ebp
585288:	eb 30                	jmp    0x5852ba
58528a:	e8 f1 ff f5 ff       	call   0x4e5280
58528f:	8b f0                	mov    %eax,%esi
585291:	56                   	push   %esi
585292:	e8 59 fa ff ff       	call   0x584cf0
585297:	83 c4 0c             	add    $0xc,%esp
58529a:	85 c0                	test   %eax,%eax
58529c:	74 48                	je     0x5852e6
58529e:	83 3e 00             	cmpl   $0x0,(%esi)
5852a1:	75 0b                	jne    0x5852ae
5852a3:	8b 46 24             	mov    0x24(%esi),%eax
5852a6:	83 c0 2f             	add    $0x2f,%eax
5852a9:	03 46 30             	add    0x30(%esi),%eax
5852ac:	eb 03                	jmp    0x5852b1
5852ae:	8b 46 08             	mov    0x8(%esi),%eax
5852b1:	83 f8 ff             	cmp    $0xffffffff,%eax
5852b4:	74 59                	je     0x58530f
5852b6:	8b 74 24 1c          	mov    0x1c(%esp),%esi
5852ba:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5852be:	47                   	inc    %edi
5852bf:	83 c1 02             	add    $0x2,%ecx
5852c2:	03 c8                	add    %eax,%ecx
5852c4:	56                   	push   %esi
5852c5:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5852c9:	e8 f2 fd f5 ff       	call   0x4e50c0
5852ce:	83 c4 04             	add    $0x4,%esp
5852d1:	3b f8                	cmp    %eax,%edi
5852d3:	0f 8c 77 ff ff ff    	jl     0x585250
5852d9:	8b 44 24 20          	mov    0x20(%esp),%eax
5852dd:	3d ff ff 00 00       	cmp    $0xffff,%eax
5852e2:	76 5c                	jbe    0x585340
5852e4:	eb 29                	jmp    0x58530f
5852e6:	68 ce 00 00 00       	push   $0xce
5852eb:	68 54 d3 65 00       	push   $0x65d354
5852f0:	6a 6a                	push   $0x6a
5852f2:	6a 6b                	push   $0x6b
5852f4:	6a 32                	push   $0x32
5852f6:	e8 85 3c f5 ff       	call   0x4d8f80
5852fb:	68 fd 00 00 00       	push   $0xfd
585300:	68 54 d3 65 00       	push   $0x65d354
585305:	6a 00                	push   $0x0
585307:	e8 74 b4 f5 ff       	call   0x4e0780
58530c:	83 c4 20             	add    $0x20,%esp
58530f:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
585314:	74 1a                	je     0x585330
585316:	68 72 01 00 00       	push   $0x172
58531b:	68 54 d3 65 00       	push   $0x65d354
585320:	ff 33                	push   (%ebx)
585322:	e8 59 b4 f5 ff       	call   0x4e0780
585327:	83 c4 0c             	add    $0xc,%esp
58532a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
585330:	5f                   	pop    %edi
585331:	5e                   	pop    %esi
585332:	5d                   	pop    %ebp
585333:	83 c8 ff             	or     $0xffffffff,%eax
585336:	5b                   	pop    %ebx
585337:	83 c4 08             	add    $0x8,%esp
58533a:	c3                   	ret
58533b:	b8 02 00 00 00       	mov    $0x2,%eax
585340:	85 db                	test   %ebx,%ebx
585342:	74 1d                	je     0x585361
585344:	8b 13                	mov    (%ebx),%edx
585346:	83 c0 fe             	add    $0xfffffffe,%eax
585349:	c1 e8 08             	shr    $0x8,%eax
58534c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
585351:	88 02                	mov    %al,(%edx)
585353:	8b 44 24 20          	mov    0x20(%esp),%eax
585357:	8d 48 fe             	lea    -0x2(%eax),%ecx
58535a:	88 4a 01             	mov    %cl,0x1(%edx)
58535d:	75 02                	jne    0x585361
58535f:	01 03                	add    %eax,(%ebx)
585361:	5f                   	pop    %edi
585362:	5e                   	pop    %esi
585363:	5d                   	pop    %ebp
585364:	5b                   	pop    %ebx
585365:	83 c4 08             	add    $0x8,%esp
585368:	c3                   	ret
585369:	cc                   	int3
58536a:	cc                   	int3
58536b:	cc                   	int3
58536c:	cc                   	int3
58536d:	cc                   	int3
58536e:	cc                   	int3
58536f:	cc                   	int3
585370:	b8 0c 00 00 00       	mov    $0xc,%eax
585375:	e8 36 c4 04 00       	call   0x5d17b0
58537a:	53                   	push   %ebx
58537b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58537f:	55                   	push   %ebp
585380:	56                   	push   %esi
585381:	33 ed                	xor    %ebp,%ebp
585383:	57                   	push   %edi
585384:	85 db                	test   %ebx,%ebx
585386:	0f 84 78 02 00 00    	je     0x585604
58538c:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
585392:	0f 87 6c 02 00 00    	ja     0x585604
585398:	e8 a3 f9 ff ff       	call   0x584d40
58539d:	8b e8                	mov    %eax,%ebp
58539f:	89 6c 24 14          	mov    %ebp,0x14(%esp)
5853a3:	85 ed                	test   %ebp,%ebp
5853a5:	0f 84 6e 02 00 00    	je     0x585619
5853ab:	8b 44 24 24          	mov    0x24(%esp),%eax
5853af:	8b 38                	mov    (%eax),%edi
5853b1:	0f b6 0f             	movzbl (%edi),%ecx
5853b4:	89 4d 00             	mov    %ecx,0x0(%ebp)
5853b7:	85 c9                	test   %ecx,%ecx
5853b9:	0f 85 00 02 00 00    	jne    0x5855bf
5853bf:	83 fb 2b             	cmp    $0x2b,%ebx
5853c2:	73 07                	jae    0x5853cb
5853c4:	6a 63                	push   $0x63
5853c6:	e9 3b 02 00 00       	jmp    0x585606
5853cb:	6a 68                	push   $0x68
5853cd:	68 54 d3 65 00       	push   $0x65d354
5853d2:	47                   	inc    %edi
5853d3:	83 eb 2b             	sub    $0x2b,%ebx
5853d6:	6a 20                	push   $0x20
5853d8:	57                   	push   %edi
5853d9:	89 5c 24 38          	mov    %ebx,0x38(%esp)
5853dd:	e8 8e cc f5 ff       	call   0x4e2070
5853e2:	83 c4 10             	add    $0x10,%esp
5853e5:	89 45 0c             	mov    %eax,0xc(%ebp)
5853e8:	85 c0                	test   %eax,%eax
5853ea:	0f 84 29 02 00 00    	je     0x585619
5853f0:	c7 45 10 20 00 00 00 	movl   $0x20,0x10(%ebp)
5853f7:	33 f6                	xor    %esi,%esi
5853f9:	0f b6 47 20          	movzbl 0x20(%edi),%eax
5853fd:	99                   	cltd
5853fe:	8b c8                	mov    %eax,%ecx
585400:	c7 45 18 00 00 00 00 	movl   $0x0,0x18(%ebp)
585407:	c1 e1 18             	shl    $0x18,%ecx
58540a:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
58540d:	0f b6 47 21          	movzbl 0x21(%edi),%eax
585411:	83 c7 22             	add    $0x22,%edi
585414:	99                   	cltd
585415:	8b d8                	mov    %eax,%ebx
585417:	89 75 18             	mov    %esi,0x18(%ebp)
58541a:	c1 e3 10             	shl    $0x10,%ebx
58541d:	0b d9                	or     %ecx,%ebx
58541f:	89 7c 24 10          	mov    %edi,0x10(%esp)
585423:	89 5d 1c             	mov    %ebx,0x1c(%ebp)
585426:	33 c9                	xor    %ecx,%ecx
585428:	0f b6 07             	movzbl (%edi),%eax
58542b:	0b ce                	or     %esi,%ecx
58542d:	99                   	cltd
58542e:	0b f1                	or     %ecx,%esi
585430:	8b f8                	mov    %eax,%edi
585432:	89 4d 18             	mov    %ecx,0x18(%ebp)
585435:	c1 e7 08             	shl    $0x8,%edi
585438:	0b fb                	or     %ebx,%edi
58543a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58543e:	89 7d 1c             	mov    %edi,0x1c(%ebp)
585441:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
585445:	99                   	cltd
585446:	8b c8                	mov    %eax,%ecx
585448:	89 75 18             	mov    %esi,0x18(%ebp)
58544b:	0b cf                	or     %edi,%ecx
58544d:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
585450:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
585454:	83 c3 03             	add    $0x3,%ebx
585457:	99                   	cltd
585458:	8b f8                	mov    %eax,%edi
58545a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
58545e:	8b 44 24 14          	mov    0x14(%esp),%eax
585462:	8b ea                	mov    %edx,%ebp
585464:	0f a4 fd 18          	shld   $0x18,%edi,%ebp
585468:	0b e9                	or     %ecx,%ebp
58546a:	c1 e7 18             	shl    $0x18,%edi
58546d:	89 68 1c             	mov    %ebp,0x1c(%eax)
585470:	0b fe                	or     %esi,%edi
585472:	89 78 18             	mov    %edi,0x18(%eax)
585475:	0f b6 03             	movzbl (%ebx),%eax
585478:	99                   	cltd
585479:	8b d8                	mov    %eax,%ebx
58547b:	8b c2                	mov    %edx,%eax
58547d:	0f a4 d8 10          	shld   $0x10,%ebx,%eax
585481:	0b c5                	or     %ebp,%eax
585483:	c1 e3 10             	shl    $0x10,%ebx
585486:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58548a:	0b df                	or     %edi,%ebx
58548c:	8b 7c 24 10          	mov    0x10(%esp),%edi
585490:	89 44 24 18          	mov    %eax,0x18(%esp)
585494:	89 45 1c             	mov    %eax,0x1c(%ebp)
585497:	89 5d 18             	mov    %ebx,0x18(%ebp)
58549a:	0f b6 47 01          	movzbl 0x1(%edi),%eax
58549e:	99                   	cltd
58549f:	8b c8                	mov    %eax,%ecx
5854a1:	8b f2                	mov    %edx,%esi
5854a3:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
5854a7:	0b 74 24 18          	or     0x18(%esp),%esi
5854ab:	c1 e1 08             	shl    $0x8,%ecx
5854ae:	0b cb                	or     %ebx,%ecx
5854b0:	89 75 1c             	mov    %esi,0x1c(%ebp)
5854b3:	89 4d 18             	mov    %ecx,0x18(%ebp)
5854b6:	0f b6 47 02          	movzbl 0x2(%edi),%eax
5854ba:	99                   	cltd
5854bb:	0b c1                	or     %ecx,%eax
5854bd:	0b d6                	or     %esi,%edx
5854bf:	89 45 18             	mov    %eax,0x18(%ebp)
5854c2:	89 55 1c             	mov    %edx,0x1c(%ebp)
5854c5:	0f b6 5f 03          	movzbl 0x3(%edi),%ebx
5854c9:	0f b6 47 04          	movzbl 0x4(%edi),%eax
5854cd:	c1 e3 08             	shl    $0x8,%ebx
5854d0:	0b d8                	or     %eax,%ebx