5a8215:	e8 f6 6e fe ff       	call   0x58f110
5a821a:	83 c4 18             	add    $0x18,%esp
5a821d:	83 c8 ff             	or     $0xffffffff,%eax
5a8220:	5e                   	pop    %esi
5a8221:	83 c4 08             	add    $0x8,%esp
5a8224:	c3                   	ret
5a8225:	ff 80 78 01 00 00    	incl   0x178(%eax)
5a822b:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a8231:	83 b8 78 01 00 00 02 	cmpl   $0x2,0x178(%eax)
5a8238:	76 0a                	jbe    0x5a8244
5a823a:	c7 80 78 01 00 00 01 	movl   $0x1,0x178(%eax)
5a8241:	00 00 00
5a8244:	56                   	push   %esi
5a8245:	e8 c6 02 00 00       	call   0x5a8510
5a824a:	56                   	push   %esi
5a824b:	e8 a0 ed ff ff       	call   0x5a6ff0
5a8250:	83 c4 08             	add    $0x8,%esp
5a8253:	5e                   	pop    %esi
5a8254:	83 c4 08             	add    $0x8,%esp
5a8257:	c3                   	ret
5a8258:	33 c0                	xor    %eax,%eax
5a825a:	5e                   	pop    %esi
5a825b:	83 c4 08             	add    $0x8,%esp
5a825e:	c3                   	ret
5a825f:	cc                   	int3
5a8260:	b8 08 00 00 00       	mov    $0x8,%eax
5a8265:	e8 46 95 02 00       	call   0x5d17b0
5a826a:	8d 04 24             	lea    (%esp),%eax
5a826d:	50                   	push   %eax
5a826e:	ff 74 24 10          	push   0x10(%esp)
5a8272:	e8 d9 fd ff ff       	call   0x5a8050
5a8277:	83 c4 08             	add    $0x8,%esp
5a827a:	85 c0                	test   %eax,%eax
5a827c:	74 16                	je     0x5a8294
5a827e:	83 3c 24 00          	cmpl   $0x0,(%esp)
5a8282:	7f 10                	jg     0x5a8294
5a8284:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
5a8289:	7f 09                	jg     0x5a8294
5a828b:	b8 01 00 00 00       	mov    $0x1,%eax
5a8290:	83 c4 08             	add    $0x8,%esp
5a8293:	c3                   	ret
5a8294:	33 c0                	xor    %eax,%eax
5a8296:	83 c4 08             	add    $0x8,%esp
5a8299:	c3                   	ret
5a829a:	cc                   	int3
5a829b:	cc                   	int3
5a829c:	cc                   	int3
5a829d:	cc                   	int3
5a829e:	cc                   	int3
5a829f:	cc                   	int3
5a82a0:	6a 00                	push   $0x0
5a82a2:	6a 00                	push   $0x0
5a82a4:	6a 31                	push   $0x31
5a82a6:	ff 74 24 10          	push   0x10(%esp)
5a82aa:	e8 a1 13 fe ff       	call   0x589650
5a82af:	83 c4 04             	add    $0x4,%esp
5a82b2:	50                   	push   %eax
5a82b3:	e8 78 08 f5 ff       	call   0x4f8b30
5a82b8:	b9 00 01 00 00       	mov    $0x100,%ecx
5a82bd:	83 c4 10             	add    $0x10,%esp
5a82c0:	2b c8                	sub    %eax,%ecx
5a82c2:	8b c1                	mov    %ecx,%eax
5a82c4:	c3                   	ret
5a82c5:	cc                   	int3
5a82c6:	cc                   	int3
5a82c7:	cc                   	int3
5a82c8:	cc                   	int3
5a82c9:	cc                   	int3
5a82ca:	cc                   	int3
5a82cb:	cc                   	int3
5a82cc:	cc                   	int3
5a82cd:	cc                   	int3
5a82ce:	cc                   	int3
5a82cf:	cc                   	int3
5a82d0:	56                   	push   %esi
5a82d1:	57                   	push   %edi
5a82d2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a82d6:	8d 87 50 06 00 00    	lea    0x650(%edi),%eax
5a82dc:	50                   	push   %eax
5a82dd:	e8 ae 61 00 00       	call   0x5ae490
5a82e2:	83 c4 04             	add    $0x4,%esp
5a82e5:	85 c0                	test   %eax,%eax
5a82e7:	0f 84 c8 00 00 00    	je     0x5a83b5
5a82ed:	57                   	push   %edi
5a82ee:	e8 ed 51 fe ff       	call   0x58d4e0
5a82f3:	83 c4 04             	add    $0x4,%esp
5a82f6:	85 c0                	test   %eax,%eax
5a82f8:	0f 84 b7 00 00 00    	je     0x5a83b5
5a82fe:	6a 4d                	push   $0x4d
5a8300:	68 fc 80 66 00       	push   $0x6680fc
5a8305:	68 98 01 00 00       	push   $0x198
5a830a:	e8 31 87 f3 ff       	call   0x4e0a40
5a830f:	8b f0                	mov    %eax,%esi
5a8311:	83 c4 0c             	add    $0xc,%esp
5a8314:	85 f6                	test   %esi,%esi
5a8316:	75 0e                	jne    0x5a8326
5a8318:	57                   	push   %edi
5a8319:	e8 b2 4d fe ff       	call   0x58d0d0
5a831e:	83 c4 04             	add    $0x4,%esp
5a8321:	33 c0                	xor    %eax,%eax
5a8323:	5f                   	pop    %edi
5a8324:	5e                   	pop    %esi
5a8325:	c3                   	ret
5a8326:	e8 b5 03 01 00       	call   0x5b86e0
5a832b:	89 86 10 01 00 00    	mov    %eax,0x110(%esi)
5a8331:	e8 aa 03 01 00       	call   0x5b86e0
5a8336:	8b c8                	mov    %eax,%ecx
5a8338:	89 8e 14 01 00 00    	mov    %ecx,0x114(%esi)
5a833e:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
5a8342:	74 0a                	je     0x5a834e
5a8344:	c7 86 00 01 00 00 00 	movl   $0x100,0x100(%esi)
5a834b:	01 00 00
5a834e:	8b 86 10 01 00 00    	mov    0x110(%esi),%eax
5a8354:	c7 86 18 01 00 00 00 	movl   $0x0,0x118(%esi)
5a835b:	00 00 00
5a835e:	c7 86 1c 01 00 00 00 	movl   $0x0,0x11c(%esi)
5a8365:	00 00 00
5a8368:	85 c0                	test   %eax,%eax
5a836a:	74 22                	je     0x5a838e
5a836c:	85 c9                	test   %ecx,%ecx
5a836e:	74 1e                	je     0x5a838e
5a8370:	8b 47 04             	mov    0x4(%edi),%eax
5a8373:	89 b7 80 00 00 00    	mov    %esi,0x80(%edi)
5a8379:	57                   	push   %edi
5a837a:	8b 40 10             	mov    0x10(%eax),%eax
5a837d:	ff d0                	call   *%eax
5a837f:	83 c4 04             	add    $0x4,%esp
5a8382:	85 c0                	test   %eax,%eax
5a8384:	74 2f                	je     0x5a83b5
5a8386:	5f                   	pop    %edi
5a8387:	b8 01 00 00 00       	mov    $0x1,%eax
5a838c:	5e                   	pop    %esi
5a838d:	c3                   	ret
5a838e:	50                   	push   %eax
5a838f:	e8 7c 02 01 00       	call   0x5b8610
5a8394:	ff b6 14 01 00 00    	push   0x114(%esi)
5a839a:	e8 71 02 01 00       	call   0x5b8610
5a839f:	6a 5f                	push   $0x5f
5a83a1:	68 fc 80 66 00       	push   $0x6680fc
5a83a6:	56                   	push   %esi
5a83a7:	e8 d4 83 f3 ff       	call   0x4e0780
5a83ac:	57                   	push   %edi
5a83ad:	e8 1e 4d fe ff       	call   0x58d0d0
5a83b2:	83 c4 18             	add    $0x18,%esp
5a83b5:	5f                   	pop    %edi
5a83b6:	33 c0                	xor    %eax,%eax
5a83b8:	5e                   	pop    %esi
5a83b9:	c3                   	ret
5a83ba:	cc                   	int3
5a83bb:	cc                   	int3
5a83bc:	cc                   	int3
5a83bd:	cc                   	int3
5a83be:	cc                   	int3
5a83bf:	cc                   	int3
5a83c0:	57                   	push   %edi
5a83c1:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a83c5:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a83cb:	83 b8 18 01 00 00 00 	cmpl   $0x0,0x118(%eax)
5a83d2:	74 3a                	je     0x5a840e
5a83d4:	56                   	push   %esi
5a83d5:	6a 00                	push   $0x0
5a83d7:	6a 00                	push   $0x0
5a83d9:	6a 31                	push   $0x31
5a83db:	57                   	push   %edi
5a83dc:	8b f0                	mov    %eax,%esi
5a83de:	e8 6d 12 fe ff       	call   0x589650
5a83e3:	83 c4 04             	add    $0x4,%esp
5a83e6:	50                   	push   %eax
5a83e7:	e8 44 07 f5 ff       	call   0x4f8b30
5a83ec:	8b 8e 18 01 00 00    	mov    0x118(%esi),%ecx
5a83f2:	83 c4 10             	add    $0x10,%esp
5a83f5:	2b c8                	sub    %eax,%ecx
5a83f7:	89 8e 1c 01 00 00    	mov    %ecx,0x11c(%esi)
5a83fd:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a8403:	5e                   	pop    %esi
5a8404:	c7 80 18 01 00 00 00 	movl   $0x0,0x118(%eax)
5a840b:	00 00 00
5a840e:	6a 00                	push   $0x0
5a8410:	6a 00                	push   $0x0
5a8412:	6a 31                	push   $0x31
5a8414:	57                   	push   %edi
5a8415:	e8 36 12 fe ff       	call   0x589650
5a841a:	83 c4 04             	add    $0x4,%esp
5a841d:	50                   	push   %eax
5a841e:	e8 0d 07 f5 ff       	call   0x4f8b30
5a8423:	b9 00 01 00 00       	mov    $0x100,%ecx
5a8428:	83 c4 10             	add    $0x10,%esp
5a842b:	2b c8                	sub    %eax,%ecx
5a842d:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a8433:	39 88 1c 01 00 00    	cmp    %ecx,0x11c(%eax)
5a8439:	0f 83 b2 00 00 00    	jae    0x5a84f1
5a843f:	57                   	push   %edi
5a8440:	e8 db 11 fe ff       	call   0x589620
5a8445:	83 c4 04             	add    $0x4,%esp
5a8448:	a9 00 10 00 00       	test   $0x1000,%eax
5a844d:	0f 85 a5 00 00 00    	jne    0x5a84f8
5a8453:	6a 00                	push   $0x0
5a8455:	6a 00                	push   $0x0
5a8457:	6a 28                	push   $0x28
5a8459:	57                   	push   %edi
5a845a:	e8 f1 11 fe ff       	call   0x589650
5a845f:	83 c4 04             	add    $0x4,%esp
5a8462:	50                   	push   %eax
5a8463:	e8 c8 06 f5 ff       	call   0x4f8b30
5a8468:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
5a846e:	83 c4 10             	add    $0x10,%esp
5a8471:	6a 00                	push   $0x0
5a8473:	6a 00                	push   $0x0
5a8475:	6a 31                	push   $0x31
5a8477:	57                   	push   %edi
5a8478:	89 81 1c 01 00 00    	mov    %eax,0x11c(%ecx)
5a847e:	e8 cd 11 fe ff       	call   0x589650
5a8483:	83 c4 04             	add    $0x4,%esp
5a8486:	50                   	push   %eax
5a8487:	e8 a4 06 f5 ff       	call   0x4f8b30
5a848c:	b9 00 01 00 00       	mov    $0x100,%ecx
5a8491:	83 c4 10             	add    $0x10,%esp
5a8494:	2b c8                	sub    %eax,%ecx
5a8496:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a849c:	39 88 1c 01 00 00    	cmp    %ecx,0x11c(%eax)
5a84a2:	73 4d                	jae    0x5a84f1
5a84a4:	6a 00                	push   $0x0
5a84a6:	6a 00                	push   $0x0
5a84a8:	6a 31                	push   $0x31
5a84aa:	57                   	push   %edi
5a84ab:	e8 a0 11 fe ff       	call   0x589650
5a84b0:	83 c4 04             	add    $0x4,%esp
5a84b3:	50                   	push   %eax
5a84b4:	e8 77 06 f5 ff       	call   0x4f8b30
5a84b9:	b9 00 01 00 00       	mov    $0x100,%ecx
5a84be:	83 c4 10             	add    $0x10,%esp
5a84c1:	2b c8                	sub    %eax,%ecx
5a84c3:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a84c9:	6a 00                	push   $0x0
5a84cb:	89 88 1c 01 00 00    	mov    %ecx,0x11c(%eax)
5a84d1:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a84d7:	ff b0 1c 01 00 00    	push   0x11c(%eax)
5a84dd:	6a 2a                	push   $0x2a
5a84df:	57                   	push   %edi
5a84e0:	e8 6b 11 fe ff       	call   0x589650
5a84e5:	83 c4 04             	add    $0x4,%esp
5a84e8:	50                   	push   %eax
5a84e9:	e8 42 06 f5 ff       	call   0x4f8b30
5a84ee:	83 c4 10             	add    $0x10,%esp
5a84f1:	b8 01 00 00 00       	mov    $0x1,%eax
5a84f6:	5f                   	pop    %edi
5a84f7:	c3                   	ret
5a84f8:	33 c0                	xor    %eax,%eax
5a84fa:	5f                   	pop    %edi
5a84fb:	c3                   	ret
5a84fc:	cc                   	int3
5a84fd:	cc                   	int3
5a84fe:	cc                   	int3
5a84ff:	cc                   	int3
5a8500:	e9 9b 52 fe ff       	jmp    0x58d7a0
5a8505:	cc                   	int3
5a8506:	cc                   	int3
5a8507:	cc                   	int3
5a8508:	cc                   	int3
5a8509:	cc                   	int3
5a850a:	cc                   	int3
5a850b:	cc                   	int3
5a850c:	cc                   	int3
5a850d:	cc                   	int3
5a850e:	cc                   	int3
5a850f:	cc                   	int3
5a8510:	57                   	push   %edi
5a8511:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a8515:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a851b:	83 b8 84 01 00 00 00 	cmpl   $0x0,0x184(%eax)
5a8522:	75 33                	jne    0x5a8557
5a8524:	83 b8 88 01 00 00 00 	cmpl   $0x0,0x188(%eax)
5a852b:	75 2a                	jne    0x5a8557
5a852d:	8b 88 94 01 00 00    	mov    0x194(%eax),%ecx
5a8533:	85 c9                	test   %ecx,%ecx
5a8535:	74 16                	je     0x5a854d
5a8537:	6a 00                	push   $0x0
5a8539:	57                   	push   %edi
5a853a:	ff d1                	call   *%ecx
5a853c:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
5a8542:	83 c4 08             	add    $0x8,%esp
5a8545:	89 81 8c 01 00 00    	mov    %eax,0x18c(%ecx)
5a854b:	eb 0a                	jmp    0x5a8557
5a854d:	c7 80 8c 01 00 00 40 	movl   $0xf4240,0x18c(%eax)
5a8554:	42 0f 00
5a8557:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a855d:	05 84 01 00 00       	add    $0x184,%eax
5a8562:	56                   	push   %esi
5a8563:	50                   	push   %eax
5a8564:	e8 f7 00 00 00       	call   0x5a8660
5a8569:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
5a856f:	b8 83 de 1b 43       	mov    $0x431bde83,%eax
5a8574:	83 c4 04             	add    $0x4,%esp
5a8577:	8b b1 8c 01 00 00    	mov    0x18c(%ecx),%esi
5a857d:	f7 e6                	mul    %esi
5a857f:	c1 ea 12             	shr    $0x12,%edx
5a8582:	01 91 84 01 00 00    	add    %edx,0x184(%ecx)
5a8588:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
5a858e:	69 c2 40 42 0f 00    	imul   $0xf4240,%edx,%eax
5a8594:	2b f0                	sub    %eax,%esi
5a8596:	01 b1 88 01 00 00    	add    %esi,0x188(%ecx)
5a859c:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a85a2:	5e                   	pop    %esi
5a85a3:	81 b8 88 01 00 00 40 	cmpl   $0xf4240,0x188(%eax)
5a85aa:	42 0f 00
5a85ad:	7c 1c                	jl     0x5a85cb
5a85af:	ff 80 84 01 00 00    	incl   0x184(%eax)
5a85b5:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a85bb:	81 80 88 01 00 00 c0 	addl   $0xfff0bdc0,0x188(%eax)
5a85c2:	bd f0 ff
5a85c5:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
5a85cb:	05 84 01 00 00       	add    $0x184,%eax
5a85d0:	50                   	push   %eax
5a85d1:	6a 00                	push   $0x0
5a85d3:	6a 2d                	push   $0x2d
5a85d5:	57                   	push   %edi
5a85d6:	e8 75 ec f3 ff       	call   0x4e7250
5a85db:	83 c4 04             	add    $0x4,%esp
5a85de:	50                   	push   %eax
5a85df:	e8 4c 05 f5 ff       	call   0x4f8b30
5a85e4:	83 c4 10             	add    $0x10,%esp
5a85e7:	5f                   	pop    %edi
5a85e8:	c3                   	ret
5a85e9:	cc                   	int3
5a85ea:	cc                   	int3
5a85eb:	cc                   	int3
5a85ec:	cc                   	int3
5a85ed:	cc                   	int3
5a85ee:	cc                   	int3
5a85ef:	cc                   	int3
5a85f0:	56                   	push   %esi
5a85f1:	8b 74 24 08          	mov    0x8(%esp),%esi
5a85f5:	0f 57 c0             	xorps  %xmm0,%xmm0
5a85f8:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a85fe:	66 0f d6 80 78 01 00 	movq   %xmm0,0x178(%eax)
5a8605:	00
5a8606:	c7 80 80 01 00 00 00 	movl   $0x0,0x180(%eax)
5a860d:	00 00 00
5a8610:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a8616:	66 0f d6 80 84 01 00 	movq   %xmm0,0x184(%eax)
5a861d:	00
5a861e:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a8624:	c7 80 8c 01 00 00 40 	movl   $0xf4240,0x18c(%eax)
5a862b:	42 0f 00
5a862e:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a8634:	05 84 01 00 00       	add    $0x184,%eax
5a8639:	50                   	push   %eax
5a863a:	6a 00                	push   $0x0
5a863c:	6a 2d                	push   $0x2d
5a863e:	56                   	push   %esi