885678:	c2 04 00             	ret    $0x4
88567b:	cc                   	int3
88567c:	cc                   	int3
88567d:	cc                   	int3
88567e:	cc                   	int3
88567f:	cc                   	int3
885680:	cc                   	int3
885681:	cc                   	int3
885682:	cc                   	int3
885683:	cc                   	int3
885684:	cc                   	int3
885685:	cc                   	int3
885686:	cc                   	int3
885687:	cc                   	int3
885688:	cc                   	int3
885689:	cc                   	int3
88568a:	cc                   	int3
88568b:	cc                   	int3
88568c:	cc                   	int3
88568d:	55                   	push   %ebp
88568e:	8b ec                	mov    %esp,%ebp
885690:	57                   	push   %edi
885691:	8b f9                	mov    %ecx,%edi
885693:	ff 77 20             	push   0x20(%edi)
885696:	ff 15 30 40 d8 00    	call   *0xd84030
88569c:	50                   	push   %eax
88569d:	e8 ec 00 ba ff       	call   0x42578e
8856a2:	8b c8                	mov    %eax,%ecx
8856a4:	e8 a3 4e b8 ff       	call   0x40a54c
8856a9:	a9 00 00 40 00       	test   $0x400000,%eax
8856ae:	74 27                	je     0x8856d7
8856b0:	8b 07                	mov    (%edi),%eax
8856b2:	56                   	push   %esi
8856b3:	8b b0 64 01 00 00    	mov    0x164(%eax),%esi
8856b9:	8b ce                	mov    %esi,%ecx
8856bb:	e8 a5 6f ba ff       	call   0x42c665
8856c0:	8b cf                	mov    %edi,%ecx
8856c2:	ff d6                	call   *%esi
8856c4:	5e                   	pop    %esi
8856c5:	85 c0                	test   %eax,%eax
8856c7:	74 0e                	je     0x8856d7
8856c9:	8b 45 08             	mov    0x8(%ebp),%eax
8856cc:	ff 75 0c             	push   0xc(%ebp)
8856cf:	f7 d8                	neg    %eax
8856d1:	89 45 08             	mov    %eax,0x8(%ebp)
8856d4:	50                   	push   %eax
8856d5:	eb 06                	jmp    0x8856dd
8856d7:	ff 75 0c             	push   0xc(%ebp)
8856da:	ff 75 08             	push   0x8(%ebp)
8856dd:	8d 87 40 01 00 00    	lea    0x140(%edi),%eax
8856e3:	50                   	push   %eax
8856e4:	ff 15 4c 40 d8 00    	call   *0xd8404c
8856ea:	5f                   	pop    %edi
8856eb:	5d                   	pop    %ebp
8856ec:	c2 08 00             	ret    $0x8
8856ef:	cc                   	int3
8856f0:	cc                   	int3
8856f1:	cc                   	int3
8856f2:	cc                   	int3
8856f3:	cc                   	int3
8856f4:	cc                   	int3
8856f5:	cc                   	int3
8856f6:	cc                   	int3
8856f7:	cc                   	int3
8856f8:	cc                   	int3
8856f9:	cc                   	int3
8856fa:	cc                   	int3
8856fb:	cc                   	int3
8856fc:	cc                   	int3
8856fd:	cc                   	int3
8856fe:	cc                   	int3
8856ff:	cc                   	int3
885700:	cc                   	int3
885701:	cc                   	int3
885702:	cc                   	int3
885703:	cc                   	int3
885704:	cc                   	int3
885705:	cc                   	int3
885706:	cc                   	int3
885707:	55                   	push   %ebp
885708:	8b ec                	mov    %esp,%ebp
88570a:	56                   	push   %esi
88570b:	8b f1                	mov    %ecx,%esi
88570d:	57                   	push   %edi
88570e:	8d be 40 01 00 00    	lea    0x140(%esi),%edi
885714:	57                   	push   %edi
885715:	ff 76 20             	push   0x20(%esi)
885718:	ff 15 40 3e d8 00    	call   *0xd83e40
88571e:	8b 07                	mov    (%edi),%eax
885720:	03 45 08             	add    0x8(%ebp),%eax
885723:	ff 76 20             	push   0x20(%esi)
885726:	89 86 48 01 00 00    	mov    %eax,0x148(%esi)
88572c:	8b 86 44 01 00 00    	mov    0x144(%esi),%eax
885732:	03 45 0c             	add    0xc(%ebp),%eax
885735:	89 86 4c 01 00 00    	mov    %eax,0x14c(%esi)
88573b:	ff 15 30 40 d8 00    	call   *0xd84030
885741:	50                   	push   %eax
885742:	e8 47 00 ba ff       	call   0x42578e
885747:	85 c0                	test   %eax,%eax
885749:	74 17                	je     0x885762
88574b:	57                   	push   %edi
88574c:	ff 76 20             	push   0x20(%esi)
88574f:	ff 15 30 40 d8 00    	call   *0xd84030
885755:	50                   	push   %eax
885756:	e8 33 00 ba ff       	call   0x42578e
88575b:	8b c8                	mov    %eax,%ecx
88575d:	e8 02 17 b9 ff       	call   0x416e64
885762:	5f                   	pop    %edi
885763:	5e                   	pop    %esi
885764:	5d                   	pop    %ebp
885765:	c2 08 00             	ret    $0x8
885768:	cc                   	int3
885769:	cc                   	int3
88576a:	cc                   	int3
88576b:	cc                   	int3
88576c:	cc                   	int3
88576d:	cc                   	int3
88576e:	cc                   	int3
88576f:	cc                   	int3
885770:	cc                   	int3
885771:	cc                   	int3
885772:	cc                   	int3
885773:	cc                   	int3
885774:	cc                   	int3
885775:	cc                   	int3
885776:	cc                   	int3
885777:	cc                   	int3
885778:	cc                   	int3
885779:	cc                   	int3
88577a:	cc                   	int3
88577b:	cc                   	int3
88577c:	cc                   	int3
88577d:	cc                   	int3
88577e:	cc                   	int3
88577f:	cc                   	int3
885780:	55                   	push   %ebp
885781:	8b ec                	mov    %esp,%ebp
885783:	51                   	push   %ecx
885784:	51                   	push   %ecx
885785:	53                   	push   %ebx
885786:	8b d9                	mov    %ecx,%ebx
885788:	56                   	push   %esi
885789:	57                   	push   %edi
88578a:	8d 83 40 01 00 00    	lea    0x140(%ebx),%eax
885790:	50                   	push   %eax
885791:	ff 73 20             	push   0x20(%ebx)
885794:	ff 15 40 3e d8 00    	call   *0xd83e40
88579a:	8b 3b                	mov    (%ebx),%edi
88579c:	8b b7 64 01 00 00    	mov    0x164(%edi),%esi
8857a2:	8b ce                	mov    %esi,%ecx
8857a4:	e8 bc 6e ba ff       	call   0x42c665
8857a9:	8b cb                	mov    %ebx,%ecx
8857ab:	ff d6                	call   *%esi
8857ad:	8b b7 60 02 00 00    	mov    0x260(%edi),%esi
8857b3:	8b ce                	mov    %esi,%ecx
8857b5:	50                   	push   %eax
8857b6:	6a 00                	push   $0x0
8857b8:	8d 45 f8             	lea    -0x8(%ebp),%eax
8857bb:	50                   	push   %eax
8857bc:	e8 a4 6e ba ff       	call   0x42c665
8857c1:	8b cb                	mov    %ebx,%ecx
8857c3:	ff d6                	call   *%esi
8857c5:	ff 73 20             	push   0x20(%ebx)
8857c8:	8d b3 40 01 00 00    	lea    0x140(%ebx),%esi
8857ce:	8b 06                	mov    (%esi),%eax
8857d0:	03 45 f8             	add    -0x8(%ebp),%eax
8857d3:	89 83 48 01 00 00    	mov    %eax,0x148(%ebx)
8857d9:	8b 83 44 01 00 00    	mov    0x144(%ebx),%eax
8857df:	03 45 fc             	add    -0x4(%ebp),%eax
8857e2:	89 83 4c 01 00 00    	mov    %eax,0x14c(%ebx)
8857e8:	ff 15 30 40 d8 00    	call   *0xd84030
8857ee:	50                   	push   %eax
8857ef:	e8 9a ff b9 ff       	call   0x42578e
8857f4:	85 c0                	test   %eax,%eax
8857f6:	74 17                	je     0x88580f
8857f8:	56                   	push   %esi
8857f9:	ff 73 20             	push   0x20(%ebx)
8857fc:	ff 15 30 40 d8 00    	call   *0xd84030
885802:	50                   	push   %eax
885803:	e8 86 ff b9 ff       	call   0x42578e
885808:	8b c8                	mov    %eax,%ecx
88580a:	e8 55 16 b9 ff       	call   0x416e64
88580f:	5f                   	pop    %edi
885810:	5e                   	pop    %esi
885811:	5b                   	pop    %ebx
885812:	8b e5                	mov    %ebp,%esp
885814:	5d                   	pop    %ebp
885815:	c3                   	ret
885816:	cc                   	int3
885817:	cc                   	int3
885818:	cc                   	int3
885819:	cc                   	int3
88581a:	cc                   	int3
88581b:	cc                   	int3
88581c:	cc                   	int3
88581d:	cc                   	int3
88581e:	cc                   	int3
88581f:	cc                   	int3
885820:	cc                   	int3
885821:	cc                   	int3
885822:	cc                   	int3
885823:	cc                   	int3
885824:	cc                   	int3
885825:	cc                   	int3
885826:	cc                   	int3
885827:	cc                   	int3
885828:	cc                   	int3
885829:	cc                   	int3
88582a:	cc                   	int3
88582b:	cc                   	int3
88582c:	cc                   	int3
88582d:	cc                   	int3
88582e:	cc                   	int3
88582f:	cc                   	int3
885830:	cc                   	int3
885831:	cc                   	int3
885832:	cc                   	int3
885833:	cc                   	int3
885834:	cc                   	int3
885835:	cc                   	int3
885836:	cc                   	int3
885837:	cc                   	int3
885838:	cc                   	int3
885839:	cc                   	int3
88583a:	cc                   	int3
88583b:	55                   	push   %ebp
88583c:	8b ec                	mov    %esp,%ebp
88583e:	56                   	push   %esi
88583f:	8b 75 14             	mov    0x14(%ebp),%esi
885842:	85 f6                	test   %esi,%esi
885844:	75 04                	jne    0x88584a
885846:	33 c0                	xor    %eax,%eax
885848:	eb 6d                	jmp    0x8858b7
88584a:	8b 45 08             	mov    0x8(%ebp),%eax
88584d:	85 c0                	test   %eax,%eax
88584f:	75 13                	jne    0x885864
885851:	e8 19 90 bb ff       	call   0x43e86f
885856:	6a 16                	push   $0x16
885858:	5e                   	pop    %esi
885859:	89 30                	mov    %esi,(%eax)
88585b:	e8 98 9a b9 ff       	call   0x41f2f8
885860:	8b c6                	mov    %esi,%eax
885862:	eb 53                	jmp    0x8858b7
885864:	57                   	push   %edi
885865:	8b 7d 10             	mov    0x10(%ebp),%edi
885868:	85 ff                	test   %edi,%edi
88586a:	74 14                	je     0x885880
88586c:	39 75 0c             	cmp    %esi,0xc(%ebp)
88586f:	72 0f                	jb     0x885880
885871:	56                   	push   %esi
885872:	57                   	push   %edi
885873:	50                   	push   %eax
885874:	e8 09 ee b8 ff       	call   0x414682
885879:	83 c4 0c             	add    $0xc,%esp
88587c:	33 c0                	xor    %eax,%eax
88587e:	eb 36                	jmp    0x8858b6
885880:	ff 75 0c             	push   0xc(%ebp)
885883:	6a 00                	push   $0x0
885885:	50                   	push   %eax
885886:	e8 2d ef b8 ff       	call   0x4147b8
88588b:	83 c4 0c             	add    $0xc,%esp
88588e:	85 ff                	test   %edi,%edi
885890:	75 09                	jne    0x88589b
885892:	e8 d8 8f bb ff       	call   0x43e86f
885897:	6a 16                	push   $0x16
885899:	eb 0c                	jmp    0x8858a7
88589b:	39 75 0c             	cmp    %esi,0xc(%ebp)
88589e:	73 13                	jae    0x8858b3
8858a0:	e8 ca 8f bb ff       	call   0x43e86f
8858a5:	6a 22                	push   $0x22
8858a7:	5e                   	pop    %esi
8858a8:	89 30                	mov    %esi,(%eax)
8858aa:	e8 49 9a b9 ff       	call   0x41f2f8
8858af:	8b c6                	mov    %esi,%eax
8858b1:	eb 03                	jmp    0x8858b6
8858b3:	6a 16                	push   $0x16
8858b5:	58                   	pop    %eax
8858b6:	5f                   	pop    %edi
8858b7:	5e                   	pop    %esi
8858b8:	5d                   	pop    %ebp
8858b9:	c3                   	ret
8858ba:	cc                   	int3
8858bb:	cc                   	int3
8858bc:	cc                   	int3
8858bd:	cc                   	int3
8858be:	cc                   	int3
8858bf:	cc                   	int3
8858c0:	cc                   	int3
8858c1:	cc                   	int3
8858c2:	cc                   	int3
8858c3:	cc                   	int3
8858c4:	cc                   	int3
8858c5:	cc                   	int3
8858c6:	cc                   	int3
8858c7:	cc                   	int3
8858c8:	cc                   	int3
8858c9:	cc                   	int3
8858ca:	cc                   	int3
8858cb:	cc                   	int3
8858cc:	cc                   	int3
8858cd:	cc                   	int3
8858ce:	cc                   	int3
8858cf:	cc                   	int3
8858d0:	cc                   	int3
8858d1:	cc                   	int3
8858d2:	cc                   	int3
8858d3:	cc                   	int3
8858d4:	cc                   	int3
8858d5:	cc                   	int3
8858d6:	cc                   	int3
8858d7:	cc                   	int3
8858d8:	cc                   	int3
8858d9:	55                   	push   %ebp
8858da:	8b ec                	mov    %esp,%ebp
8858dc:	8b 45 14             	mov    0x14(%ebp),%eax
8858df:	56                   	push   %esi
8858e0:	85 c0                	test   %eax,%eax
8858e2:	74 3c                	je     0x885920
8858e4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8858e8:	75 13                	jne    0x8858fd
8858ea:	e8 80 8f bb ff       	call   0x43e86f
8858ef:	6a 16                	push   $0x16
8858f1:	5e                   	pop    %esi
8858f2:	89 30                	mov    %esi,(%eax)
8858f4:	e8 ff 99 b9 ff       	call   0x41f2f8
8858f9:	8b c6                	mov    %esi,%eax
8858fb:	eb 25                	jmp    0x885922
8858fd:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
885901:	74 e7                	je     0x8858ea
885903:	39 45 0c             	cmp    %eax,0xc(%ebp)
885906:	73 09                	jae    0x885911
885908:	e8 62 8f bb ff       	call   0x43e86f
88590d:	6a 22                	push   $0x22
88590f:	eb e0                	jmp    0x8858f1
885911:	50                   	push   %eax
885912:	ff 75 10             	push   0x10(%ebp)
885915:	ff 75 08             	push   0x8(%ebp)
885918:	e8 65 92 b9 ff       	call   0x41eb82
88591d:	83 c4 0c             	add    $0xc,%esp
885920:	33 c0                	xor    %eax,%eax
885922:	5e                   	pop    %esi
885923:	5d                   	pop    %ebp
885924:	c3                   	ret
885925:	cc                   	int3
885926:	cc                   	int3
885927:	cc                   	int3
885928:	cc                   	int3
885929:	cc                   	int3
88592a:	cc                   	int3
88592b:	cc                   	int3