438a7b:	ff 75 14             	push   0x14(%ebp)
438a7e:	ff 75 10             	push   0x10(%ebp)
438a81:	ff 75 0c             	push   0xc(%ebp)
438a84:	50                   	push   %eax
438a85:	e8 c5 24 00 00       	call   0x43af4f
438a8a:	6a 02                	push   $0x2
438a8c:	5e                   	pop    %esi
438a8d:	8b 08                	mov    (%eax),%ecx
438a8f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
438a92:	8b 40 04             	mov    0x4(%eax),%eax
438a95:	89 75 ec             	mov    %esi,-0x14(%ebp)
438a98:	eb 7c                	jmp    0x438b16
438a9a:	8b 75 ec             	mov    -0x14(%ebp),%esi
438a9d:	83 fe 02             	cmp    $0x2,%esi
438aa0:	75 28                	jne    0x438aca
438aa2:	8b 75 24             	mov    0x24(%ebp),%esi
438aa5:	8d 45 14             	lea    0x14(%ebp),%eax
438aa8:	53                   	push   %ebx
438aa9:	83 c6 10             	add    $0x10,%esi
438aac:	56                   	push   %esi
438aad:	6a 0c                	push   $0xc
438aaf:	6a 01                	push   $0x1
438ab1:	50                   	push   %eax
438ab2:	8d 45 0c             	lea    0xc(%ebp),%eax
438ab5:	50                   	push   %eax
438ab6:	ff 75 f0             	push   -0x10(%ebp)
438ab9:	e8 e4 a7 ff ff       	call   0x4332a2
438abe:	09 07                	or     %eax,(%edi)
438ac0:	83 c4 1c             	add    $0x1c,%esp
438ac3:	ff 0e                	decl   (%esi)
438ac5:	e9 81 00 00 00       	jmp    0x438b4b
438aca:	8b 45 24             	mov    0x24(%ebp),%eax
438acd:	83 fe 01             	cmp    $0x1,%esi
438ad0:	75 1f                	jne    0x438af1
438ad2:	53                   	push   %ebx
438ad3:	83 c0 0c             	add    $0xc,%eax
438ad6:	50                   	push   %eax
438ad7:	6a 1f                	push   $0x1f
438ad9:	56                   	push   %esi
438ada:	8d 45 14             	lea    0x14(%ebp),%eax
438add:	50                   	push   %eax
438ade:	8d 45 0c             	lea    0xc(%ebp),%eax
438ae1:	50                   	push   %eax
438ae2:	ff 75 f0             	push   -0x10(%ebp)
438ae5:	e8 b8 a7 ff ff       	call   0x4332a2
438aea:	83 c4 1c             	add    $0x1c,%esp
438aed:	09 07                	or     %eax,(%edi)
438aef:	eb 5a                	jmp    0x438b4b
438af1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438af4:	50                   	push   %eax
438af5:	57                   	push   %edi
438af6:	ff 75 1c             	push   0x1c(%ebp)
438af9:	8d 45 e0             	lea    -0x20(%ebp),%eax
438afc:	ff 75 18             	push   0x18(%ebp)
438aff:	ff 75 14             	push   0x14(%ebp)
438b02:	ff 75 10             	push   0x10(%ebp)
438b05:	ff 75 0c             	push   0xc(%ebp)
438b08:	50                   	push   %eax
438b09:	e8 21 25 00 00       	call   0x43b02f
438b0e:	8b 08                	mov    (%eax),%ecx
438b10:	89 4d 0c             	mov    %ecx,0xc(%ebp)
438b13:	8b 40 04             	mov    0x4(%eax),%eax
438b16:	89 45 10             	mov    %eax,0x10(%ebp)
438b19:	eb 30                	jmp    0x438b4b
438b1b:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438b1f:	75 08                	jne    0x438b29
438b21:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438b24:	e8 6c 39 fe ff       	call   0x41c495
438b29:	8b 03                	mov    (%ebx),%eax
438b2b:	ff 75 12             	push   0x12(%ebp)
438b2e:	6a 48                	push   $0x48
438b30:	8b 70 10             	mov    0x10(%eax),%esi
438b33:	8b ce                	mov    %esi,%ecx
438b35:	ff 15 54 43 49 00    	call   *0x494354
438b3b:	8b cb                	mov    %ebx,%ecx
438b3d:	ff d6                	call   *%esi
438b3f:	84 c0                	test   %al,%al
438b41:	74 18                	je     0x438b5b
438b43:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438b46:	e8 84 22 fe ff       	call   0x41adcf
438b4b:	8d 45 14             	lea    0x14(%ebp),%eax
438b4e:	50                   	push   %eax
438b4f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438b52:	e8 9d 80 fe ff       	call   0x420bf4
438b57:	84 c0                	test   %al,%al
438b59:	74 c0                	je     0x438b1b
438b5b:	8d 45 14             	lea    0x14(%ebp),%eax
438b5e:	50                   	push   %eax
438b5f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438b62:	e8 8d 80 fe ff       	call   0x420bf4
438b67:	84 c0                	test   %al,%al
438b69:	75 61                	jne    0x438bcc
438b6b:	38 45 10             	cmp    %al,0x10(%ebp)
438b6e:	75 08                	jne    0x438b78
438b70:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438b73:	e8 1d 39 fe ff       	call   0x41c495
438b78:	8b 03                	mov    (%ebx),%eax
438b7a:	6a 00                	push   $0x0
438b7c:	ff 75 12             	push   0x12(%ebp)
438b7f:	8b 70 38             	mov    0x38(%eax),%esi
438b82:	8b ce                	mov    %esi,%ecx
438b84:	ff 15 54 43 49 00    	call   *0x494354
438b8a:	8b cb                	mov    %ebx,%ecx
438b8c:	ff d6                	call   *%esi
438b8e:	3c 3a                	cmp    $0x3a,%al
438b90:	74 32                	je     0x438bc4
438b92:	3c 2c                	cmp    $0x2c,%al
438b94:	74 2e                	je     0x438bc4
438b96:	3c 2f                	cmp    $0x2f,%al
438b98:	75 32                	jne    0x438bcc
438b9a:	eb 28                	jmp    0x438bc4
438b9c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438ba0:	75 08                	jne    0x438baa
438ba2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438ba5:	e8 eb 38 fe ff       	call   0x41c495
438baa:	8b 03                	mov    (%ebx),%eax
438bac:	ff 75 12             	push   0x12(%ebp)
438baf:	6a 48                	push   $0x48
438bb1:	8b 70 10             	mov    0x10(%eax),%esi
438bb4:	8b ce                	mov    %esi,%ecx
438bb6:	ff 15 54 43 49 00    	call   *0x494354
438bbc:	8b cb                	mov    %ebx,%ecx
438bbe:	ff d6                	call   *%esi
438bc0:	84 c0                	test   %al,%al
438bc2:	74 18                	je     0x438bdc
438bc4:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438bc7:	e8 03 22 fe ff       	call   0x41adcf
438bcc:	8d 45 14             	lea    0x14(%ebp),%eax
438bcf:	50                   	push   %eax
438bd0:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438bd3:	e8 1c 80 fe ff       	call   0x420bf4
438bd8:	84 c0                	test   %al,%al
438bda:	74 c0                	je     0x438b9c
438bdc:	8d 45 14             	lea    0x14(%ebp),%eax
438bdf:	50                   	push   %eax
438be0:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438be3:	e8 0c 80 fe ff       	call   0x420bf4
438be8:	84 c0                	test   %al,%al
438bea:	0f 85 f7 00 00 00    	jne    0x438ce7
438bf0:	38 45 10             	cmp    %al,0x10(%ebp)
438bf3:	75 08                	jne    0x438bfd
438bf5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438bf8:	e8 98 38 fe ff       	call   0x41c495
438bfd:	8b 03                	mov    (%ebx),%eax
438bff:	ff 75 12             	push   0x12(%ebp)
438c02:	6a 04                	push   $0x4
438c04:	8b 70 10             	mov    0x10(%eax),%esi
438c07:	8b ce                	mov    %esi,%ecx
438c09:	ff 15 54 43 49 00    	call   *0x494354
438c0f:	8b cb                	mov    %ebx,%ecx
438c11:	ff d6                	call   *%esi
438c13:	8b 75 ec             	mov    -0x14(%ebp),%esi
438c16:	84 c0                	test   %al,%al
438c18:	75 4b                	jne    0x438c65
438c1a:	83 fe 02             	cmp    $0x2,%esi
438c1d:	75 07                	jne    0x438c26
438c1f:	09 37                	or     %esi,(%edi)
438c21:	e9 c1 00 00 00       	jmp    0x438ce7
438c26:	ff 75 24             	push   0x24(%ebp)
438c29:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438c2c:	8d 45 e0             	lea    -0x20(%ebp),%eax
438c2f:	57                   	push   %edi
438c30:	ff 75 1c             	push   0x1c(%ebp)
438c33:	ff 75 18             	push   0x18(%ebp)
438c36:	ff 75 14             	push   0x14(%ebp)
438c39:	ff 75 10             	push   0x10(%ebp)
438c3c:	ff 75 0c             	push   0xc(%ebp)
438c3f:	50                   	push   %eax
438c40:	e8 0a 23 00 00       	call   0x43af4f
438c45:	8b 08                	mov    (%eax),%ecx
438c47:	89 4d 0c             	mov    %ecx,0xc(%ebp)
438c4a:	8b 40 04             	mov    0x4(%eax),%eax
438c4d:	89 45 10             	mov    %eax,0x10(%ebp)
438c50:	83 fe 04             	cmp    $0x4,%esi
438c53:	0f 85 8e 00 00 00    	jne    0x438ce7
438c59:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
438c60:	e9 82 00 00 00       	jmp    0x438ce7
438c65:	83 fe 01             	cmp    $0x1,%esi
438c68:	74 28                	je     0x438c92
438c6a:	83 fe 03             	cmp    $0x3,%esi
438c6d:	74 23                	je     0x438c92
438c6f:	8b 45 24             	mov    0x24(%ebp),%eax
438c72:	53                   	push   %ebx
438c73:	83 c0 0c             	add    $0xc,%eax
438c76:	50                   	push   %eax
438c77:	6a 1f                	push   $0x1f
438c79:	6a 01                	push   $0x1
438c7b:	8d 45 14             	lea    0x14(%ebp),%eax
438c7e:	50                   	push   %eax
438c7f:	8d 45 0c             	lea    0xc(%ebp),%eax
438c82:	50                   	push   %eax
438c83:	ff 75 f0             	push   -0x10(%ebp)
438c86:	e8 17 a6 ff ff       	call   0x4332a2
438c8b:	83 c4 1c             	add    $0x1c,%esp
438c8e:	09 07                	or     %eax,(%edi)
438c90:	eb 55                	jmp    0x438ce7
438c92:	8b 75 24             	mov    0x24(%ebp),%esi
438c95:	8d 45 14             	lea    0x14(%ebp),%eax
438c98:	53                   	push   %ebx
438c99:	83 c6 10             	add    $0x10,%esi
438c9c:	56                   	push   %esi
438c9d:	6a 0c                	push   $0xc
438c9f:	6a 01                	push   $0x1
438ca1:	50                   	push   %eax
438ca2:	8d 45 0c             	lea    0xc(%ebp),%eax
438ca5:	50                   	push   %eax
438ca6:	ff 75 f0             	push   -0x10(%ebp)
438ca9:	e8 f4 a5 ff ff       	call   0x4332a2
438cae:	09 07                	or     %eax,(%edi)
438cb0:	83 c4 1c             	add    $0x1c,%esp
438cb3:	ff 0e                	decl   (%esi)
438cb5:	eb 30                	jmp    0x438ce7
438cb7:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438cbb:	75 08                	jne    0x438cc5
438cbd:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438cc0:	e8 d0 37 fe ff       	call   0x41c495
438cc5:	8b 03                	mov    (%ebx),%eax
438cc7:	ff 75 12             	push   0x12(%ebp)
438cca:	6a 48                	push   $0x48
438ccc:	8b 70 10             	mov    0x10(%eax),%esi
438ccf:	8b ce                	mov    %esi,%ecx
438cd1:	ff 15 54 43 49 00    	call   *0x494354
438cd7:	8b cb                	mov    %ebx,%ecx
438cd9:	ff d6                	call   *%esi
438cdb:	84 c0                	test   %al,%al
438cdd:	74 18                	je     0x438cf7
438cdf:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438ce2:	e8 e8 20 fe ff       	call   0x41adcf
438ce7:	8d 45 14             	lea    0x14(%ebp),%eax
438cea:	50                   	push   %eax
438ceb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438cee:	e8 01 7f fe ff       	call   0x420bf4
438cf3:	84 c0                	test   %al,%al
438cf5:	74 c0                	je     0x438cb7
438cf7:	8d 45 14             	lea    0x14(%ebp),%eax
438cfa:	50                   	push   %eax
438cfb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438cfe:	e8 f1 7e fe ff       	call   0x420bf4
438d03:	84 c0                	test   %al,%al
438d05:	75 61                	jne    0x438d68
438d07:	38 45 10             	cmp    %al,0x10(%ebp)
438d0a:	75 08                	jne    0x438d14
438d0c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d0f:	e8 81 37 fe ff       	call   0x41c495
438d14:	8b 03                	mov    (%ebx),%eax
438d16:	6a 00                	push   $0x0
438d18:	ff 75 12             	push   0x12(%ebp)
438d1b:	8b 70 38             	mov    0x38(%eax),%esi
438d1e:	8b ce                	mov    %esi,%ecx
438d20:	ff 15 54 43 49 00    	call   *0x494354
438d26:	8b cb                	mov    %ebx,%ecx
438d28:	ff d6                	call   *%esi
438d2a:	3c 3a                	cmp    $0x3a,%al
438d2c:	74 32                	je     0x438d60
438d2e:	3c 2c                	cmp    $0x2c,%al
438d30:	74 2e                	je     0x438d60
438d32:	3c 2f                	cmp    $0x2f,%al
438d34:	75 32                	jne    0x438d68
438d36:	eb 28                	jmp    0x438d60
438d38:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438d3c:	75 08                	jne    0x438d46
438d3e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d41:	e8 4f 37 fe ff       	call   0x41c495
438d46:	8b 03                	mov    (%ebx),%eax
438d48:	ff 75 12             	push   0x12(%ebp)
438d4b:	6a 48                	push   $0x48
438d4d:	8b 70 10             	mov    0x10(%eax),%esi
438d50:	8b ce                	mov    %esi,%ecx
438d52:	ff 15 54 43 49 00    	call   *0x494354
438d58:	8b cb                	mov    %ebx,%ecx
438d5a:	ff d6                	call   *%esi
438d5c:	84 c0                	test   %al,%al
438d5e:	74 18                	je     0x438d78
438d60:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d63:	e8 67 20 fe ff       	call   0x41adcf
438d68:	8d 45 14             	lea    0x14(%ebp),%eax
438d6b:	50                   	push   %eax
438d6c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d6f:	e8 80 7e fe ff       	call   0x420bf4
438d74:	84 c0                	test   %al,%al
438d76:	74 c0                	je     0x438d38
438d78:	8d 45 14             	lea    0x14(%ebp),%eax
438d7b:	50                   	push   %eax
438d7c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d7f:	e8 70 7e fe ff       	call   0x420bf4
438d84:	84 c0                	test   %al,%al
438d86:	74 08                	je     0x438d90
438d88:	83 0f 02             	orl    $0x2,(%edi)
438d8b:	e9 ce 00 00 00       	jmp    0x438e5e
438d90:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438d94:	75 08                	jne    0x438d9e
438d96:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438d99:	e8 f7 36 fe ff       	call   0x41c495
438d9e:	8b 03                	mov    (%ebx),%eax
438da0:	ff 75 12             	push   0x12(%ebp)
438da3:	6a 04                	push   $0x4
438da5:	8b 70 10             	mov    0x10(%eax),%esi
438da8:	8b ce                	mov    %esi,%ecx
438daa:	ff 15 54 43 49 00    	call   *0x494354
438db0:	8b cb                	mov    %ebx,%ecx
438db2:	ff d6                	call   *%esi
438db4:	84 c0                	test   %al,%al
438db6:	75 27                	jne    0x438ddf
438db8:	83 7d ec 04          	cmpl   $0x4,-0x14(%ebp)
438dbc:	75 ca                	jne    0x438d88
438dbe:	ff 75 24             	push   0x24(%ebp)
438dc1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438dc4:	8d 45 e0             	lea    -0x20(%ebp),%eax
438dc7:	57                   	push   %edi
438dc8:	ff 75 1c             	push   0x1c(%ebp)
438dcb:	ff 75 18             	push   0x18(%ebp)
438dce:	ff 75 14             	push   0x14(%ebp)
438dd1:	ff 75 10             	push   0x10(%ebp)
438dd4:	ff 75 0c             	push   0xc(%ebp)
438dd7:	50                   	push   %eax
438dd8:	e8 72 21 00 00       	call   0x43af4f
438ddd:	eb 74                	jmp    0x438e53
438ddf:	8b 45 ec             	mov    -0x14(%ebp),%eax
438de2:	83 f8 04             	cmp    $0x4,%eax
438de5:	75 25                	jne    0x438e0c
438de7:	8b 75 24             	mov    0x24(%ebp),%esi
438dea:	8d 45 14             	lea    0x14(%ebp),%eax
438ded:	53                   	push   %ebx
438dee:	83 c6 10             	add    $0x10,%esi
438df1:	56                   	push   %esi
438df2:	6a 0c                	push   $0xc
438df4:	6a 01                	push   $0x1
438df6:	50                   	push   %eax
438df7:	8d 45 0c             	lea    0xc(%ebp),%eax
438dfa:	50                   	push   %eax
438dfb:	ff 75 f0             	push   -0x10(%ebp)
438dfe:	e8 9f a4 ff ff       	call   0x4332a2
438e03:	09 07                	or     %eax,(%edi)
438e05:	83 c4 1c             	add    $0x1c,%esp
438e08:	ff 0e                	decl   (%esi)
438e0a:	eb 52                	jmp    0x438e5e
438e0c:	83 f8 03             	cmp    $0x3,%eax
438e0f:	75 23                	jne    0x438e34
438e11:	8b 45 24             	mov    0x24(%ebp),%eax
438e14:	53                   	push   %ebx
438e15:	83 c0 0c             	add    $0xc,%eax
438e18:	50                   	push   %eax
438e19:	6a 1f                	push   $0x1f
438e1b:	6a 01                	push   $0x1
438e1d:	8d 45 14             	lea    0x14(%ebp),%eax
438e20:	50                   	push   %eax
438e21:	8d 45 0c             	lea    0xc(%ebp),%eax
438e24:	50                   	push   %eax
438e25:	ff 75 f0             	push   -0x10(%ebp)
438e28:	e8 75 a4 ff ff       	call   0x4332a2