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
5a863f:	e8 0c ec f3 ff       	call   0x4e7250
5a8644:	83 c4 04             	add    $0x4,%esp
5a8647:	50                   	push   %eax
5a8648:	e8 e3 04 f5 ff       	call   0x4f8b30
5a864d:	56                   	push   %esi
5a864e:	e8 8d f6 ff ff       	call   0x5a7ce0
5a8653:	83 c4 14             	add    $0x14,%esp
5a8656:	5e                   	pop    %esi
5a8657:	c3                   	ret
5a8658:	cc                   	int3
5a8659:	cc                   	int3
5a865a:	cc                   	int3
5a865b:	cc                   	int3
5a865c:	cc                   	int3
5a865d:	cc                   	int3
5a865e:	cc                   	int3
5a865f:	cc                   	int3
5a8660:	b8 24 00 00 00       	mov    $0x24,%eax
5a8665:	e8 46 91 02 00       	call   0x5d17b0
5a866a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a866f:	33 c4                	xor    %esp,%eax
5a8671:	89 44 24 20          	mov    %eax,0x20(%esp)
5a8675:	8b 44 24 28          	mov    0x28(%esp),%eax
5a8679:	53                   	push   %ebx
5a867a:	55                   	push   %ebp
5a867b:	56                   	push   %esi
5a867c:	89 44 24 14          	mov    %eax,0x14(%esp)
5a8680:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a8684:	57                   	push   %edi
5a8685:	50                   	push   %eax
5a8686:	ff 15 04 22 60 00    	call   *0x602204
5a868c:	8d 44 24 10          	lea    0x10(%esp),%eax
5a8690:	50                   	push   %eax
5a8691:	8d 44 24 24          	lea    0x24(%esp),%eax
5a8695:	50                   	push   %eax
5a8696:	ff 15 08 22 60 00    	call   *0x602208
5a869c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5a86a0:	ba bd 42 7a e5       	mov    $0xe57a42bd,%edx
5a86a5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a86a9:	81 c3 00 80 c1 2a    	add    $0x2ac18000,%ebx
5a86af:	8b c3                	mov    %ebx,%eax
5a86b1:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5a86b5:	81 d1 21 4e 62 fe    	adc    $0xfe624e21,%ecx
5a86bb:	bd d5 94 bf d6       	mov    $0xd6bf94d5,%ebp
5a86c0:	f7 e2                	mul    %edx
5a86c2:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a86c6:	89 44 24 20          	mov    %eax,0x20(%esp)
5a86ca:	8b f2                	mov    %edx,%esi
5a86cc:	8b c3                	mov    %ebx,%eax
5a86ce:	f7 e5                	mul    %ebp
5a86d0:	8b f8                	mov    %eax,%edi
5a86d2:	8b ea                	mov    %edx,%ebp
5a86d4:	8b c1                	mov    %ecx,%eax
5a86d6:	b9 bd 42 7a e5       	mov    $0xe57a42bd,%ecx
5a86db:	f7 e1                	mul    %ecx
5a86dd:	8b c8                	mov    %eax,%ecx
5a86df:	8b da                	mov    %edx,%ebx
5a86e1:	8b 44 24 10          	mov    0x10(%esp),%eax
5a86e5:	ba d5 94 bf d6       	mov    $0xd6bf94d5,%edx
5a86ea:	f7 e2                	mul    %edx
5a86ec:	03 ce                	add    %esi,%ecx
5a86ee:	8b 74 24 18          	mov    0x18(%esp),%esi
5a86f2:	89 44 24 10          	mov    %eax,0x10(%esp)
5a86f6:	83 d3 00             	adc    $0x0,%ebx
5a86f9:	03 f9                	add    %ecx,%edi
5a86fb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a86ff:	83 d5 00             	adc    $0x0,%ebp
5a8702:	89 7c 24 20          	mov    %edi,0x20(%esp)
5a8706:	33 c0                	xor    %eax,%eax
5a8708:	03 dd                	add    %ebp,%ebx
5a870a:	5f                   	pop    %edi
5a870b:	13 c0                	adc    %eax,%eax
5a870d:	03 cb                	add    %ebx,%ecx
5a870f:	13 d0                	adc    %eax,%edx
5a8711:	0f ac d1 17          	shrd   $0x17,%edx,%ecx
5a8715:	69 c1 80 96 98 00    	imul   $0x989680,%ecx,%eax
5a871b:	89 0e                	mov    %ecx,(%esi)
5a871d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a8721:	2b c8                	sub    %eax,%ecx
5a8723:	b8 67 66 66 66       	mov    $0x66666667,%eax
5a8728:	f7 e9                	imul   %ecx
5a872a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5a872e:	c1 fa 02             	sar    $0x2,%edx
5a8731:	8b c2                	mov    %edx,%eax
5a8733:	c1 e8 1f             	shr    $0x1f,%eax
5a8736:	03 c2                	add    %edx,%eax
5a8738:	89 46 04             	mov    %eax,0x4(%esi)
5a873b:	5e                   	pop    %esi
5a873c:	5d                   	pop    %ebp
5a873d:	5b                   	pop    %ebx
5a873e:	33 cc                	xor    %esp,%ecx
5a8740:	e8 e1 92 02 00       	call   0x5d1a26
5a8745:	83 c4 24             	add    $0x24,%esp
5a8748:	c3                   	ret
5a8749:	cc                   	int3
5a874a:	cc                   	int3
5a874b:	cc                   	int3
5a874c:	cc                   	int3
5a874d:	cc                   	int3
5a874e:	cc                   	int3
5a874f:	cc                   	int3
5a8750:	b8 08 00 00 00       	mov    $0x8,%eax
5a8755:	e8 56 90 02 00       	call   0x5d17b0
5a875a:	8b 54 24 0c          	mov    0xc(%esp),%edx
5a875e:	56                   	push   %esi
5a875f:	57                   	push   %edi
5a8760:	8b 7a 04             	mov    0x4(%edx),%edi
5a8763:	8b 32                	mov    (%edx),%esi
5a8765:	83 ff 02             	cmp    $0x2,%edi
5a8768:	72 36                	jb     0x5a87a0
5a876a:	0f b6 0e             	movzbl (%esi),%ecx
5a876d:	0f b6 46 01          	movzbl 0x1(%esi),%eax
5a8771:	83 c6 02             	add    $0x2,%esi
5a8774:	c1 e1 08             	shl    $0x8,%ecx
5a8777:	0b c8                	or     %eax,%ecx
5a8779:	8d 47 fe             	lea    -0x2(%edi),%eax
5a877c:	3b c1                	cmp    %ecx,%eax
5a877e:	72 20                	jb     0x5a87a0
5a8780:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
5a8783:	2b c1                	sub    %ecx,%eax
5a8785:	75 19                	jne    0x5a87a0
5a8787:	89 42 04             	mov    %eax,0x4(%edx)
5a878a:	8b 44 24 18          	mov    0x18(%esp),%eax
5a878e:	89 3a                	mov    %edi,(%edx)
5a8790:	5f                   	pop    %edi
5a8791:	89 30                	mov    %esi,(%eax)
5a8793:	89 48 04             	mov    %ecx,0x4(%eax)
5a8796:	b8 01 00 00 00       	mov    $0x1,%eax
5a879b:	5e                   	pop    %esi
5a879c:	83 c4 08             	add    $0x8,%esp
5a879f:	c3                   	ret
5a87a0:	5f                   	pop    %edi
5a87a1:	33 c0                	xor    %eax,%eax
5a87a3:	5e                   	pop    %esi
5a87a4:	83 c4 08             	add    $0x8,%esp
5a87a7:	c3                   	ret
5a87a8:	cc                   	int3
5a87a9:	cc                   	int3
5a87aa:	cc                   	int3
5a87ab:	cc                   	int3
5a87ac:	cc                   	int3
5a87ad:	cc                   	int3
5a87ae:	cc                   	int3
5a87af:	cc                   	int3
5a87b0:	8b 54 24 04          	mov    0x4(%esp),%edx
5a87b4:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
5a87b8:	74 16                	je     0x5a87d0
5a87ba:	8b 02                	mov    (%edx),%eax
5a87bc:	0f b6 08             	movzbl (%eax),%ecx
5a87bf:	8b 44 24 08          	mov    0x8(%esp),%eax
5a87c3:	89 08                	mov    %ecx,(%eax)
5a87c5:	b8 01 00 00 00       	mov    $0x1,%eax
5a87ca:	ff 02                	incl   (%edx)
5a87cc:	ff 4a 04             	decl   0x4(%edx)
5a87cf:	c3                   	ret
5a87d0:	33 c0                	xor    %eax,%eax
5a87d2:	c3                   	ret
5a87d3:	cc                   	int3
5a87d4:	cc                   	int3
5a87d5:	cc                   	int3
5a87d6:	cc                   	int3
5a87d7:	cc                   	int3
5a87d8:	cc                   	int3
5a87d9:	cc                   	int3
5a87da:	cc                   	int3
5a87db:	cc                   	int3
5a87dc:	cc                   	int3
5a87dd:	cc                   	int3
5a87de:	cc                   	int3
5a87df:	cc                   	int3
5a87e0:	57                   	push   %edi
5a87e1:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a87e5:	83 7f 04 03          	cmpl   $0x3,0x4(%edi)
5a87e9:	72 35                	jb     0x5a8820
5a87eb:	8b 07                	mov    (%edi),%eax