8358a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
8358ab:	53                   	push   %ebx
8358ac:	8b 5d 0c             	mov    0xc(%ebp),%ebx
8358af:	56                   	push   %esi
8358b0:	8b f1                	mov    %ecx,%esi
8358b2:	57                   	push   %edi
8358b3:	8b 7d 08             	mov    0x8(%ebp),%edi
8358b6:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
8358ba:	74 32                	je     0x8358ee
8358bc:	6a 00                	push   $0x0
8358be:	57                   	push   %edi
8358bf:	e8 a3 04 bd ff       	call   0x405d67
8358c4:	8b f8                	mov    %eax,%edi
8358c6:	85 ff                	test   %edi,%edi
8358c8:	74 49                	je     0x835913
8358ca:	6a 04                	push   $0x4
8358cc:	8d 45 10             	lea    0x10(%ebp),%eax
8358cf:	50                   	push   %eax
8358d0:	6a 04                	push   $0x4
8358d2:	6a 00                	push   $0x0
8358d4:	53                   	push   %ebx
8358d5:	57                   	push   %edi
8358d6:	ff 15 54 30 d8 00    	call   *0xd83054
8358dc:	57                   	push   %edi
8358dd:	8b f0                	mov    %eax,%esi
8358df:	ff 15 34 30 d8 00    	call   *0xd83034
8358e5:	33 c0                	xor    %eax,%eax
8358e7:	85 f6                	test   %esi,%esi
8358e9:	0f 94 c0             	sete   %al
8358ec:	eb 25                	jmp    0x835913
8358ee:	ff 75 10             	push   0x10(%ebp)
8358f1:	8d 45 dc             	lea    -0x24(%ebp),%eax
8358f4:	68 f0 5e c3 00       	push   $0xc35ef0
8358f9:	6a 10                	push   $0x10
8358fb:	50                   	push   %eax
8358fc:	e8 43 c5 bf ff       	call   0x431e44
835901:	83 c4 10             	add    $0x10,%esp
835904:	8d 45 dc             	lea    -0x24(%ebp),%eax
835907:	ff 76 6c             	push   0x6c(%esi)
83590a:	50                   	push   %eax
83590b:	53                   	push   %ebx
83590c:	57                   	push   %edi
83590d:	ff 15 b4 37 d8 00    	call   *0xd837b4
835913:	8b 4d fc             	mov    -0x4(%ebp),%ecx
835916:	5f                   	pop    %edi
835917:	5e                   	pop    %esi
835918:	33 cd                	xor    %ebp,%ecx
83591a:	5b                   	pop    %ebx
83591b:	e8 96 5e be ff       	call   0x41b7b6
835920:	8b e5                	mov    %ebp,%esp
835922:	5d                   	pop    %ebp
835923:	c2 0c 00             	ret    $0xc
835926:	cc                   	int3
835927:	cc                   	int3
835928:	cc                   	int3
835929:	cc                   	int3
83592a:	cc                   	int3
83592b:	cc                   	int3
83592c:	cc                   	int3
83592d:	cc                   	int3
83592e:	cc                   	int3
83592f:	cc                   	int3
835930:	cc                   	int3
835931:	cc                   	int3
835932:	cc                   	int3
835933:	cc                   	int3
835934:	cc                   	int3
835935:	cc                   	int3
835936:	cc                   	int3
835937:	cc                   	int3
835938:	cc                   	int3
835939:	cc                   	int3
83593a:	cc                   	int3
83593b:	cc                   	int3
83593c:	cc                   	int3
83593d:	cc                   	int3
83593e:	cc                   	int3
83593f:	cc                   	int3
835940:	cc                   	int3
835941:	cc                   	int3
835942:	cc                   	int3
835943:	cc                   	int3
835944:	cc                   	int3
835945:	cc                   	int3
835946:	cc                   	int3
835947:	cc                   	int3
835948:	55                   	push   %ebp
835949:	8b ec                	mov    %esp,%ebp
83594b:	53                   	push   %ebx
83594c:	33 c0                	xor    %eax,%eax
83594e:	56                   	push   %esi
83594f:	57                   	push   %edi
835950:	39 41 58             	cmp    %eax,0x58(%ecx)
835953:	74 77                	je     0x8359cc
835955:	8b 7d 0c             	mov    0xc(%ebp),%edi
835958:	50                   	push   %eax
835959:	85 ff                	test   %edi,%edi
83595b:	75 1c                	jne    0x835979
83595d:	e8 8d 87 c0 ff       	call   0x43e0ef
835962:	8b f0                	mov    %eax,%esi
835964:	85 f6                	test   %esi,%esi
835966:	75 04                	jne    0x83596c
835968:	33 c0                	xor    %eax,%eax
83596a:	eb 72                	jmp    0x8359de
83596c:	ff 75 08             	push   0x8(%ebp)
83596f:	56                   	push   %esi
835970:	ff 15 18 30 d8 00    	call   *0xd83018
835976:	56                   	push   %esi
835977:	eb 42                	jmp    0x8359bb
835979:	ff 75 08             	push   0x8(%ebp)
83597c:	8b 75 10             	mov    0x10(%ebp),%esi
83597f:	e8 e3 03 bd ff       	call   0x405d67
835984:	85 f6                	test   %esi,%esi
835986:	75 10                	jne    0x835998
835988:	8b f0                	mov    %eax,%esi
83598a:	85 f6                	test   %esi,%esi
83598c:	74 da                	je     0x835968
83598e:	57                   	push   %edi
83598f:	56                   	push   %esi
835990:	ff 15 4c 30 d8 00    	call   *0xd8304c
835996:	eb de                	jmp    0x835976
835998:	8b d8                	mov    %eax,%ebx
83599a:	85 db                	test   %ebx,%ebx
83599c:	74 ca                	je     0x835968
83599e:	56                   	push   %esi
83599f:	e8 e8 f1 bd ff       	call   0x414b8c
8359a4:	59                   	pop    %ecx
8359a5:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
8359ac:	50                   	push   %eax
8359ad:	56                   	push   %esi
8359ae:	6a 01                	push   $0x1
8359b0:	6a 00                	push   $0x0
8359b2:	57                   	push   %edi
8359b3:	53                   	push   %ebx
8359b4:	ff 15 54 30 d8 00    	call   *0xd83054
8359ba:	53                   	push   %ebx
8359bb:	8b f8                	mov    %eax,%edi
8359bd:	ff 15 34 30 d8 00    	call   *0xd83034
8359c3:	33 c0                	xor    %eax,%eax
8359c5:	85 ff                	test   %edi,%edi
8359c7:	0f 94 c0             	sete   %al
8359ca:	eb 12                	jmp    0x8359de
8359cc:	ff 71 6c             	push   0x6c(%ecx)
8359cf:	ff 75 10             	push   0x10(%ebp)
8359d2:	ff 75 0c             	push   0xc(%ebp)
8359d5:	ff 75 08             	push   0x8(%ebp)
8359d8:	ff 15 b4 37 d8 00    	call   *0xd837b4
8359de:	5f                   	pop    %edi
8359df:	5e                   	pop    %esi
8359e0:	5b                   	pop    %ebx
8359e1:	5d                   	pop    %ebp
8359e2:	c2 0c 00             	ret    $0xc
8359e5:	cc                   	int3
8359e6:	cc                   	int3
8359e7:	cc                   	int3
8359e8:	cc                   	int3
8359e9:	cc                   	int3
8359ea:	cc                   	int3
8359eb:	cc                   	int3
8359ec:	cc                   	int3
8359ed:	cc                   	int3
8359ee:	cc                   	int3
8359ef:	cc                   	int3
8359f0:	cc                   	int3
8359f1:	cc                   	int3
8359f2:	cc                   	int3
8359f3:	cc                   	int3
8359f4:	cc                   	int3
8359f5:	cc                   	int3
8359f6:	cc                   	int3
8359f7:	cc                   	int3
8359f8:	cc                   	int3
8359f9:	cc                   	int3
8359fa:	cc                   	int3
8359fb:	cc                   	int3
8359fc:	cc                   	int3
8359fd:	cc                   	int3
8359fe:	cc                   	int3
8359ff:	cc                   	int3
835a00:	cc                   	int3
835a01:	cc                   	int3
835a02:	cc                   	int3
835a03:	cc                   	int3
835a04:	cc                   	int3
835a05:	cc                   	int3
835a06:	cc                   	int3
835a07:	cc                   	int3
835a08:	cc                   	int3
835a09:	cc                   	int3
835a0a:	cc                   	int3
835a0b:	cc                   	int3
835a0c:	55                   	push   %ebp
835a0d:	8b ec                	mov    %esp,%ebp
835a0f:	56                   	push   %esi
835a10:	8b 75 14             	mov    0x14(%ebp),%esi
835a13:	85 f6                	test   %esi,%esi
835a15:	75 04                	jne    0x835a1b
835a17:	33 c0                	xor    %eax,%eax
835a19:	eb 6d                	jmp    0x835a88
835a1b:	8b 45 08             	mov    0x8(%ebp),%eax
835a1e:	85 c0                	test   %eax,%eax
835a20:	75 13                	jne    0x835a35
835a22:	e8 48 8e c0 ff       	call   0x43e86f
835a27:	6a 16                	push   $0x16
835a29:	5e                   	pop    %esi
835a2a:	89 30                	mov    %esi,(%eax)
835a2c:	e8 c7 98 be ff       	call   0x41f2f8
835a31:	8b c6                	mov    %esi,%eax
835a33:	eb 53                	jmp    0x835a88
835a35:	57                   	push   %edi
835a36:	8b 7d 10             	mov    0x10(%ebp),%edi
835a39:	85 ff                	test   %edi,%edi
835a3b:	74 14                	je     0x835a51
835a3d:	39 75 0c             	cmp    %esi,0xc(%ebp)
835a40:	72 0f                	jb     0x835a51
835a42:	56                   	push   %esi
835a43:	57                   	push   %edi
835a44:	50                   	push   %eax
835a45:	e8 38 ec bd ff       	call   0x414682
835a4a:	83 c4 0c             	add    $0xc,%esp
835a4d:	33 c0                	xor    %eax,%eax
835a4f:	eb 36                	jmp    0x835a87
835a51:	ff 75 0c             	push   0xc(%ebp)
835a54:	6a 00                	push   $0x0
835a56:	50                   	push   %eax
835a57:	e8 5c ed bd ff       	call   0x4147b8
835a5c:	83 c4 0c             	add    $0xc,%esp
835a5f:	85 ff                	test   %edi,%edi
835a61:	75 09                	jne    0x835a6c
835a63:	e8 07 8e c0 ff       	call   0x43e86f
835a68:	6a 16                	push   $0x16
835a6a:	eb 0c                	jmp    0x835a78
835a6c:	39 75 0c             	cmp    %esi,0xc(%ebp)
835a6f:	73 13                	jae    0x835a84
835a71:	e8 f9 8d c0 ff       	call   0x43e86f
835a76:	6a 22                	push   $0x22
835a78:	5e                   	pop    %esi
835a79:	89 30                	mov    %esi,(%eax)
835a7b:	e8 78 98 be ff       	call   0x41f2f8
835a80:	8b c6                	mov    %esi,%eax
835a82:	eb 03                	jmp    0x835a87
835a84:	6a 16                	push   $0x16
835a86:	58                   	pop    %eax
835a87:	5f                   	pop    %edi
835a88:	5e                   	pop    %esi
835a89:	5d                   	pop    %ebp
835a8a:	c3                   	ret
835a8b:	cc                   	int3
835a8c:	cc                   	int3
835a8d:	cc                   	int3
835a8e:	cc                   	int3
835a8f:	cc                   	int3
835a90:	cc                   	int3
835a91:	cc                   	int3
835a92:	cc                   	int3
835a93:	cc                   	int3
835a94:	cc                   	int3
835a95:	cc                   	int3
835a96:	cc                   	int3
835a97:	cc                   	int3
835a98:	cc                   	int3
835a99:	cc                   	int3
835a9a:	cc                   	int3
835a9b:	cc                   	int3
835a9c:	cc                   	int3
835a9d:	cc                   	int3
835a9e:	cc                   	int3
835a9f:	cc                   	int3
835aa0:	cc                   	int3
835aa1:	cc                   	int3
835aa2:	cc                   	int3
835aa3:	cc                   	int3
835aa4:	cc                   	int3
835aa5:	cc                   	int3
835aa6:	cc                   	int3
835aa7:	cc                   	int3
835aa8:	cc                   	int3
835aa9:	cc                   	int3
835aaa:	55                   	push   %ebp
835aab:	8b ec                	mov    %esp,%ebp
835aad:	8b 45 14             	mov    0x14(%ebp),%eax
835ab0:	56                   	push   %esi
835ab1:	85 c0                	test   %eax,%eax
835ab3:	74 3c                	je     0x835af1
835ab5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
835ab9:	75 13                	jne    0x835ace
835abb:	e8 af 8d c0 ff       	call   0x43e86f
835ac0:	6a 16                	push   $0x16
835ac2:	5e                   	pop    %esi
835ac3:	89 30                	mov    %esi,(%eax)
835ac5:	e8 2e 98 be ff       	call   0x41f2f8
835aca:	8b c6                	mov    %esi,%eax
835acc:	eb 25                	jmp    0x835af3
835ace:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
835ad2:	74 e7                	je     0x835abb
835ad4:	39 45 0c             	cmp    %eax,0xc(%ebp)
835ad7:	73 09                	jae    0x835ae2
835ad9:	e8 91 8d c0 ff       	call   0x43e86f
835ade:	6a 22                	push   $0x22
835ae0:	eb e0                	jmp    0x835ac2
835ae2:	50                   	push   %eax
835ae3:	ff 75 10             	push   0x10(%ebp)
835ae6:	ff 75 08             	push   0x8(%ebp)
835ae9:	e8 94 90 be ff       	call   0x41eb82
835aee:	83 c4 0c             	add    $0xc,%esp
835af1:	33 c0                	xor    %eax,%eax
835af3:	5e                   	pop    %esi
835af4:	5d                   	pop    %ebp
835af5:	c3                   	ret
835af6:	cc                   	int3
835af7:	cc                   	int3
835af8:	cc                   	int3
835af9:	cc                   	int3
835afa:	cc                   	int3
835afb:	cc                   	int3
835afc:	cc                   	int3
835afd:	cc                   	int3
835afe:	cc                   	int3
835aff:	cc                   	int3
835b00:	cc                   	int3
835b01:	cc                   	int3
835b02:	cc                   	int3
835b03:	cc                   	int3
835b04:	cc                   	int3
835b05:	cc                   	int3
835b06:	cc                   	int3
835b07:	cc                   	int3
835b08:	cc                   	int3
835b09:	55                   	push   %ebp
835b0a:	8b ec                	mov    %esp,%ebp
835b0c:	56                   	push   %esi
835b0d:	ff 75 08             	push   0x8(%ebp)
835b10:	8b f1                	mov    %ecx,%esi
835b12:	e8 fd 40 bd ff       	call   0x409c14
835b17:	8b c6                	mov    %esi,%eax
835b19:	5e                   	pop    %esi
835b1a:	5d                   	pop    %ebp
835b1b:	c2 04 00             	ret    $0x4
835b1e:	cc                   	int3
835b1f:	cc                   	int3
835b20:	cc                   	int3
835b21:	cc                   	int3
835b22:	cc                   	int3
835b23:	6a 04                	push   $0x4
835b25:	b8 ec 99 b9 00       	mov    $0xb999ec,%eax
835b2a:	e8 5c 47 bd ff       	call   0x40a28b
835b2f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
835b32:	33 f6                	xor    %esi,%esi
835b34:	8b cb                	mov    %ebx,%ecx
835b36:	89 75 fc             	mov    %esi,-0x4(%ebp)