85a505:	cc                   	int3
85a506:	cc                   	int3
85a507:	cc                   	int3
85a508:	cc                   	int3
85a509:	55                   	push   %ebp
85a50a:	8b ec                	mov    %esp,%ebp
85a50c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
85a510:	56                   	push   %esi
85a511:	8b 75 10             	mov    0x10(%ebp),%esi
85a514:	74 17                	je     0x85a52d
85a516:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)
85a51d:	77 0e                	ja     0x85a52d
85a51f:	56                   	push   %esi
85a520:	ff 75 0c             	push   0xc(%ebp)
85a523:	ff 75 08             	push   0x8(%ebp)
85a526:	e8 25 00 00 00       	call   0x85a550
85a52b:	eb 05                	jmp    0x85a532
85a52d:	b8 57 00 07 80       	mov    $0x80070057,%eax
85a532:	85 c0                	test   %eax,%eax
85a534:	79 07                	jns    0x85a53d
85a536:	85 f6                	test   %esi,%esi
85a538:	74 03                	je     0x85a53d
85a53a:	83 26 00             	andl   $0x0,(%esi)
85a53d:	5e                   	pop    %esi
85a53e:	5d                   	pop    %ebp
85a53f:	c2 0c 00             	ret    $0xc
85a542:	cc                   	int3
85a543:	cc                   	int3
85a544:	cc                   	int3
85a545:	cc                   	int3
85a546:	cc                   	int3
85a547:	cc                   	int3
85a548:	cc                   	int3
85a549:	cc                   	int3
85a54a:	cc                   	int3
85a54b:	cc                   	int3
85a54c:	cc                   	int3
85a54d:	cc                   	int3
85a54e:	cc                   	int3
85a54f:	cc                   	int3
85a550:	55                   	push   %ebp
85a551:	8b ec                	mov    %esp,%ebp
85a553:	8b 45 0c             	mov    0xc(%ebp),%eax
85a556:	56                   	push   %esi
85a557:	57                   	push   %edi
85a558:	33 ff                	xor    %edi,%edi
85a55a:	8b f0                	mov    %eax,%esi
85a55c:	85 c0                	test   %eax,%eax
85a55e:	74 10                	je     0x85a570
85a560:	8b 4d 08             	mov    0x8(%ebp),%ecx
85a563:	66 39 39             	cmp    %di,(%ecx)
85a566:	74 08                	je     0x85a570
85a568:	83 c1 02             	add    $0x2,%ecx
85a56b:	83 e8 01             	sub    $0x1,%eax
85a56e:	75 f3                	jne    0x85a563
85a570:	8b 55 10             	mov    0x10(%ebp),%edx
85a573:	8b c8                	mov    %eax,%ecx
85a575:	f7 d9                	neg    %ecx
85a577:	1b c9                	sbb    %ecx,%ecx
85a579:	81 e1 a9 ff f8 7f    	and    $0x7ff8ffa9,%ecx
85a57f:	85 d2                	test   %edx,%edx
85a581:	74 0c                	je     0x85a58f
85a583:	85 c0                	test   %eax,%eax
85a585:	74 06                	je     0x85a58d
85a587:	2b f0                	sub    %eax,%esi
85a589:	89 32                	mov    %esi,(%edx)
85a58b:	eb 02                	jmp    0x85a58f
85a58d:	89 3a                	mov    %edi,(%edx)
85a58f:	5f                   	pop    %edi
85a590:	8d 81 57 00 07 80    	lea    -0x7ff8ffa9(%ecx),%eax
85a596:	5e                   	pop    %esi
85a597:	5d                   	pop    %ebp
85a598:	c2 0c 00             	ret    $0xc
85a59b:	cc                   	int3
85a59c:	cc                   	int3
85a59d:	cc                   	int3
85a59e:	cc                   	int3
85a59f:	cc                   	int3
85a5a0:	cc                   	int3
85a5a1:	cc                   	int3
85a5a2:	cc                   	int3
85a5a3:	cc                   	int3
85a5a4:	cc                   	int3
85a5a5:	cc                   	int3
85a5a6:	cc                   	int3
85a5a7:	cc                   	int3
85a5a8:	cc                   	int3
85a5a9:	cc                   	int3
85a5aa:	cc                   	int3
85a5ab:	cc                   	int3
85a5ac:	cc                   	int3
85a5ad:	55                   	push   %ebp
85a5ae:	8b ec                	mov    %esp,%ebp
85a5b0:	56                   	push   %esi
85a5b1:	ff 75 14             	push   0x14(%ebp)
85a5b4:	8b f1                	mov    %ecx,%esi
85a5b6:	ff 75 10             	push   0x10(%ebp)
85a5b9:	ff 75 0c             	push   0xc(%ebp)
85a5bc:	ff 75 08             	push   0x8(%ebp)
85a5bf:	ff 76 04             	push   0x4(%esi)
85a5c2:	ff 15 c0 34 d8 00    	call   *0xd834c0
85a5c8:	85 c0                	test   %eax,%eax
85a5ca:	75 0f                	jne    0x85a5db
85a5cc:	ff 76 0c             	push   0xc(%esi)
85a5cf:	ff 15 d4 36 d8 00    	call   *0xd836d4
85a5d5:	50                   	push   %eax
85a5d6:	e8 9b 51 bc ff       	call   0x41f776
85a5db:	5e                   	pop    %esi
85a5dc:	5d                   	pop    %ebp
85a5dd:	c2 10 00             	ret    $0x10
85a5e0:	cc                   	int3
85a5e1:	cc                   	int3
85a5e2:	cc                   	int3
85a5e3:	cc                   	int3
85a5e4:	cc                   	int3
85a5e5:	cc                   	int3
85a5e6:	cc                   	int3
85a5e7:	cc                   	int3
85a5e8:	cc                   	int3
85a5e9:	cc                   	int3
85a5ea:	cc                   	int3
85a5eb:	cc                   	int3
85a5ec:	55                   	push   %ebp
85a5ed:	8b ec                	mov    %esp,%ebp
85a5ef:	51                   	push   %ecx
85a5f0:	56                   	push   %esi
85a5f1:	8b 75 0c             	mov    0xc(%ebp),%esi
85a5f4:	57                   	push   %edi
85a5f5:	8b f9                	mov    %ecx,%edi
85a5f7:	85 f6                	test   %esi,%esi
85a5f9:	74 2b                	je     0x85a626
85a5fb:	6a 00                	push   $0x0
85a5fd:	8d 45 fc             	lea    -0x4(%ebp),%eax
85a600:	50                   	push   %eax
85a601:	56                   	push   %esi
85a602:	ff 75 08             	push   0x8(%ebp)
85a605:	ff 77 04             	push   0x4(%edi)
85a608:	ff 15 14 35 d8 00    	call   *0xd83514
85a60e:	85 c0                	test   %eax,%eax
85a610:	75 0f                	jne    0x85a621
85a612:	ff 77 0c             	push   0xc(%edi)
85a615:	ff 15 d4 36 d8 00    	call   *0xd836d4
85a61b:	50                   	push   %eax
85a61c:	e8 55 51 bc ff       	call   0x41f776
85a621:	39 75 fc             	cmp    %esi,-0x4(%ebp)
85a624:	75 08                	jne    0x85a62e
85a626:	5f                   	pop    %edi
85a627:	5e                   	pop    %esi
85a628:	8b e5                	mov    %ebp,%esp
85a62a:	5d                   	pop    %ebp
85a62b:	c2 08 00             	ret    $0x8
85a62e:	8d 4f 0c             	lea    0xc(%edi),%ecx
85a631:	e8 fe e9 ba ff       	call   0x409034
85a636:	50                   	push   %eax
85a637:	6a ff                	push   $0xffffffff
85a639:	6a 0d                	push   $0xd
85a63b:	e8 f9 3e bb ff       	call   0x40e539
85a640:	cc                   	int3
85a641:	cc                   	int3
85a642:	cc                   	int3
85a643:	cc                   	int3
85a644:	cc                   	int3
85a645:	cc                   	int3
85a646:	cc                   	int3
85a647:	cc                   	int3
85a648:	cc                   	int3
85a649:	cc                   	int3
85a64a:	cc                   	int3
85a64b:	cc                   	int3
85a64c:	cc                   	int3
85a64d:	cc                   	int3
85a64e:	cc                   	int3
85a64f:	cc                   	int3
85a650:	cc                   	int3
85a651:	cc                   	int3
85a652:	cc                   	int3
85a653:	cc                   	int3
85a654:	cc                   	int3
85a655:	cc                   	int3
85a656:	55                   	push   %ebp
85a657:	8b ec                	mov    %esp,%ebp
85a659:	56                   	push   %esi
85a65a:	8b 75 08             	mov    0x8(%ebp),%esi
85a65d:	85 f6                	test   %esi,%esi
85a65f:	74 1d                	je     0x85a67e
85a661:	ff 15 d4 36 d8 00    	call   *0xd836d4
85a667:	50                   	push   %eax
85a668:	89 46 0c             	mov    %eax,0xc(%esi)
85a66b:	e8 03 36 bc ff       	call   0x41dc73
85a670:	ff 75 0c             	push   0xc(%ebp)
85a673:	8d 4e 10             	lea    0x10(%esi),%ecx
85a676:	89 46 08             	mov    %eax,0x8(%esi)
85a679:	e8 0c 8e bb ff       	call   0x41348a
85a67e:	5e                   	pop    %esi
85a67f:	5d                   	pop    %ebp
85a680:	c2 08 00             	ret    $0x8
85a683:	cc                   	int3
85a684:	cc                   	int3
85a685:	cc                   	int3
85a686:	cc                   	int3
85a687:	cc                   	int3
85a688:	cc                   	int3
85a689:	cc                   	int3
85a68a:	cc                   	int3
85a68b:	cc                   	int3
85a68c:	cc                   	int3
85a68d:	cc                   	int3
85a68e:	68 68 02 00 00       	push   $0x268
85a693:	b8 6b c4 b9 00       	mov    $0xb9c46b,%eax
85a698:	e8 c8 79 bd ff       	call   0x432065
85a69d:	8b 45 08             	mov    0x8(%ebp),%eax
85a6a0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
85a6a3:	8b 7d 10             	mov    0x10(%ebp),%edi
85a6a6:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
85a6ac:	85 c0                	test   %eax,%eax
85a6ae:	75 05                	jne    0x85a6b5
85a6b0:	e8 b1 78 bd ff       	call   0x431f66
85a6b5:	85 db                	test   %ebx,%ebx
85a6b7:	74 f7                	je     0x85a6b0
85a6b9:	8d 8d 98 fd ff ff    	lea    -0x268(%ebp),%ecx
85a6bf:	be 04 01 00 00       	mov    $0x104,%esi
85a6c4:	51                   	push   %ecx
85a6c5:	50                   	push   %eax
85a6c6:	56                   	push   %esi
85a6c7:	53                   	push   %ebx
85a6c8:	ff 15 10 36 d8 00    	call   *0xd83610
85a6ce:	85 c0                	test   %eax,%eax
85a6d0:	75 26                	jne    0x85a6f8
85a6d2:	6a ff                	push   $0xffffffff
85a6d4:	53                   	push   %ebx
85a6d5:	56                   	push   %esi
85a6d6:	ff b5 9c fd ff ff    	push   -0x264(%ebp)
85a6dc:	e8 bd e0 bd ff       	call   0x43879e
85a6e1:	50                   	push   %eax
85a6e2:	e8 42 c0 bc ff       	call   0x426729
85a6e7:	83 c4 14             	add    $0x14,%esp
85a6ea:	53                   	push   %ebx
85a6eb:	57                   	push   %edi
85a6ec:	e8 5d 46 bc ff       	call   0x41ed4e
85a6f1:	33 c0                	xor    %eax,%eax
85a6f3:	e9 25 01 00 00       	jmp    0x85a81d
85a6f8:	3b c6                	cmp    %esi,%eax
85a6fa:	72 16                	jb     0x85a712
85a6fc:	85 ff                	test   %edi,%edi
85a6fe:	74 f1                	je     0x85a6f1
85a700:	53                   	push   %ebx
85a701:	8d 4f 10             	lea    0x10(%edi),%ecx
85a704:	c7 47 08 03 00 00 00 	movl   $0x3,0x8(%edi)
85a70b:	e8 7a 8d bb ff       	call   0x41348a
85a710:	eb df                	jmp    0x85a6f1
85a712:	e8 fe be bd ff       	call   0x436615
85a717:	50                   	push   %eax
85a718:	8d 8d 94 fd ff ff    	lea    -0x26c(%ebp),%ecx
85a71e:	e8 f1 f4 ba ff       	call   0x409c14
85a723:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
85a727:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
85a72d:	50                   	push   %eax
85a72e:	ff b5 9c fd ff ff    	push   -0x264(%ebp)
85a734:	e8 0c 09 bc ff       	call   0x41b045
85a739:	8b b5 94 fd ff ff    	mov    -0x26c(%ebp),%esi
85a73f:	56                   	push   %esi
85a740:	ff 15 a8 3c d8 00    	call   *0xd83ca8
85a746:	85 c0                	test   %eax,%eax
85a748:	0f 85 c4 00 00 00    	jne    0x85a812
85a74e:	33 c9                	xor    %ecx,%ecx
85a750:	8d 85 90 fd ff ff    	lea    -0x270(%ebp),%eax
85a756:	51                   	push   %ecx
85a757:	51                   	push   %ecx
85a758:	50                   	push   %eax
85a759:	8d 85 8c fd ff ff    	lea    -0x274(%ebp),%eax
85a75f:	50                   	push   %eax
85a760:	51                   	push   %ecx
85a761:	51                   	push   %ecx
85a762:	51                   	push   %ecx
85a763:	56                   	push   %esi
85a764:	ff 15 9c 36 d8 00    	call   *0xd8369c
85a76a:	85 c0                	test   %eax,%eax
85a76c:	75 14                	jne    0x85a782
85a76e:	53                   	push   %ebx
85a76f:	57                   	push   %edi
85a770:	e8 d9 45 bc ff       	call   0x41ed4e
85a775:	8d 4e f0             	lea    -0x10(%esi),%ecx
85a778:	e8 97 a4 ba ff       	call   0x404c14
85a77d:	e9 6f ff ff ff       	jmp    0x85a6f1
85a782:	8b 85 90 fd ff ff    	mov    -0x270(%ebp),%eax
85a788:	a8 02                	test   $0x2,%al
85a78a:	75 12                	jne    0x85a79e
85a78c:	ff b5 9c fd ff ff    	push   -0x264(%ebp)
85a792:	ff 15 18 3e d8 00    	call   *0xd83e18
85a798:	8b 85 90 fd ff ff    	mov    -0x270(%ebp),%eax
85a79e:	a8 04                	test   $0x4,%al
85a7a0:	75 70                	jne    0x85a812
85a7a2:	8d 85 a0 fd ff ff    	lea    -0x260(%ebp),%eax
85a7a8:	50                   	push   %eax
85a7a9:	53                   	push   %ebx
85a7aa:	ff 15 2c 36 d8 00    	call   *0xd8362c
85a7b0:	83 f8 ff             	cmp    $0xffffffff,%eax
85a7b3:	74 5d                	je     0x85a812
85a7b5:	50                   	push   %eax
85a7b6:	ff 15 48 36 d8 00    	call   *0xd83648
85a7bc:	8b 85 98 fd ff ff    	mov    -0x268(%ebp),%eax
85a7c2:	85 c0                	test   %eax,%eax
85a7c4:	74 a8                	je     0x85a76e
85a7c6:	3b 85 9c fd ff ff    	cmp    -0x264(%ebp),%eax
85a7cc:	76 a0                	jbe    0x85a76e
85a7ce:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
85a7d4:	50                   	push   %eax
85a7d5:	e8 b2 a3 bb ff       	call   0x414b8c
85a7da:	8b 95 98 fd ff ff    	mov    -0x268(%ebp),%edx
85a7e0:	2b 95 9c fd ff ff    	sub    -0x264(%ebp),%edx
85a7e6:	d1 fa                	sar    $1,%edx
85a7e8:	59                   	pop    %ecx
85a7e9:	03 c2                	add    %edx,%eax
85a7eb:	b9 04 01 00 00       	mov    $0x104,%ecx
85a7f0:	3b c1                	cmp    %ecx,%eax
85a7f2:	7d 31                	jge    0x85a825
85a7f4:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
85a7fa:	2b ca                	sub    %edx,%ecx
85a7fc:	50                   	push   %eax
85a7fd:	51                   	push   %ecx
85a7fe:	ff b5 98 fd ff ff    	push   -0x268(%ebp)
85a804:	e8 62 7e bb ff       	call   0x41266b
85a809:	50                   	push   %eax
85a80a:	e8 1a bf bc ff       	call   0x426729
85a80f:	83 c4 10             	add    $0x10,%esp
85a812:	8d 4e f0             	lea    -0x10(%esi),%ecx
85a815:	e8 fa a3 ba ff       	call   0x404c14
85a81a:	33 c0                	xor    %eax,%eax
85a81c:	40                   	inc    %eax
85a81d:	e8 91 81 bb ff       	call   0x4129b3
85a822:	c2 0c 00             	ret    $0xc
85a825:	85 ff                	test   %edi,%edi
85a827:	0f 84 48 ff ff ff    	je     0x85a775
85a82d:	53                   	push   %ebx
85a82e:	8d 4f 10             	lea    0x10(%edi),%ecx
85a831:	c7 47 08 03 00 00 00 	movl   $0x3,0x8(%edi)
85a838:	e8 4d 8c bb ff       	call   0x41348a
85a83d:	e9 33 ff ff ff       	jmp    0x85a775
85a842:	cc                   	int3
85a843:	cc                   	int3
85a844:	cc                   	int3
85a845:	cc                   	int3
85a846:	cc                   	int3
85a847:	cc                   	int3
85a848:	cc                   	int3
85a849:	cc                   	int3
85a84a:	cc                   	int3
85a84b:	cc                   	int3
85a84c:	cc                   	int3
85a84d:	cc                   	int3