58810a:	e8 91 93 f1 ff       	call   0x4a14a0
58810f:	83 c4 14             	add    $0x14,%esp
588112:	33 c0                	xor    %eax,%eax
588114:	5f                   	pop    %edi
588115:	5e                   	pop    %esi
588116:	c3                   	ret
588117:	8b 07                	mov    (%edi),%eax
588119:	ff 30                	push   (%eax)
58811b:	e8 c0 f8 f1 ff       	call   0x4a79e0
588120:	50                   	push   %eax
588121:	56                   	push   %esi
588122:	e8 59 d7 f4 ff       	call   0x4d5880
588127:	83 c4 0c             	add    $0xc,%esp
58812a:	85 c0                	test   %eax,%eax
58812c:	75 11                	jne    0x58813f
58812e:	68 94 00 00 00       	push   $0x94
588133:	68 ec 3b 6c 00       	push   $0x6c3bec
588138:	6a 6f                	push   $0x6f
58813a:	e9 ab 00 00 00       	jmp    0x5881ea
58813f:	8b 46 0c             	mov    0xc(%esi),%eax
588142:	8b 40 14             	mov    0x14(%eax),%eax
588145:	85 c0                	test   %eax,%eax
588147:	0f 84 91 00 00 00    	je     0x5881de
58814d:	57                   	push   %edi
58814e:	56                   	push   %esi
58814f:	ff d0                	call   *%eax
588151:	83 c4 08             	add    $0x8,%esp
588154:	85 c0                	test   %eax,%eax
588156:	75 11                	jne    0x588169
588158:	68 9a 00 00 00       	push   $0x9a
58815d:	68 ec 3b 6c 00       	push   $0x6c3bec
588162:	6a 7d                	push   $0x7d
588164:	e9 81 00 00 00       	jmp    0x5881ea
588169:	68 a3 00 00 00       	push   $0xa3
58816e:	68 ec 3b 6c 00       	push   $0x6c3bec
588173:	6a 0a                	push   $0xa
588175:	6a 09                	push   $0x9
588177:	e8 44 84 f1 ff       	call   0x4a05c0
58817c:	83 c4 10             	add    $0x10,%esp
58817f:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
588183:	74 21                	je     0x5881a6
588185:	68 a5 00 00 00       	push   $0xa5
58818a:	68 ec 3b 6c 00       	push   $0x6c3bec
58818f:	6a 0a                	push   $0xa
588191:	6a 0a                	push   $0xa
588193:	e8 28 84 f1 ff       	call   0x4a05c0
588198:	56                   	push   %esi
588199:	e8 12 d5 f4 ff       	call   0x4d56b0
58819e:	8b 77 08             	mov    0x8(%edi),%esi
5881a1:	83 c4 14             	add    $0x14,%esp
5881a4:	eb 19                	jmp    0x5881bf
5881a6:	68 aa 00 00 00       	push   $0xaa
5881ab:	68 ec 3b 6c 00       	push   $0x6c3bec
5881b0:	6a 0a                	push   $0xa
5881b2:	6a 0a                	push   $0xa
5881b4:	89 77 08             	mov    %esi,0x8(%edi)
5881b7:	e8 04 84 f1 ff       	call   0x4a05c0
5881bc:	83 c4 10             	add    $0x10,%esp
5881bf:	68 ac 00 00 00       	push   $0xac
5881c4:	68 ec 3b 6c 00       	push   $0x6c3bec
5881c9:	6a 0a                	push   $0xa
5881cb:	8d 46 08             	lea    0x8(%esi),%eax
5881ce:	6a 01                	push   $0x1
5881d0:	50                   	push   %eax
5881d1:	e8 4a 82 f1 ff       	call   0x4a0420
5881d6:	83 c4 14             	add    $0x14,%esp
5881d9:	8b c6                	mov    %esi,%eax
5881db:	5f                   	pop    %edi
5881dc:	5e                   	pop    %esi
5881dd:	c3                   	ret
5881de:	68 9e 00 00 00       	push   $0x9e
5881e3:	68 ec 3b 6c 00       	push   $0x6c3bec
5881e8:	6a 7c                	push   $0x7c
5881ea:	6a 77                	push   $0x77
5881ec:	6a 0b                	push   $0xb
5881ee:	e8 ad 92 f1 ff       	call   0x4a14a0
5881f3:	83 c4 14             	add    $0x14,%esp
5881f6:	56                   	push   %esi
5881f7:	e8 b4 d4 f4 ff       	call   0x4d56b0
5881fc:	83 c4 04             	add    $0x4,%esp
5881ff:	5f                   	pop    %edi
588200:	33 c0                	xor    %eax,%eax
588202:	5e                   	pop    %esi
588203:	c3                   	ret
588204:	cc                   	int3
588205:	cc                   	int3
588206:	cc                   	int3
588207:	cc                   	int3
588208:	cc                   	int3
588209:	cc                   	int3
58820a:	cc                   	int3
58820b:	cc                   	int3
58820c:	cc                   	int3
58820d:	cc                   	int3
58820e:	cc                   	int3
58820f:	cc                   	int3
588210:	8b 4c 24 04          	mov    0x4(%esp),%ecx
588214:	8b 54 24 14          	mov    0x14(%esp),%edx
588218:	85 c9                	test   %ecx,%ecx
58821a:	74 06                	je     0x588222
58821c:	8b 02                	mov    (%edx),%eax
58821e:	8b 00                	mov    (%eax),%eax
588220:	89 01                	mov    %eax,(%ecx)
588222:	8b 4c 24 08          	mov    0x8(%esp),%ecx
588226:	85 c9                	test   %ecx,%ecx
588228:	74 13                	je     0x58823d
58822a:	8b 42 04             	mov    0x4(%edx),%eax
58822d:	8b 40 08             	mov    0x8(%eax),%eax
588230:	89 01                	mov    %eax,(%ecx)
588232:	8b 42 04             	mov    0x4(%edx),%eax
588235:	8b 08                	mov    (%eax),%ecx
588237:	8b 44 24 0c          	mov    0xc(%esp),%eax
58823b:	89 08                	mov    %ecx,(%eax)
58823d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
588241:	85 c9                	test   %ecx,%ecx
588243:	74 04                	je     0x588249
588245:	8b 02                	mov    (%edx),%eax
588247:	89 01                	mov    %eax,(%ecx)
588249:	b8 01 00 00 00       	mov    $0x1,%eax
58824e:	c3                   	ret
58824f:	cc                   	int3
588250:	b8 b8 3b 6c 00       	mov    $0x6c3bb8,%eax
588255:	c3                   	ret
588256:	cc                   	int3
588257:	cc                   	int3
588258:	cc                   	int3
588259:	cc                   	int3
58825a:	cc                   	int3
58825b:	cc                   	int3
58825c:	cc                   	int3
58825d:	cc                   	int3
58825e:	cc                   	int3
58825f:	cc                   	int3
588260:	56                   	push   %esi
588261:	ff 74 24 14          	push   0x14(%esp)
588265:	8b 74 24 0c          	mov    0xc(%esp),%esi
588269:	ff 74 24 14          	push   0x14(%esp)
58826d:	ff 74 24 14          	push   0x14(%esp)
588271:	ff 36                	push   (%esi)
588273:	e8 38 5e ff ff       	call   0x57e0b0
588278:	83 c4 10             	add    $0x10,%esp
58827b:	85 c0                	test   %eax,%eax
58827d:	75 02                	jne    0x588281
58827f:	5e                   	pop    %esi
588280:	c3                   	ret
588281:	57                   	push   %edi
588282:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
588286:	85 ff                	test   %edi,%edi
588288:	74 30                	je     0x5882ba
58828a:	8b 46 04             	mov    0x4(%esi),%eax
58828d:	8b 40 08             	mov    0x8(%eax),%eax
588290:	85 c0                	test   %eax,%eax
588292:	74 09                	je     0x58829d
588294:	50                   	push   %eax
588295:	e8 96 7e f1 ff       	call   0x4a0130
58829a:	83 c4 04             	add    $0x4,%esp
58829d:	8b 46 04             	mov    0x4(%esi),%eax
5882a0:	89 78 08             	mov    %edi,0x8(%eax)
5882a3:	8b 4e 04             	mov    0x4(%esi),%ecx
5882a6:	8b 44 24 20          	mov    0x20(%esp),%eax
5882aa:	89 01                	mov    %eax,(%ecx)
5882ac:	8b 46 04             	mov    0x4(%esi),%eax
5882af:	83 60 0c f0          	andl   $0xfffffff0,0xc(%eax)
5882b3:	8b 46 04             	mov    0x4(%esi),%eax
5882b6:	83 48 0c 08          	orl    $0x8,0xc(%eax)
5882ba:	5f                   	pop    %edi
5882bb:	b8 01 00 00 00       	mov    $0x1,%eax
5882c0:	5e                   	pop    %esi
5882c1:	c3                   	ret
5882c2:	cc                   	int3
5882c3:	cc                   	int3
5882c4:	cc                   	int3
5882c5:	cc                   	int3
5882c6:	cc                   	int3
5882c7:	cc                   	int3
5882c8:	cc                   	int3
5882c9:	cc                   	int3
5882ca:	cc                   	int3
5882cb:	cc                   	int3
5882cc:	cc                   	int3
5882cd:	cc                   	int3
5882ce:	cc                   	int3
5882cf:	cc                   	int3
5882d0:	8b 44 24 08          	mov    0x8(%esp),%eax
5882d4:	8b 08                	mov    (%eax),%ecx
5882d6:	83 f9 03             	cmp    $0x3,%ecx
5882d9:	77 32                	ja     0x58830d
5882db:	ff 24 8d 30 83 58 00 	jmp    *0x588330(,%ecx,4)
5882e2:	89 44 24 08          	mov    %eax,0x8(%esp)
5882e6:	e9 25 03 00 00       	jmp    0x588610
5882eb:	89 44 24 08          	mov    %eax,0x8(%esp)
5882ef:	e9 1c 12 00 00       	jmp    0x589510
5882f4:	89 44 24 08          	mov    %eax,0x8(%esp)
5882f8:	e9 a3 01 00 00       	jmp    0x5884a0
5882fd:	6a 01                	push   $0x1
5882ff:	50                   	push   %eax
588300:	ff 74 24 0c          	push   0xc(%esp)
588304:	e8 27 b6 00 00       	call   0x593930
588309:	83 c4 0c             	add    $0xc,%esp
58830c:	c3                   	ret
58830d:	68 4b 03 00 00       	push   $0x34b
588312:	68 08 3c 6c 00       	push   $0x6c3c08
588317:	68 9a 00 00 00       	push   $0x9a
58831c:	68 a9 00 00 00       	push   $0xa9
588321:	6a 2e                	push   $0x2e
588323:	e8 78 91 f1 ff       	call   0x4a14a0
588328:	83 c4 14             	add    $0x14,%esp
58832b:	33 c0                	xor    %eax,%eax
58832d:	c3                   	ret
58832e:	66 90                	xchg   %ax,%ax
588330:	e2 82                	loop   0x5882b4
588332:	58                   	pop    %eax
588333:	00 eb                	add    %ch,%bl
588335:	82 58 00 f4          	sbbb   $0xf4,0x0(%eax)
588339:	82 58 00 fd          	sbbb   $0xfd,0x0(%eax)
58833d:	82 58 00 8b          	sbbb   $0x8b,0x0(%eax)
588341:	44                   	inc    %esp
588342:	24 04                	and    $0x4,%al
588344:	8b 08                	mov    (%eax),%ecx
588346:	85 c9                	test   %ecx,%ecx
588348:	75 07                	jne    0x588351
58834a:	8b 40 04             	mov    0x4(%eax),%eax
58834d:	8b 40 18             	mov    0x18(%eax),%eax
588350:	c3                   	ret
588351:	83 f9 01             	cmp    $0x1,%ecx
588354:	75 07                	jne    0x58835d
588356:	8b 40 04             	mov    0x4(%eax),%eax
588359:	8b 40 14             	mov    0x14(%eax),%eax
58835c:	c3                   	ret
58835d:	33 c0                	xor    %eax,%eax
58835f:	c3                   	ret
588360:	8b 44 24 04          	mov    0x4(%esp),%eax
588364:	83 38 00             	cmpl   $0x0,(%eax)
588367:	74 1e                	je     0x588387
588369:	68 27 01 00 00       	push   $0x127
58836e:	68 08 3c 6c 00       	push   $0x6c3c08
588373:	6a 7c                	push   $0x7c
588375:	68 8e 00 00 00       	push   $0x8e
58837a:	6a 2e                	push   $0x2e
58837c:	e8 1f 91 f1 ff       	call   0x4a14a0
588381:	83 c4 14             	add    $0x14,%esp
588384:	33 c0                	xor    %eax,%eax
588386:	c3                   	ret
588387:	8b 54 24 08          	mov    0x8(%esp),%edx
58838b:	8b 48 04             	mov    0x4(%eax),%ecx
58838e:	85 d2                	test   %edx,%edx
588390:	74 05                	je     0x588397
588392:	8b 41 14             	mov    0x14(%ecx),%eax
588395:	89 02                	mov    %eax,(%edx)
588397:	8b 54 24 0c          	mov    0xc(%esp),%edx
58839b:	85 d2                	test   %edx,%edx
58839d:	74 05                	je     0x5883a4
58839f:	8b 41 10             	mov    0x10(%ecx),%eax
5883a2:	89 02                	mov    %eax,(%edx)
5883a4:	8b 54 24 10          	mov    0x10(%esp),%edx
5883a8:	85 d2                	test   %edx,%edx
5883aa:	74 05                	je     0x5883b1
5883ac:	8b 41 08             	mov    0x8(%ecx),%eax
5883af:	89 02                	mov    %eax,(%edx)
5883b1:	b8 01 00 00 00       	mov    $0x1,%eax
5883b6:	c3                   	ret
5883b7:	cc                   	int3
5883b8:	cc                   	int3
5883b9:	cc                   	int3
5883ba:	cc                   	int3
5883bb:	cc                   	int3
5883bc:	cc                   	int3
5883bd:	cc                   	int3
5883be:	cc                   	int3
5883bf:	cc                   	int3
5883c0:	55                   	push   %ebp
5883c1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
5883c5:	57                   	push   %edi
5883c6:	8b 45 04             	mov    0x4(%ebp),%eax
5883c9:	8b 78 0c             	mov    0xc(%eax),%edi
5883cc:	57                   	push   %edi
5883cd:	e8 ce b1 00 00       	call   0x5935a0
5883d2:	83 c4 04             	add    $0x4,%esp
5883d5:	89 44 24 0c          	mov    %eax,0xc(%esp)
5883d9:	85 c0                	test   %eax,%eax
5883db:	0f 84 bb 00 00 00    	je     0x58849c
5883e1:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
5883e5:	0f 84 b1 00 00 00    	je     0x58849c
5883eb:	8b 4d 04             	mov    0x4(%ebp),%ecx
5883ee:	53                   	push   %ebx
5883ef:	56                   	push   %esi
5883f0:	33 f6                	xor    %esi,%esi
5883f2:	8b 59 08             	mov    0x8(%ecx),%ebx
5883f5:	53                   	push   %ebx
5883f6:	e8 15 62 f2 ff       	call   0x4ae610
5883fb:	83 c4 04             	add    $0x4,%esp
5883fe:	85 c0                	test   %eax,%eax
588400:	7e 23                	jle    0x588425
588402:	56                   	push   %esi
588403:	53                   	push   %ebx
588404:	e8 27 63 f2 ff       	call   0x4ae730
588409:	50                   	push   %eax
58840a:	55                   	push   %ebp
58840b:	e8 c0 fe ff ff       	call   0x5882d0
588410:	83 c4 10             	add    $0x10,%esp
588413:	85 c0                	test   %eax,%eax
588415:	7e 5b                	jle    0x588472
588417:	53                   	push   %ebx
588418:	46                   	inc    %esi
588419:	e8 f2 61 f2 ff       	call   0x4ae610
58841e:	83 c4 04             	add    $0x4,%esp
588421:	3b f0                	cmp    %eax,%esi
588423:	7c dd                	jl     0x588402
588425:	ff 75 04             	push   0x4(%ebp)
588428:	e8 73 04 00 00       	call   0x5888a0
58842d:	83 c4 04             	add    $0x4,%esp
588430:	bb 01 00 00 00       	mov    $0x1,%ebx
588435:	8b 47 10             	mov    0x10(%edi),%eax
588438:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
58843f:	85 c0                	test   %eax,%eax
588441:	74 22                	je     0x588465
588443:	ff 77 14             	push   0x14(%edi)
588446:	50                   	push   %eax
588447:	e8 04 7f f1 ff       	call   0x4a0350
58844c:	ff 77 10             	push   0x10(%edi)
58844f:	e8 dc 7c f1 ff       	call   0x4a0130
588454:	83 c4 0c             	add    $0xc,%esp
588457:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
58845e:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
588465:	5e                   	pop    %esi
588466:	85 db                	test   %ebx,%ebx
588468:	5b                   	pop    %ebx
588469:	74 23                	je     0x58848e
58846b:	8b 44 24 0c          	mov    0xc(%esp),%eax
58846f:	5f                   	pop    %edi
588470:	5d                   	pop    %ebp
588471:	c3                   	ret
588472:	68 a9 03 00 00       	push   $0x3a9
588477:	68 08 3c 6c 00       	push   $0x6c3c08
58847c:	6a 74                	push   $0x74
58847e:	6a 7d                	push   $0x7d
588480:	6a 2e                	push   $0x2e
588482:	e8 19 90 f1 ff       	call   0x4a14a0
588487:	83 c4 14             	add    $0x14,%esp
58848a:	33 db                	xor    %ebx,%ebx
58848c:	eb a7                	jmp    0x588435
58848e:	ff 74 24 0c          	push   0xc(%esp)
588492:	e8 e9 a0 f2 ff       	call   0x4b2580
588497:	83 c4 04             	add    $0x4,%esp
58849a:	33 c0                	xor    %eax,%eax
58849c:	5f                   	pop    %edi
58849d:	5d                   	pop    %ebp
58849e:	c3                   	ret
58849f:	cc                   	int3
5884a0:	b8 f8 00 00 00       	mov    $0xf8,%eax