8c49a7:	8b f1                	mov    %ecx,%esi
8c49a9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8c49ad:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
8c49b1:	8b 7e 08             	mov    0x8(%esi),%edi
8c49b4:	8b 47 08             	mov    0x8(%edi),%eax
8c49b7:	83 e8 10             	sub    $0x10,%eax
8c49ba:	50                   	push   %eax
8c49bb:	e8 6e 7b b7 ff       	call   0x43c52e
8c49c0:	8b 5d 08             	mov    0x8(%ebp),%ebx
8c49c3:	83 c0 10             	add    $0x10,%eax
8c49c6:	59                   	pop    %ecx
8c49c7:	89 03                	mov    %eax,(%ebx)
8c49c9:	8b 47 04             	mov    0x4(%edi),%eax
8c49cc:	33 c9                	xor    %ecx,%ecx
8c49ce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
8c49d1:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
8c49d8:	89 46 08             	mov    %eax,0x8(%esi)
8c49db:	85 c0                	test   %eax,%eax
8c49dd:	74 04                	je     0x8c49e3
8c49df:	89 08                	mov    %ecx,(%eax)
8c49e1:	eb 03                	jmp    0x8c49e6
8c49e3:	89 4e 04             	mov    %ecx,0x4(%esi)
8c49e6:	57                   	push   %edi
8c49e7:	8b ce                	mov    %esi,%ecx
8c49e9:	e8 12 24 b5 ff       	call   0x416e00
8c49ee:	8b c3                	mov    %ebx,%eax
8c49f0:	e8 22 9a b4 ff       	call   0x40e417
8c49f5:	c2 04 00             	ret    $0x4
8c49f8:	cc                   	int3
8c49f9:	cc                   	int3
8c49fa:	cc                   	int3
8c49fb:	cc                   	int3
8c49fc:	cc                   	int3
8c49fd:	cc                   	int3
8c49fe:	cc                   	int3
8c49ff:	cc                   	int3
8c4a00:	cc                   	int3
8c4a01:	cc                   	int3
8c4a02:	cc                   	int3
8c4a03:	cc                   	int3
8c4a04:	cc                   	int3
8c4a05:	cc                   	int3
8c4a06:	cc                   	int3
8c4a07:	cc                   	int3
8c4a08:	cc                   	int3
8c4a09:	cc                   	int3
8c4a0a:	cc                   	int3
8c4a0b:	cc                   	int3
8c4a0c:	cc                   	int3
8c4a0d:	cc                   	int3
8c4a0e:	cc                   	int3
8c4a0f:	6a 04                	push   $0x4
8c4a11:	b8 e9 21 ba 00       	mov    $0xba21e9,%eax
8c4a16:	e8 70 58 b4 ff       	call   0x40a28b
8c4a1b:	8b f1                	mov    %ecx,%esi
8c4a1d:	8b 7d 08             	mov    0x8(%ebp),%edi
8c4a20:	8b cf                	mov    %edi,%ecx
8c4a22:	8b 47 18             	mov    0x18(%edi),%eax
8c4a25:	f7 d0                	not    %eax
8c4a27:	a8 01                	test   $0x1,%al
8c4a29:	74 20                	je     0x8c4a4b
8c4a2b:	ff 76 0c             	push   0xc(%esi)
8c4a2e:	e8 6d 5b b5 ff       	call   0x41a5a0
8c4a33:	8b 76 04             	mov    0x4(%esi),%esi
8c4a36:	eb 0d                	jmp    0x8c4a45
8c4a38:	8d 46 08             	lea    0x8(%esi),%eax
8c4a3b:	8b cf                	mov    %edi,%ecx
8c4a3d:	50                   	push   %eax
8c4a3e:	e8 86 f6 b4 ff       	call   0x4140c9
8c4a43:	8b 36                	mov    (%esi),%esi
8c4a45:	85 f6                	test   %esi,%esi
8c4a47:	75 ef                	jne    0x8c4a38
8c4a49:	eb 43                	jmp    0x8c4a8e
8c4a4b:	e8 94 ff b3 ff       	call   0x4049e4
8c4a50:	8b d8                	mov    %eax,%ebx
8c4a52:	e8 be 1b b7 ff       	call   0x436615
8c4a57:	50                   	push   %eax
8c4a58:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8c4a5b:	e8 b4 51 b4 ff       	call   0x409c14
8c4a60:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8c4a64:	85 db                	test   %ebx,%ebx
8c4a66:	74 1b                	je     0x8c4a83
8c4a68:	8d 45 f0             	lea    -0x10(%ebp),%eax
8c4a6b:	8b cf                	mov    %edi,%ecx
8c4a6d:	50                   	push   %eax
8c4a6e:	e8 cd bf b5 ff       	call   0x420a40
8c4a73:	8d 45 f0             	lea    -0x10(%ebp),%eax
8c4a76:	8b ce                	mov    %esi,%ecx
8c4a78:	50                   	push   %eax
8c4a79:	e8 da 6c b4 ff       	call   0x40b758
8c4a7e:	83 eb 01             	sub    $0x1,%ebx
8c4a81:	75 e5                	jne    0x8c4a68
8c4a83:	8b 4d f0             	mov    -0x10(%ebp),%ecx
8c4a86:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8c4a89:	e8 86 01 b4 ff       	call   0x404c14
8c4a8e:	e8 84 99 b4 ff       	call   0x40e417
8c4a93:	c2 04 00             	ret    $0x4
8c4a96:	cc                   	int3
8c4a97:	cc                   	int3
8c4a98:	cc                   	int3
8c4a99:	cc                   	int3
8c4a9a:	cc                   	int3
8c4a9b:	cc                   	int3
8c4a9c:	cc                   	int3
8c4a9d:	cc                   	int3
8c4a9e:	cc                   	int3
8c4a9f:	cc                   	int3
8c4aa0:	cc                   	int3
8c4aa1:	cc                   	int3
8c4aa2:	cc                   	int3
8c4aa3:	cc                   	int3
8c4aa4:	cc                   	int3
8c4aa5:	cc                   	int3
8c4aa6:	cc                   	int3
8c4aa7:	cc                   	int3
8c4aa8:	cc                   	int3
8c4aa9:	cc                   	int3
8c4aaa:	cc                   	int3
8c4aab:	cc                   	int3
8c4aac:	cc                   	int3
8c4aad:	cc                   	int3
8c4aae:	cc                   	int3
8c4aaf:	cc                   	int3
8c4ab0:	cc                   	int3
8c4ab1:	cc                   	int3
8c4ab2:	cc                   	int3
8c4ab3:	cc                   	int3
8c4ab4:	cc                   	int3
8c4ab5:	cc                   	int3
8c4ab6:	cc                   	int3
8c4ab7:	55                   	push   %ebp
8c4ab8:	8b ec                	mov    %esp,%ebp
8c4aba:	56                   	push   %esi
8c4abb:	8b 75 14             	mov    0x14(%ebp),%esi
8c4abe:	85 f6                	test   %esi,%esi
8c4ac0:	75 04                	jne    0x8c4ac6
8c4ac2:	33 c0                	xor    %eax,%eax
8c4ac4:	eb 6d                	jmp    0x8c4b33
8c4ac6:	8b 45 08             	mov    0x8(%ebp),%eax
8c4ac9:	85 c0                	test   %eax,%eax
8c4acb:	75 13                	jne    0x8c4ae0
8c4acd:	e8 9d 9d b7 ff       	call   0x43e86f
8c4ad2:	6a 16                	push   $0x16
8c4ad4:	5e                   	pop    %esi
8c4ad5:	89 30                	mov    %esi,(%eax)
8c4ad7:	e8 1c a8 b5 ff       	call   0x41f2f8
8c4adc:	8b c6                	mov    %esi,%eax
8c4ade:	eb 53                	jmp    0x8c4b33
8c4ae0:	57                   	push   %edi
8c4ae1:	8b 7d 10             	mov    0x10(%ebp),%edi
8c4ae4:	85 ff                	test   %edi,%edi
8c4ae6:	74 14                	je     0x8c4afc
8c4ae8:	39 75 0c             	cmp    %esi,0xc(%ebp)
8c4aeb:	72 0f                	jb     0x8c4afc
8c4aed:	56                   	push   %esi
8c4aee:	57                   	push   %edi
8c4aef:	50                   	push   %eax
8c4af0:	e8 8d fb b4 ff       	call   0x414682
8c4af5:	83 c4 0c             	add    $0xc,%esp
8c4af8:	33 c0                	xor    %eax,%eax
8c4afa:	eb 36                	jmp    0x8c4b32
8c4afc:	ff 75 0c             	push   0xc(%ebp)
8c4aff:	6a 00                	push   $0x0
8c4b01:	50                   	push   %eax
8c4b02:	e8 b1 fc b4 ff       	call   0x4147b8
8c4b07:	83 c4 0c             	add    $0xc,%esp
8c4b0a:	85 ff                	test   %edi,%edi
8c4b0c:	75 09                	jne    0x8c4b17
8c4b0e:	e8 5c 9d b7 ff       	call   0x43e86f
8c4b13:	6a 16                	push   $0x16
8c4b15:	eb 0c                	jmp    0x8c4b23
8c4b17:	39 75 0c             	cmp    %esi,0xc(%ebp)
8c4b1a:	73 13                	jae    0x8c4b2f
8c4b1c:	e8 4e 9d b7 ff       	call   0x43e86f
8c4b21:	6a 22                	push   $0x22
8c4b23:	5e                   	pop    %esi
8c4b24:	89 30                	mov    %esi,(%eax)
8c4b26:	e8 cd a7 b5 ff       	call   0x41f2f8
8c4b2b:	8b c6                	mov    %esi,%eax
8c4b2d:	eb 03                	jmp    0x8c4b32
8c4b2f:	6a 16                	push   $0x16
8c4b31:	58                   	pop    %eax
8c4b32:	5f                   	pop    %edi
8c4b33:	5e                   	pop    %esi
8c4b34:	5d                   	pop    %ebp
8c4b35:	c3                   	ret
8c4b36:	cc                   	int3
8c4b37:	cc                   	int3
8c4b38:	cc                   	int3
8c4b39:	cc                   	int3
8c4b3a:	cc                   	int3
8c4b3b:	cc                   	int3
8c4b3c:	cc                   	int3
8c4b3d:	cc                   	int3
8c4b3e:	cc                   	int3
8c4b3f:	cc                   	int3
8c4b40:	cc                   	int3
8c4b41:	cc                   	int3
8c4b42:	cc                   	int3
8c4b43:	cc                   	int3
8c4b44:	cc                   	int3
8c4b45:	cc                   	int3
8c4b46:	cc                   	int3
8c4b47:	cc                   	int3
8c4b48:	cc                   	int3
8c4b49:	cc                   	int3
8c4b4a:	cc                   	int3
8c4b4b:	cc                   	int3
8c4b4c:	cc                   	int3
8c4b4d:	cc                   	int3
8c4b4e:	cc                   	int3
8c4b4f:	cc                   	int3
8c4b50:	cc                   	int3
8c4b51:	cc                   	int3
8c4b52:	cc                   	int3
8c4b53:	cc                   	int3
8c4b54:	cc                   	int3
8c4b55:	55                   	push   %ebp
8c4b56:	8b ec                	mov    %esp,%ebp
8c4b58:	8b 45 14             	mov    0x14(%ebp),%eax
8c4b5b:	56                   	push   %esi
8c4b5c:	85 c0                	test   %eax,%eax
8c4b5e:	74 3c                	je     0x8c4b9c
8c4b60:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8c4b64:	75 13                	jne    0x8c4b79
8c4b66:	e8 04 9d b7 ff       	call   0x43e86f
8c4b6b:	6a 16                	push   $0x16
8c4b6d:	5e                   	pop    %esi
8c4b6e:	89 30                	mov    %esi,(%eax)
8c4b70:	e8 83 a7 b5 ff       	call   0x41f2f8
8c4b75:	8b c6                	mov    %esi,%eax
8c4b77:	eb 25                	jmp    0x8c4b9e
8c4b79:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
8c4b7d:	74 e7                	je     0x8c4b66
8c4b7f:	39 45 0c             	cmp    %eax,0xc(%ebp)
8c4b82:	73 09                	jae    0x8c4b8d
8c4b84:	e8 e6 9c b7 ff       	call   0x43e86f
8c4b89:	6a 22                	push   $0x22
8c4b8b:	eb e0                	jmp    0x8c4b6d
8c4b8d:	50                   	push   %eax
8c4b8e:	ff 75 10             	push   0x10(%ebp)
8c4b91:	ff 75 08             	push   0x8(%ebp)
8c4b94:	e8 e9 9f b5 ff       	call   0x41eb82
8c4b99:	83 c4 0c             	add    $0xc,%esp
8c4b9c:	33 c0                	xor    %eax,%eax
8c4b9e:	5e                   	pop    %esi
8c4b9f:	5d                   	pop    %ebp
8c4ba0:	c3                   	ret
8c4ba1:	cc                   	int3
8c4ba2:	cc                   	int3
8c4ba3:	cc                   	int3
8c4ba4:	cc                   	int3
8c4ba5:	cc                   	int3
8c4ba6:	cc                   	int3
8c4ba7:	cc                   	int3
8c4ba8:	cc                   	int3
8c4ba9:	cc                   	int3
8c4baa:	cc                   	int3
8c4bab:	cc                   	int3
8c4bac:	cc                   	int3
8c4bad:	cc                   	int3
8c4bae:	cc                   	int3
8c4baf:	cc                   	int3
8c4bb0:	cc                   	int3
8c4bb1:	cc                   	int3
8c4bb2:	cc                   	int3
8c4bb3:	cc                   	int3
8c4bb4:	55                   	push   %ebp
8c4bb5:	8b ec                	mov    %esp,%ebp
8c4bb7:	51                   	push   %ecx
8c4bb8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8c4bbb:	53                   	push   %ebx
8c4bbc:	56                   	push   %esi
8c4bbd:	57                   	push   %edi
8c4bbe:	8b 7d 10             	mov    0x10(%ebp),%edi
8c4bc1:	85 ff                	test   %edi,%edi
8c4bc3:	74 08                	je     0x8c4bcd
8c4bc5:	85 c9                	test   %ecx,%ecx
8c4bc7:	0f 84 81 00 00 00    	je     0x8c4c4e
8c4bcd:	8b 55 08             	mov    0x8(%ebp),%edx
8c4bd0:	8b 42 18             	mov    0x18(%edx),%eax
8c4bd3:	f7 d0                	not    %eax
8c4bd5:	a8 01                	test   $0x1,%al
8c4bd7:	74 37                	je     0x8c4c10
8c4bd9:	85 ff                	test   %edi,%edi
8c4bdb:	74 68                	je     0x8c4c45
8c4bdd:	bb aa aa aa 0a       	mov    $0xaaaaaaa,%ebx
8c4be2:	3b fb                	cmp    %ebx,%edi
8c4be4:	73 07                	jae    0x8c4bed
8c4be6:	8b c7                	mov    %edi,%eax
8c4be8:	89 45 fc             	mov    %eax,-0x4(%ebp)
8c4beb:	eb 05                	jmp    0x8c4bf2
8c4bed:	8b c3                	mov    %ebx,%eax
8c4bef:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8c4bf2:	6b f0 0c             	imul   $0xc,%eax,%esi
8c4bf5:	56                   	push   %esi
8c4bf6:	51                   	push   %ecx
8c4bf7:	8b ca                	mov    %edx,%ecx
8c4bf9:	e8 a8 2e b7 ff       	call   0x437aa6
8c4bfe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8c4c01:	8b 55 08             	mov    0x8(%ebp),%edx
8c4c04:	03 ce                	add    %esi,%ecx
8c4c06:	89 4d 0c             	mov    %ecx,0xc(%ebp)
8c4c09:	2b 7d fc             	sub    -0x4(%ebp),%edi
8c4c0c:	75 d4                	jne    0x8c4be2
8c4c0e:	eb 35                	jmp    0x8c4c45
8c4c10:	85 ff                	test   %edi,%edi
8c4c12:	74 31                	je     0x8c4c45
8c4c14:	bb aa aa aa 0a       	mov    $0xaaaaaaa,%ebx
8c4c19:	3b fb                	cmp    %ebx,%edi
8c4c1b:	73 07                	jae    0x8c4c24
8c4c1d:	8b c7                	mov    %edi,%eax
8c4c1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
8c4c22:	eb 05                	jmp    0x8c4c29
8c4c24:	8b c3                	mov    %ebx,%eax
8c4c26:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8c4c29:	6b f0 0c             	imul   $0xc,%eax,%esi
8c4c2c:	56                   	push   %esi
8c4c2d:	51                   	push   %ecx
8c4c2e:	8b ca                	mov    %edx,%ecx
8c4c30:	e8 52 9e b6 ff       	call   0x42ea87
8c4c35:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8c4c38:	8b 55 08             	mov    0x8(%ebp),%edx
8c4c3b:	03 ce                	add    %esi,%ecx
8c4c3d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
8c4c40:	2b 7d fc             	sub    -0x4(%ebp),%edi
8c4c43:	75 d4                	jne    0x8c4c19
8c4c45:	5f                   	pop    %edi
8c4c46:	5e                   	pop    %esi
8c4c47:	5b                   	pop    %ebx
8c4c48:	8b e5                	mov    %ebp,%esp
8c4c4a:	5d                   	pop    %ebp
8c4c4b:	c2 0c 00             	ret    $0xc
8c4c4e:	e8 13 d3 b6 ff       	call   0x431f66
8c4c53:	cc                   	int3
8c4c54:	cc                   	int3
8c4c55:	cc                   	int3
8c4c56:	cc                   	int3
8c4c57:	cc                   	int3
8c4c58:	cc                   	int3
8c4c59:	cc                   	int3
8c4c5a:	cc                   	int3
8c4c5b:	cc                   	int3
8c4c5c:	cc                   	int3
8c4c5d:	cc                   	int3
8c4c5e:	cc                   	int3
8c4c5f:	cc                   	int3
8c4c60:	cc                   	int3
8c4c61:	cc                   	int3
8c4c62:	cc                   	int3