99a74b:	ff 75 08             	push   0x8(%ebp)
99a74e:	8b ce                	mov    %esi,%ecx
99a750:	e8 25 8a a6 ff       	call   0x40317a
99a755:	5e                   	pop    %esi
99a756:	5d                   	pop    %ebp
99a757:	c2 04 00             	ret    $0x4
99a75a:	cc                   	int3
99a75b:	cc                   	int3
99a75c:	cc                   	int3
99a75d:	cc                   	int3
99a75e:	cc                   	int3
99a75f:	cc                   	int3
99a760:	cc                   	int3
99a761:	cc                   	int3
99a762:	cc                   	int3
99a763:	cc                   	int3
99a764:	cc                   	int3
99a765:	55                   	push   %ebp
99a766:	8b ec                	mov    %esp,%ebp
99a768:	81 c1 c0 00 00 00    	add    $0xc0,%ecx
99a76e:	5d                   	pop    %ebp
99a76f:	e9 ae 13 a7 ff       	jmp    0x40bb22
99a774:	cc                   	int3
99a775:	cc                   	int3
99a776:	cc                   	int3
99a777:	55                   	push   %ebp
99a778:	8b ec                	mov    %esp,%ebp
99a77a:	56                   	push   %esi
99a77b:	8b f1                	mov    %ecx,%esi
99a77d:	57                   	push   %edi
99a77e:	8d be b4 00 00 00    	lea    0xb4(%esi),%edi
99a784:	85 ff                	test   %edi,%edi
99a786:	74 0d                	je     0x99a795
99a788:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
99a78c:	74 07                	je     0x99a795
99a78e:	8b cf                	mov    %edi,%ecx
99a790:	e8 07 39 a8 ff       	call   0x41e09c
99a795:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
99a799:	74 11                	je     0x99a7ac
99a79b:	ff 75 08             	push   0x8(%ebp)
99a79e:	ff 15 74 31 d8 00    	call   *0xd83174
99a7a4:	50                   	push   %eax
99a7a5:	8b cf                	mov    %edi,%ecx
99a7a7:	e8 c6 bd a7 ff       	call   0x416572
99a7ac:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
99a7b0:	74 20                	je     0x99a7d2
99a7b2:	85 f6                	test   %esi,%esi
99a7b4:	74 1c                	je     0x99a7d2
99a7b6:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
99a7ba:	74 16                	je     0x99a7d2
99a7bc:	6a 01                	push   $0x1
99a7be:	6a 00                	push   $0x0
99a7c0:	ff 76 20             	push   0x20(%esi)
99a7c3:	ff 15 e8 3d d8 00    	call   *0xd83de8
99a7c9:	ff 76 20             	push   0x20(%esi)
99a7cc:	ff 15 8c 3f d8 00    	call   *0xd83f8c
99a7d2:	5f                   	pop    %edi
99a7d3:	5e                   	pop    %esi
99a7d4:	5d                   	pop    %ebp
99a7d5:	c2 08 00             	ret    $0x8
99a7d8:	cc                   	int3
99a7d9:	cc                   	int3
99a7da:	cc                   	int3
99a7db:	cc                   	int3
99a7dc:	cc                   	int3
99a7dd:	cc                   	int3
99a7de:	cc                   	int3
99a7df:	cc                   	int3
99a7e0:	cc                   	int3
99a7e1:	cc                   	int3
99a7e2:	cc                   	int3
99a7e3:	cc                   	int3
99a7e4:	cc                   	int3
99a7e5:	cc                   	int3
99a7e6:	cc                   	int3
99a7e7:	cc                   	int3
99a7e8:	cc                   	int3
99a7e9:	cc                   	int3
99a7ea:	cc                   	int3
99a7eb:	cc                   	int3
99a7ec:	cc                   	int3
99a7ed:	cc                   	int3
99a7ee:	cc                   	int3
99a7ef:	cc                   	int3
99a7f0:	55                   	push   %ebp
99a7f1:	8b ec                	mov    %esp,%ebp
99a7f3:	56                   	push   %esi
99a7f4:	8b 75 08             	mov    0x8(%ebp),%esi
99a7f7:	33 c0                	xor    %eax,%eax
99a7f9:	57                   	push   %edi
99a7fa:	8b f9                	mov    %ecx,%edi
99a7fc:	85 f6                	test   %esi,%esi
99a7fe:	74 17                	je     0x99a817
99a800:	e8 2a 3b a9 ff       	call   0x42e32f
99a805:	8b 50 0c             	mov    0xc(%eax),%edx
99a808:	0f b7 c6             	movzwl %si,%eax
99a80b:	50                   	push   %eax
99a80c:	52                   	push   %edx
99a80d:	ff 15 44 40 d8 00    	call   *0xd84044
99a813:	85 c0                	test   %eax,%eax
99a815:	74 13                	je     0x99a82a
99a817:	ff 75 10             	push   0x10(%ebp)
99a81a:	8b cf                	mov    %edi,%ecx
99a81c:	6a 01                	push   $0x1
99a81e:	ff 75 0c             	push   0xc(%ebp)
99a821:	50                   	push   %eax
99a822:	e8 a8 bd a9 ff       	call   0x4365cf
99a827:	33 c0                	xor    %eax,%eax
99a829:	40                   	inc    %eax
99a82a:	5f                   	pop    %edi
99a82b:	5e                   	pop    %esi
99a82c:	5d                   	pop    %ebp
99a82d:	c2 0c 00             	ret    $0xc
99a830:	cc                   	int3
99a831:	cc                   	int3
99a832:	cc                   	int3
99a833:	cc                   	int3
99a834:	cc                   	int3
99a835:	cc                   	int3
99a836:	cc                   	int3
99a837:	cc                   	int3
99a838:	cc                   	int3
99a839:	cc                   	int3
99a83a:	cc                   	int3
99a83b:	cc                   	int3
99a83c:	cc                   	int3
99a83d:	cc                   	int3
99a83e:	cc                   	int3
99a83f:	cc                   	int3
99a840:	55                   	push   %ebp
99a841:	8b ec                	mov    %esp,%ebp
99a843:	83 ec 18             	sub    $0x18,%esp
99a846:	56                   	push   %esi
99a847:	8b f1                	mov    %ecx,%esi
99a849:	57                   	push   %edi
99a84a:	33 ff                	xor    %edi,%edi
99a84c:	39 be c8 00 00 00    	cmp    %edi,0xc8(%esi)
99a852:	74 11                	je     0x99a865
99a854:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
99a85a:	85 c0                	test   %eax,%eax
99a85c:	74 07                	je     0x99a865
99a85e:	50                   	push   %eax
99a85f:	ff 15 78 31 d8 00    	call   *0xd83178
99a865:	8b 45 0c             	mov    0xc(%ebp),%eax
99a868:	8b 4d 08             	mov    0x8(%ebp),%ecx
99a86b:	89 86 bc 00 00 00    	mov    %eax,0xbc(%esi)
99a871:	8b 45 10             	mov    0x10(%ebp),%eax
99a874:	89 8e a8 00 00 00    	mov    %ecx,0xa8(%esi)
99a87a:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
99a880:	85 c9                	test   %ecx,%ecx
99a882:	74 21                	je     0x99a8a5
99a884:	8d 45 e8             	lea    -0x18(%ebp),%eax
99a887:	50                   	push   %eax
99a888:	6a 18                	push   $0x18
99a88a:	51                   	push   %ecx
99a88b:	ff 15 44 32 d8 00    	call   *0xd83244
99a891:	8b 45 ec             	mov    -0x14(%ebp),%eax
99a894:	8b 4d f0             	mov    -0x10(%ebp),%ecx
99a897:	89 86 ac 00 00 00    	mov    %eax,0xac(%esi)
99a89d:	89 8e b0 00 00 00    	mov    %ecx,0xb0(%esi)
99a8a3:	eb 0c                	jmp    0x99a8b1
99a8a5:	89 be ac 00 00 00    	mov    %edi,0xac(%esi)
99a8ab:	89 be b0 00 00 00    	mov    %edi,0xb0(%esi)
99a8b1:	39 7d 14             	cmp    %edi,0x14(%ebp)
99a8b4:	74 1a                	je     0x99a8d0
99a8b6:	39 7e 20             	cmp    %edi,0x20(%esi)
99a8b9:	74 15                	je     0x99a8d0
99a8bb:	6a 01                	push   $0x1
99a8bd:	57                   	push   %edi
99a8be:	ff 76 20             	push   0x20(%esi)
99a8c1:	ff 15 e8 3d d8 00    	call   *0xd83de8
99a8c7:	ff 76 20             	push   0x20(%esi)
99a8ca:	ff 15 8c 3f d8 00    	call   *0xd83f8c
99a8d0:	5f                   	pop    %edi
99a8d1:	5e                   	pop    %esi
99a8d2:	8b e5                	mov    %ebp,%esp
99a8d4:	5d                   	pop    %ebp
99a8d5:	c2 10 00             	ret    $0x10
99a8d8:	cc                   	int3
99a8d9:	cc                   	int3
99a8da:	cc                   	int3
99a8db:	cc                   	int3
99a8dc:	cc                   	int3
99a8dd:	cc                   	int3
99a8de:	cc                   	int3
99a8df:	cc                   	int3
99a8e0:	cc                   	int3
99a8e1:	cc                   	int3
99a8e2:	cc                   	int3
99a8e3:	cc                   	int3
99a8e4:	cc                   	int3
99a8e5:	cc                   	int3
99a8e6:	cc                   	int3
99a8e7:	cc                   	int3
99a8e8:	cc                   	int3
99a8e9:	cc                   	int3
99a8ea:	cc                   	int3
99a8eb:	cc                   	int3
99a8ec:	cc                   	int3
99a8ed:	cc                   	int3
99a8ee:	cc                   	int3
99a8ef:	cc                   	int3
99a8f0:	cc                   	int3
99a8f1:	cc                   	int3
99a8f2:	cc                   	int3
99a8f3:	cc                   	int3
99a8f4:	cc                   	int3
99a8f5:	cc                   	int3
99a8f6:	cc                   	int3
99a8f7:	cc                   	int3
99a8f8:	cc                   	int3
99a8f9:	cc                   	int3
99a8fa:	cc                   	int3
99a8fb:	cc                   	int3
99a8fc:	cc                   	int3
99a8fd:	cc                   	int3
99a8fe:	55                   	push   %ebp
99a8ff:	8b ec                	mov    %esp,%ebp
99a901:	56                   	push   %esi
99a902:	8b 75 14             	mov    0x14(%ebp),%esi
99a905:	85 f6                	test   %esi,%esi
99a907:	75 04                	jne    0x99a90d
99a909:	33 c0                	xor    %eax,%eax
99a90b:	eb 6d                	jmp    0x99a97a
99a90d:	8b 45 08             	mov    0x8(%ebp),%eax
99a910:	85 c0                	test   %eax,%eax
99a912:	75 13                	jne    0x99a927
99a914:	e8 56 3f aa ff       	call   0x43e86f
99a919:	6a 16                	push   $0x16
99a91b:	5e                   	pop    %esi
99a91c:	89 30                	mov    %esi,(%eax)
99a91e:	e8 d5 49 a8 ff       	call   0x41f2f8
99a923:	8b c6                	mov    %esi,%eax
99a925:	eb 53                	jmp    0x99a97a
99a927:	57                   	push   %edi
99a928:	8b 7d 10             	mov    0x10(%ebp),%edi
99a92b:	85 ff                	test   %edi,%edi
99a92d:	74 14                	je     0x99a943
99a92f:	39 75 0c             	cmp    %esi,0xc(%ebp)
99a932:	72 0f                	jb     0x99a943
99a934:	56                   	push   %esi
99a935:	57                   	push   %edi
99a936:	50                   	push   %eax
99a937:	e8 46 9d a7 ff       	call   0x414682
99a93c:	83 c4 0c             	add    $0xc,%esp
99a93f:	33 c0                	xor    %eax,%eax
99a941:	eb 36                	jmp    0x99a979
99a943:	ff 75 0c             	push   0xc(%ebp)
99a946:	6a 00                	push   $0x0
99a948:	50                   	push   %eax
99a949:	e8 6a 9e a7 ff       	call   0x4147b8
99a94e:	83 c4 0c             	add    $0xc,%esp
99a951:	85 ff                	test   %edi,%edi
99a953:	75 09                	jne    0x99a95e
99a955:	e8 15 3f aa ff       	call   0x43e86f
99a95a:	6a 16                	push   $0x16
99a95c:	eb 0c                	jmp    0x99a96a
99a95e:	39 75 0c             	cmp    %esi,0xc(%ebp)
99a961:	73 13                	jae    0x99a976
99a963:	e8 07 3f aa ff       	call   0x43e86f
99a968:	6a 22                	push   $0x22
99a96a:	5e                   	pop    %esi
99a96b:	89 30                	mov    %esi,(%eax)
99a96d:	e8 86 49 a8 ff       	call   0x41f2f8
99a972:	8b c6                	mov    %esi,%eax
99a974:	eb 03                	jmp    0x99a979
99a976:	6a 16                	push   $0x16
99a978:	58                   	pop    %eax
99a979:	5f                   	pop    %edi
99a97a:	5e                   	pop    %esi
99a97b:	5d                   	pop    %ebp
99a97c:	c3                   	ret
99a97d:	cc                   	int3
99a97e:	cc                   	int3
99a97f:	cc                   	int3
99a980:	cc                   	int3
99a981:	cc                   	int3
99a982:	cc                   	int3
99a983:	cc                   	int3
99a984:	cc                   	int3
99a985:	cc                   	int3
99a986:	cc                   	int3
99a987:	cc                   	int3
99a988:	cc                   	int3
99a989:	cc                   	int3
99a98a:	cc                   	int3
99a98b:	cc                   	int3
99a98c:	cc                   	int3
99a98d:	cc                   	int3
99a98e:	cc                   	int3
99a98f:	cc                   	int3
99a990:	cc                   	int3
99a991:	cc                   	int3
99a992:	cc                   	int3
99a993:	cc                   	int3
99a994:	cc                   	int3
99a995:	cc                   	int3
99a996:	cc                   	int3
99a997:	cc                   	int3
99a998:	cc                   	int3
99a999:	cc                   	int3
99a99a:	cc                   	int3
99a99b:	cc                   	int3
99a99c:	55                   	push   %ebp
99a99d:	8b ec                	mov    %esp,%ebp
99a99f:	8b 45 14             	mov    0x14(%ebp),%eax
99a9a2:	56                   	push   %esi
99a9a3:	85 c0                	test   %eax,%eax
99a9a5:	74 3c                	je     0x99a9e3
99a9a7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
99a9ab:	75 13                	jne    0x99a9c0
99a9ad:	e8 bd 3e aa ff       	call   0x43e86f
99a9b2:	6a 16                	push   $0x16
99a9b4:	5e                   	pop    %esi
99a9b5:	89 30                	mov    %esi,(%eax)
99a9b7:	e8 3c 49 a8 ff       	call   0x41f2f8
99a9bc:	8b c6                	mov    %esi,%eax
99a9be:	eb 25                	jmp    0x99a9e5
99a9c0:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
99a9c4:	74 e7                	je     0x99a9ad
99a9c6:	39 45 0c             	cmp    %eax,0xc(%ebp)
99a9c9:	73 09                	jae    0x99a9d4
99a9cb:	e8 9f 3e aa ff       	call   0x43e86f
99a9d0:	6a 22                	push   $0x22
99a9d2:	eb e0                	jmp    0x99a9b4
99a9d4:	50                   	push   %eax
99a9d5:	ff 75 10             	push   0x10(%ebp)
99a9d8:	ff 75 08             	push   0x8(%ebp)
99a9db:	e8 a2 41 a8 ff       	call   0x41eb82
99a9e0:	83 c4 0c             	add    $0xc,%esp
99a9e3:	33 c0                	xor    %eax,%eax
99a9e5:	5e                   	pop    %esi
99a9e6:	5d                   	pop    %ebp
99a9e7:	c3                   	ret
99a9e8:	cc                   	int3
99a9e9:	cc                   	int3
99a9ea:	cc                   	int3
99a9eb:	cc                   	int3
99a9ec:	cc                   	int3
99a9ed:	cc                   	int3
99a9ee:	cc                   	int3
99a9ef:	cc                   	int3
99a9f0:	cc                   	int3
99a9f1:	cc                   	int3
99a9f2:	cc                   	int3
99a9f3:	cc                   	int3
99a9f4:	cc                   	int3
99a9f5:	cc                   	int3
99a9f6:	cc                   	int3
99a9f7:	cc                   	int3